decomp: entity-h, camera-h, cam-update-h and cam-interface[-h] (#501)

* waiting for `entity-camera` / `entity-ambient` issue

* stash

* add missing definitions

* decomp: `cam-interface`

* as far as i can get with `path-h`, how do you specify pointers on the stack?

* correction, no way these are just simple integers but `etype`is still a mystery...

* decomp: `camera-h` | `cam-interface` | `cam-interface-h` and `entity-h`

* revert change to `process` doesn't seem likely
This commit is contained in:
Tyler Wilding
2021-06-02 20:09:04 -04:00
committed by GitHub
parent 2b3c4d957a
commit 2bfe13d0be
14 changed files with 2533 additions and 275 deletions
+1 -1
View File
@@ -52,7 +52,7 @@ tasks:
- ./out/build/Release/bin/offline-test.exe "./iso_data/jak1"
update-reference-tests:
cmds:
- ./out/build/Debug/bin/offline-test.exe "./iso_data/jak1" --dump-mode
- ./out/build/Release/bin/offline-test.exe "./iso_data/jak1" --dump-mode
- python .\scripts\update_decomp_reference.py .\failures\ .\test\decompiler\reference\
- task: offline-tests
+268 -274
View File
@@ -751,7 +751,6 @@
;; - Types
(declare-type connectable structure)
(declare-type entity basic)
(define-extern process type) ; deftype provided by C Kernel
(deftype process (process-tree)
((pool dead-pool :offset-assert #x20)
@@ -8881,13 +8880,12 @@
(data-base pointer :offset-assert 12)
(data-top pointer :offset-assert 16)
(data-size int32 :offset-assert 20)
(extra basic :offset-assert 24)
(extra basic :offset-assert 24) ;; NOTE - can be anything it seems
(tag (pointer res-tag) :offset-assert 28)
)
:method-count-assert 22
:size-assert #x20
:flag-assert #x1600000020
;; field extra is a basic loaded with a signed load
(:methods
(new (symbol type int int) _type_ 0)
(get-property-data (_type_ symbol symbol float pointer (pointer res-tag) pointer) pointer 9)
@@ -12471,113 +12469,83 @@
)
)
; (deftype entity-perm-array (inline-array-class)
; ((length int32 :offset-assert 4)
; (allocated-length int32 :offset-assert 8)
; (data UNKNOWN :dynamic :offset-assert 16)
; )
; :method-count-assert 9
; :size-assert #x10
; :flag-assert #x900000010
; )
(deftype entity-perm-array (inline-array-class)
()
:method-count-assert 9
:size-assert #x10
:flag-assert #x900000010
)
; (deftype entity-links-array (inline-array-class)
; ((length int32 :offset-assert 4)
; (allocated-length int32 :offset-assert 8)
; (data UNKNOWN :dynamic :offset-assert 16)
; )
; :method-count-assert 9
; :size-assert #x10
; :flag-assert #x900000010
; )
(deftype entity-links-array (inline-array-class)
()
:method-count-assert 9
:size-assert #x10
:flag-assert #x900000010
)
; (deftype entity (res-lump)
; ()
; :method-count-assert 27
; :size-assert #x34
; :flag-assert #x1b00000034
; ;; unrecognized get op: (set! t9 find-parent-method) parent was res-lump
; (:methods
; (dummy-9 () none 9)
; (dummy-10 () none 10)
; (dummy-11 () none 11)
; (dummy-12 () none 12)
; (dummy-13 () none 13)
; (dummy-14 () none 14)
; (dummy-15 () none 15)
; (dummy-16 () none 16)
; (dummy-17 () none 17)
; (dummy-18 () none 18)
; (dummy-19 () none 19)
; (dummy-20 () none 20)
; (dummy-21 () none 21)
; (dummy-22 () none 22)
; (dummy-23 () none 23)
; (dummy-24 () none 24)
; (dummy-25 () none 25)
; (dummy-26 () none 26)
; )
; )
(deftype entity (res-lump)
(
(trans vector :inline :offset-assert 32)
(aid uint32 :offset-assert 48) ; prints with ~A but other entity types use uint32 :shrug: for now
)
:method-count-assert 27
:size-assert #x34
:flag-assert #x1b00000034
;; unrecognized get op: (set! t9 find-parent-method) parent was res-lump
(:methods
(dummy-22 () none 22)
(dummy-23 () none 23)
(dummy-24 () none 24)
(dummy-25 () none 25)
(dummy-26 () none 26)
)
)
; (deftype entity-ambient-data (structure)
; ((user-object UNKNOWN 3 :offset-assert 0)
; (function basic :offset-assert 12)
; (quad uint128 :offset-assert 0)
; (user-uint64 UNKNOWN 1 :offset-assert 0)
; (user-float UNKNOWN 3 :offset-assert 0)
; (user-int32 UNKNOWN 3 :offset-assert 0)
; (user-uint32 UNKNOWN 3 :offset-assert 0)
; (user-int16 UNKNOWN 6 :offset-assert 0)
; (user-uint16 UNKNOWN 6 :offset-assert 0)
; (user-int8 UNKNOWN 12 :offset-assert 0)
; (user-uint8 UNKNOWN 12 :offset-assert 0)
; )
; :method-count-assert 9
; :size-assert #x10
; :flag-assert #x900000010
; )
(deftype entity-ambient-data (structure)
((user-object object 3 :offset-assert 0)
(function basic :offset-assert 12)
(quad uint128 :offset 0)
(user-uint64 uint64 1 :offset 0)
(user-float float 3 :offset 0)
(user-int32 int32 3 :offset 0)
(user-uint32 uint32 3 :offset 0)
(user-int16 int16 6 :offset 0)
(user-uint16 uint16 6 :offset 0)
(user-int8 int8 12 :offset 0)
(user-uint8 uint8 12 :offset 0)
)
:method-count-assert 9
:size-assert #x10
:flag-assert #x900000010
)
; (deftype entity-ambient-data-array (inline-array-class)
; ((length int32 :offset-assert 4)
; (allocated-length int32 :offset-assert 8)
; (data UNKNOWN :dynamic :offset-assert 16)
; )
; :method-count-assert 9
; :size-assert #x10
; :flag-assert #x900000010
; )
(deftype entity-ambient-data-array (inline-array-class)
()
:method-count-assert 9
:size-assert #x10
:flag-assert #x900000010
)
; (deftype entity-actor (entity)
; ()
; :method-count-assert 31
; :size-assert #x50
; :flag-assert #x1f00000050
; ;; unrecognized get op: (set! t9 find-parent-method) parent was entity
; (:methods
; (dummy-9 () none 9)
; (dummy-10 () none 10)
; (dummy-11 () none 11)
; (dummy-12 () none 12)
; (dummy-13 () none 13)
; (dummy-14 () none 14)
; (dummy-15 () none 15)
; (dummy-16 () none 16)
; (dummy-17 () none 17)
; (dummy-18 () none 18)
; (dummy-19 () none 19)
; (dummy-20 () none 20)
; (dummy-21 () none 21)
; (dummy-22 () none 22)
; (dummy-23 () none 23)
; (dummy-24 () none 24)
; (dummy-25 () none 25)
; (dummy-26 () none 26)
; (dummy-27 () none 27)
; (dummy-28 () none 28)
; (dummy-29 () none 29)
; (dummy-30 () none 30)
; )
; )
(declare-type nav-mesh basic)
(deftype entity-actor (entity)
(
(nav-mesh nav-mesh :offset-assert 52)
(etype basic :offset-assert 56)
(task uint8 :offset-assert 60)
(vis-id uint16 :offset-assert 62)
(quat quaternion :inline :offset-assert 64)
)
:method-count-assert 31
:size-assert #x50
:flag-assert #x1f00000050
;; unrecognized get op: (set! t9 find-parent-method) parent was entity
(:methods
(dummy-27 () none 27)
(dummy-28 () none 28)
(dummy-29 () none 29)
(dummy-30 () none 30)
)
)
(deftype entity-info (basic)
((ptype basic :offset-assert 4)
@@ -12601,18 +12569,35 @@
:flag-assert #x900000010
)
(deftype entity-ambient (entity)
()
:method-count-assert 29
:size-assert #x34
:flag-assert #x1d00000034
(:methods
(dummy-27 () none 27)
(dummy-28 () none 28)
)
)
(deftype entity-camera (entity)
(
(connect connectable :inline :offset-assert 64)
)
:method-count-assert 27
:size-assert #x50
:flag-assert #x1b00000050
(:methods
)
)
;; - Symbols
(define-extern entity-nav-login function)
(define-extern entity-camera type)
(define-extern entity-ambient type)
;; - Unknowns
;;(define-extern *generate-actor-vis* object) ;; unknown type
;;(define-extern *generate-actor-vis-start* object) ;; unknown type
;;(define-extern *generate-actor-vis-output* object) ;; unknown type
;;(define-extern *ACTOR-bank* object) ;; unknown type
(define-extern entity-nav-login function) ;; only called in `level` in an asm function...tough, returns nothing
(define-extern *generate-actor-vis-start* symbol)
(define-extern *ACTOR-bank* actor-bank)
(define-extern *generate-actor-vis-output* symbol)
(define-extern *generate-actor-vis* symbol)
;; ----------------------
@@ -13044,13 +13029,16 @@
;; - Symbols
(define-extern entity-actor-count function)
(define-extern entity-actor-lookup function)
(define-extern entity-by-name function)
(define-extern entity-by-aid function)
(define-extern actor-link-subtask-complete-hook function)
(define-extern actor-link-dead-hook function)
(define-extern alt-actor-list-subtask-incomplete-count function)
;; - Functions
(define-extern entity-actor-lookup (function entity symbol int process-drawable)) ;; NOTE - return value is not confirmed
;; ----------------------
;; File - camera-h
@@ -13060,22 +13048,22 @@
;; - Types
; (deftype camera-bank (basic)
; ((collide-move-rad float :offset-assert 4)
; (joypad uint32 :offset-assert 8)
; (min-detectable-velocity float :offset-assert 12)
; (attack-timeout uint64 :offset-assert 16)
; (default-string-max-y meters :offset-assert 24)
; (default-string-min-y meters :offset-assert 28)
; (default-string-max-z meters :offset-assert 32)
; (default-string-min-z meters :offset-assert 36)
; (default-string-push-z meters :offset-assert 40)
; (default-tilt-adjust deg :offset-assert 44)
; )
; :method-count-assert 9
; :size-assert #x30
; :flag-assert #x900000030
; )
(deftype camera-bank (basic)
((collide-move-rad float :offset-assert 4)
(joypad uint32 :offset-assert 8)
(min-detectable-velocity float :offset-assert 12)
(attack-timeout uint64 :offset-assert 16)
(default-string-max-y float :offset-assert 24) ; meters
(default-string-min-y float :offset-assert 28) ; meters
(default-string-max-z float :offset-assert 32) ; meters
(default-string-min-z float :offset-assert 36) ; meters
(default-string-push-z float :offset-assert 40) ; meters
(default-tilt-adjust float :offset-assert 44) ; deg
)
:method-count-assert 9
:size-assert #x30
:flag-assert #x900000030
)
(deftype cam-index (structure)
((flags uint32 :offset-assert 0)
@@ -13162,10 +13150,10 @@
:size-assert #x18
:flag-assert #xd00000018
(:methods
(dummy-9 () none 9)
(dummy-10 () none 10)
(dummy-11 () none 11)
(dummy-12 () none 12)
(init-cam-float-seeker (_type_ float float float float) none 9)
(copy-cam-float-seeker (_type_ _type_) none 10)
(TODO-RENAME-11 (_type_ float) none 11)
(TODO-RENAME-12 (_type_ float) float 12)
)
)
@@ -13181,8 +13169,8 @@
:size-assert #x3c
:flag-assert #xb0000003c
(:methods
(dummy-9 () none 9)
(dummy-10 () none 10)
(TODO-RENAME-9 (_type_ vector float float float) none 9)
(TODO-RENAME-10 (_type_ vector) none 10)
)
)
@@ -13204,18 +13192,18 @@
)
(deftype camera-combiner (process)
((~Ttrans vector :inline :offset-assert 112)
(~Tinv-camera-rot matrix :inline :offset-assert 128)
(~Tfov float :offset-assert 192)
(~Tinterp-val float :offset-assert 196)
(~Tinterp-step float :offset-assert 200)
(~Tdist-from-src float :offset-assert 204)
(~Tdist-from-dest float :offset-assert 208)
(~Tflip-control-axis vector :inline :offset-assert 224)
(~Tvelocity vector :inline :offset-assert 240)
(~Ttracking-status uint64 :offset-assert 256)
(~Ttracking-options int32 :offset-assert 264)
(~Ttracking cam-rotation-tracker :inline :offset-assert 272)
((trans vector :inline :offset-assert 112)
(inv-camera-rot matrix :inline :offset-assert 128)
(fov float :offset-assert 192)
(interp-val float :offset-assert 196)
(interp-step float :offset-assert 200)
(dist-from-src float :offset-assert 204)
(dist-from-dest float :offset-assert 208)
(flip-control-axis vector :inline :offset-assert 224)
(velocity vector :inline :offset-assert 240)
(tracking-status uint64 :offset-assert 256)
(tracking-options int32 :offset-assert 264)
(tracking cam-rotation-tracker :inline :offset-assert 272)
)
:heap-base #x170
:method-count-assert 14
@@ -13225,56 +13213,56 @@
)
(deftype camera-slave (process)
((~Ttrans vector :inline :offset-assert 112)
(~Tfov float :offset-assert 128)
(~Tfov0 float :offset-assert 132)
(~Tfov1 float :offset-assert 136)
(~Tfov-index cam-index :inline :offset-assert 144)
(~Ttracking cam-rotation-tracker :inline :offset-assert 192)
(~Tview-off-param float :offset-assert 400)
(~Tview-off vector :inline :offset-assert 416)
(~Tmin-z-override float :offset-assert 432)
(~Tview-flat vector :inline :offset-assert 448)
(~Tstring-vel-dir uint32 :offset-assert 464)
(~Tstring-trans vector :inline :offset-assert 480)
(~Tposition-spline tracking-spline :inline :offset-assert 496)
(~Tpivot-pt vector :inline :offset-assert 2144)
(~Tpivot-rad float :offset-assert 2160)
(~Tcircular-follow vector :inline :offset-assert 2176)
(~Tmax-angle-offset float :offset-assert 2192)
(~Tmax-angle-curr float :offset-assert 2196)
(~Toptions uint32 :offset-assert 2200)
(~Tcam-entity basic :offset-assert 2204)
(~Tvelocity vector :inline :offset-assert 2208)
(~Tdesired-pos vector :inline :offset-assert 2224)
(~Ttime-dist-too-far uint32 :offset-assert 2240)
(~Tlos-state uint32 :offset-assert 2244)
(~Tgood-point vector :inline :offset-assert 2256)
(~Tlos-tgt-spline-pt int32 :offset-assert 2272)
(~Tlos-tgt-spline-pt-incarnation int32 :offset-assert 2276)
(~Tlos-last-pos vector :inline :offset-assert 2288)
(~Tintro-curve curve :inline :offset-assert 2304)
(~Tintro-offset vector :inline :offset-assert 2336)
(~Tintro-t float :offset-assert 2352)
(~Tintro-t-step float :offset-assert 2356)
(~Toutro-exit-value float :offset-assert 2360)
(~Tspline-exists basic :offset-assert 2364)
(~Tspline-curve curve :inline :offset-assert 2368)
(~Tspline-offset vector :inline :offset-assert 2400)
(~Tindex cam-index :inline :offset-assert 2416)
(~Tsaved-pt vector :inline :offset-assert 2464)
(~Tspline-tt float :offset-assert 2480)
(~Tspline-follow-dist float :offset-assert 2484)
(~Tchange-event-from uint32 :offset-assert 2488)
(~Tenter-has-run basic :offset-assert 2492)
(~Tblend-from-type uint64 :offset-assert 2496)
(~Tblend-to-type uint64 :offset-assert 2504)
(~Thave-phony-joystick basic :offset-assert 2512)
(~Tphony-joystick-x float :offset-assert 2516)
(~Tphony-joystick-y float :offset-assert 2520)
(~Tstring-min-val vector :inline :offset-assert 2528)
(~Tstring-max-val vector :inline :offset-assert 2544)
(~Tstring-val-locked basic :offset-assert 2560)
((trans vector :inline :offset-assert 112)
(fov float :offset-assert 128)
(fov0 float :offset-assert 132)
(fov1 float :offset-assert 136)
(fov-index cam-index :inline :offset-assert 144)
(tracking cam-rotation-tracker :inline :offset-assert 192)
(view-off-param float :offset-assert 400)
(view-off vector :inline :offset-assert 416)
(min-z-override float :offset-assert 432)
(view-flat vector :inline :offset-assert 448)
(string-vel-dir uint32 :offset-assert 464)
(string-trans vector :inline :offset-assert 480)
(position-spline tracking-spline :inline :offset-assert 496)
(pivot-pt vector :inline :offset-assert 2144)
(pivot-rad float :offset-assert 2160)
(circular-follow vector :inline :offset-assert 2176)
(max-angle-offset float :offset-assert 2192)
(max-angle-curr float :offset-assert 2196)
(options uint32 :offset-assert 2200)
(cam-entity basic :offset-assert 2204)
(velocity vector :inline :offset-assert 2208)
(desired-pos vector :inline :offset-assert 2224)
(time-dist-too-far uint32 :offset-assert 2240)
(los-state uint32 :offset-assert 2244)
(good-point vector :inline :offset-assert 2256)
(los-tgt-spline-pt int32 :offset-assert 2272)
(los-tgt-spline-pt-incarnation int32 :offset-assert 2276)
(los-last-pos vector :inline :offset-assert 2288)
(intro-curve curve :inline :offset-assert 2304)
(intro-offset vector :inline :offset-assert 2336)
(intro-t float :offset-assert 2352)
(intro-t-step float :offset-assert 2356)
(outro-exit-value float :offset-assert 2360)
(spline-exists basic :offset-assert 2364)
(spline-curve curve :inline :offset-assert 2368)
(spline-offset vector :inline :offset-assert 2400)
(index cam-index :inline :offset-assert 2416)
(saved-pt vector :inline :offset-assert 2464)
(spline-tt float :offset-assert 2480)
(spline-follow-dist float :offset-assert 2484)
(change-event-from uint32 :offset-assert 2488)
(enter-has-run basic :offset-assert 2492)
(blend-from-type uint64 :offset-assert 2496)
(blend-to-type uint64 :offset-assert 2504)
(have-phony-joystick basic :offset-assert 2512)
(phony-joystick-x float :offset-assert 2516)
(phony-joystick-y float :offset-assert 2520)
(string-min-val vector :inline :offset-assert 2528)
(string-max-val vector :inline :offset-assert 2544)
(string-val-locked basic :offset-assert 2560)
)
:heap-base #x9a0
:method-count-assert 14
@@ -13284,59 +13272,59 @@
)
(deftype camera-master (process)
((~Tmaster-options uint32 :offset-assert 112)
(~Tnum-slaves int32 :offset-assert 116)
(~Tslave basic 2 :offset-assert 120)
(~Tslave-options uint32 :offset-assert 128)
(~Tview-off-param-save float :offset-assert 132)
(~Tchanger uint32 :offset-assert 136)
(~Tcam-entity basic :offset-assert 140)
(~TstringMinLength float :offset-assert 144)
(~TstringMaxLength float :offset-assert 148)
(~TstringMinHeight float :offset-assert 152)
(~TstringMaxHeight float :offset-assert 156)
(~Tstring-min cam-vector-seeker :inline :offset-assert 160)
(~Tstring-max cam-vector-seeker :inline :offset-assert 224)
(~Tstring-push-z float :offset-assert 284)
(~TstringCliffHeight float :offset-assert 288)
(~Tno-intro uint32 :offset-assert 292)
(~Tforce-blend uint32 :offset-assert 296)
(~Tforce-blend-time uint32 :offset-assert 300)
(~Tlocal-down vector :inline :offset-assert 304)
(~Tdrawable-target uint64 :offset-assert 320)
(~Twhich-bone int32 :offset-assert 328)
(~Tpov-handle uint64 :offset-assert 336)
(~Tpov-bone int32 :offset-assert 344)
(~Tbeing-attacked basic :offset-assert 348)
(~Tattack-start uint64 :offset-assert 352)
(~Ton-ground basic :offset-assert 360)
(~Tunder-water int32 :offset-assert 364)
(~Ton-pole basic :offset-assert 368)
(~Ttgt-rot-mat matrix :inline :offset-assert 384)
(~Ttgt-face-mat matrix :inline :offset-assert 448)
(~Ttpos-old vector :inline :offset-assert 512)
(~Ttpos-curr vector :inline :offset-assert 528)
(~Ttarget-height float :offset-assert 544)
(~Ttpos-old-adj vector :inline :offset-assert 560)
(~Ttpos-curr-adj vector :inline :offset-assert 576)
(~Ttpos-tgt vector :inline :offset-assert 592)
(~Tupspeed float :offset-assert 608)
(~Tpitch-off vector :inline :offset-assert 624)
(~Tfoot-offset float :offset-assert 640)
(~Thead-offset float :offset-assert 644)
(~Ttarget-spline tracking-spline :inline :offset-assert 656)
(~Tease-from vector :inline :offset-assert 2304)
(~Tease-t float :offset-assert 2320)
(~Tease-step float :offset-assert 2324)
(~Tease-to vector :inline :offset-assert 2336)
(~Toutro-curve curve :inline :offset-assert 2352)
(~Toutro-t float :offset-assert 2372)
(~Toutro-t-step float :offset-assert 2376)
(~Toutro-exit-value float :offset-assert 2380)
(~Twater-drip-time uint64 :offset-assert 2384)
(~Twater-drip basic :offset-assert 2392)
(~Twater-drip-mult float :offset-assert 2396)
(~Twater-drip-speed float :offset-assert 2400)
((master-options uint32 :offset-assert 112)
(num-slaves int32 :offset-assert 116)
(slave basic 2 :offset-assert 120)
(slave-options uint32 :offset-assert 128)
(view-off-param-save float :offset-assert 132)
(changer uint32 :offset-assert 136)
(cam-entity basic :offset-assert 140)
(stringMinLength float :offset-assert 144)
(stringMaxLength float :offset-assert 148)
(stringMinHeight float :offset-assert 152)
(stringMaxHeight float :offset-assert 156)
(string-min cam-vector-seeker :inline :offset-assert 160)
(string-max cam-vector-seeker :inline :offset-assert 224)
(string-push-z float :offset-assert 284)
(stringCliffHeight float :offset-assert 288)
(no-intro uint32 :offset-assert 292)
(force-blend uint32 :offset-assert 296)
(force-blend-time uint32 :offset-assert 300)
(local-down vector :inline :offset-assert 304)
(drawable-target uint64 :offset-assert 320)
(which-bone int32 :offset-assert 328)
(pov-handle uint64 :offset-assert 336)
(pov-bone int32 :offset-assert 344)
(being-attacked basic :offset-assert 348)
(attack-start uint64 :offset-assert 352)
(on-ground basic :offset-assert 360)
(under-water int32 :offset-assert 364)
(on-pole basic :offset-assert 368)
(tgt-rot-mat matrix :inline :offset-assert 384)
(tgt-face-mat matrix :inline :offset-assert 448)
(tpos-old vector :inline :offset-assert 512)
(tpos-curr vector :inline :offset-assert 528)
(target-height float :offset-assert 544)
(tpos-old-adj vector :inline :offset-assert 560)
(tpos-curr-adj vector :inline :offset-assert 576)
(tpos-tgt vector :inline :offset-assert 592)
(upspeed float :offset-assert 608)
(pitch-off vector :inline :offset-assert 624)
(foot-offset float :offset-assert 640)
(head-offset float :offset-assert 644)
(target-spline tracking-spline :inline :offset-assert 656)
(ease-from vector :inline :offset-assert 2304)
(ease-t float :offset-assert 2320)
(ease-step float :offset-assert 2324)
(ease-to vector :inline :offset-assert 2336)
(outro-curve curve :inline :offset-assert 2352)
(outro-t float :offset-assert 2372)
(outro-t-step float :offset-assert 2376)
(outro-exit-value float :offset-assert 2380)
(water-drip-time uint64 :offset-assert 2384)
(water-drip basic :offset-assert 2392)
(water-drip-mult float :offset-assert 2396)
(water-drip-speed float :offset-assert 2400)
)
:heap-base #x900
:method-count-assert 14
@@ -13345,9 +13333,9 @@
;; inherited inspect of process
)
;; - Unknowns
;; - Symbols
;;(define-extern *CAMERA-bank* object) ;; unknown type
(define-extern *CAMERA-bank* camera-bank)
;; ----------------------
@@ -13390,15 +13378,15 @@
;; Containing DGOs - ['GAME', 'ENGINE']
;; Version - 3
;; - Unknowns
;; - Symbols
;;(define-extern *camera-read-analog* object) ;; unknown type
;;(define-extern *camera-read-buttons* object) ;; unknown type
;;(define-extern *cam-free-move-along-z* object) ;; unknown type
;;(define-extern *camera-init-mat* object) ;; unknown type
;;(define-extern *camera* object) ;; unknown type
;;(define-extern *camera-combiner* object) ;; unknown type
;;(define-extern *camera-orbit-target* object) ;; unknown type
(define-extern *camera-read-analog* symbol)
(define-extern *camera-read-buttons* symbol)
(define-extern *cam-free-move-along-z* symbol)
(define-extern *camera-init-mat* matrix)
(define-extern *camera* camera-master)
(define-extern *camera-combiner* camera-combiner)
(define-extern *camera-orbit-target* process-drawable)
;; ----------------------
@@ -14292,9 +14280,7 @@
;; - Symbols
(define-extern math-camera-pos function)
(define-extern target-pos function)
(define-extern camera-pos function)
(define-extern new-sound-id function)
(define-extern get-sound-buffer-entry function)
(define-extern sound-trans-convert function)
@@ -14341,6 +14327,11 @@
(define-extern make-sqrt-table function)
(define-extern flava-lookup function)
;; - Functions
(define-extern math-camera-pos (function vector))
(define-extern camera-pos (function vector))
;; - Unknowns
;;(define-extern *flava-table* object) ;; unknown type
@@ -16021,6 +16012,7 @@
;; - Functions
(define-extern position-in-front-of-camera! (function vector float float vector))
(define-extern set-blackout-frames (function int int))
(define-extern set-master-mode (function symbol none))
(define-extern stop (function int)) ;; logic-target
@@ -16036,7 +16028,6 @@
(define-extern *kernel-boot-message* symbol)
(define-extern reset-actors function)
(define-extern start function)
(define-extern position-in-front-of-camera! function)
(define-extern *level-load-list* pair)
(define-extern game-task->string function)
(define-extern trsq->continue-point function)
@@ -16586,13 +16577,16 @@
;; - Symbols
(define-extern matrix-local->world function)
(define-extern update-snow function)
(define-extern check-drop-level-rain function)
(define-extern update-rain function)
(define-extern cam-master-effect function)
(define-extern sparticle-track-sun function)
;; - Functions
(define-extern matrix-local->world (function symbol matrix))
;; - Unknowns
;;(define-extern group-rain-screend-drop object) ;; unknown type
@@ -17356,15 +17350,15 @@
;; Containing DGOs - ['GAME', 'ENGINE']
;; Version - 3
;; - Functions
(define-extern camera-teleport-to-entity (function entity-actor none))
(define-extern matrix-world->local (function matrix))
(define-extern camera-angle (function float))
;; - Symbols
(define-extern matrix-world->local function)
(define-extern camera-angle function)
(define-extern camera-teleport-to-entity function)
;; - Unknowns
;;(define-extern *camera-dummy-vector* object) ;; unknown type
(define-extern *camera-dummy-vector* vector)
;; ----------------------
@@ -460,5 +460,13 @@
"smush-control-h": [
["L20", "float", true]
],
"entity-h": [
["L2", "actor-bank", true]
],
"camera-h": [
["L14", "camera-bank", true]
]
}
@@ -253,5 +253,14 @@
"ripple-add-debug-sphere": [
[16, "vector"]
],
"camera-teleport-to-entity": [
[16, "transformq"],
[64, "event-message-block"]
],
"(method 10 cam-vector-seeker)": [
[16, "vector"]
]
}
@@ -459,5 +459,9 @@
"ripple-find-height": [
[[22, 72], "s4", "mei-ripple"]
],
"camera-teleport-to-entity": [
[9, "a0", "transform"]
]
}
@@ -5,3 +5,7 @@
;; name in dgo: cam-interface-h
;; dgos: GAME, ENGINE
;; NOTE - forward declaration needed for cam-interface
(define-extern *camera-dummy-vector* vector)
(define-extern *camera* camera-master) ;; unknown type
(define-extern *camera-combiner* camera-combiner) ;; unknown type
+123
View File
@@ -5,3 +5,126 @@
;; name in dgo: cam-interface
;; dgos: GAME, ENGINE
(rlet ((vf0 :class vf))
(init-vf0-vector)
;; definition for function position-in-front-of-camera!
(defun position-in-front-of-camera! ((arg0 vector) (arg1 float) (arg2 float))
(rlet ((vf0 :class vf)
(vf1 :class vf)
(vf2 :class vf)
(vf4 :class vf)
(vf5 :class vf)
(vf6 :class vf)
)
(init-vf0-vector)
(let ((v1-0 arg0))
(let ((a0-2 (&-> *math-camera* inv-camera-rot data 8))
(f0-0 arg1)
)
(.lvf vf1 a0-2)
(let ((a0-3 f0-0))
(.mov vf2 a0-3)
)
)
(.add.x.vf vf1 vf0 vf0 :mask #b1000)
(.mul.x.vf vf1 vf1 vf2 :mask #b111)
(.svf (&-> v1-0 quad) vf1)
)
(vector+float*!
arg0
arg0
(the-as vector (&-> *math-camera* inv-camera-rot data 4))
arg2
)
(let ((a0-5 arg0))
(let ((v1-3 arg0)
(a1-3 (-> *math-camera* trans))
)
(.mov.vf vf6 vf0 :mask #b1000)
(.lvf vf4 (&-> v1-3 quad))
(.lvf vf5 (&-> a1-3 quad))
)
(.add.vf vf6 vf4 vf5 :mask #b111)
(.svf (&-> a0-5 quad) vf6)
)
arg0
)
)
;; definition for function matrix-local->world
(defun matrix-local->world ((arg0 symbol))
(if arg0
(-> *math-camera* inv-camera-rot-smooth)
(-> *math-camera* inv-camera-rot)
)
)
;; definition for function matrix-world->local
(defun matrix-world->local ()
(-> *math-camera* camera-rot)
)
;; failed to figure out what this is:
(when (or (not *camera-dummy-vector*) (zero? *camera-dummy-vector*))
(let ((v1-8 (new 'global 'vector)))
(.svf (&-> v1-8 quad) vf0)
(set! *camera-dummy-vector* v1-8)
)
)
;; definition for function camera-pos
;; INFO: Return type mismatch object vs vector.
(defun camera-pos ()
(the-as vector (cond
(*camera-combiner*
(-> *camera-combiner* stack)
)
(*math-camera*
(-> *math-camera* trans)
)
(else
*camera-dummy-vector*
)
)
)
)
;; definition for function math-camera-pos
(defun math-camera-pos ()
(-> *math-camera* trans)
)
;; definition for function camera-angle
(defun camera-angle ()
(let ((f0-0 (-> *math-camera* camera-rot data 0))
(f1-0 (-> *math-camera* camera-rot data 2))
)
(atan f1-0 f0-0)
)
)
;; definition for function camera-teleport-to-entity
;; INFO: Return type mismatch int vs none.
;; Used lq/sq
(defun camera-teleport-to-entity ((arg0 entity-actor))
(local-vars (pp process))
(let ((gp-0 (new 'stack 'transformq)))
(let ((v1-1 (-> gp-0 trans)))
(set! (-> v1-1 quad) (-> (the-as transform (-> arg0 extra)) scale quad))
)
(quaternion-copy! (the-as quaternion (-> gp-0 rot)) (-> arg0 quat))
(vector-identity! (-> gp-0 scale))
(let ((a1-2 (new 'stack-no-clear 'event-message-block)))
(set! (-> a1-2 from) pp)
(set! (-> a1-2 num-params) 1)
(set! (-> a1-2 message) 'teleport-to-transformq)
(set! (-> a1-2 param 0) (the-as uint gp-0))
(send-event-function *camera* a1-2)
)
)
(none)
)
)
+530
View File
@@ -5,3 +5,533 @@
;; name in dgo: camera-h
;; dgos: GAME, ENGINE
;; definition of type camera-bank
(deftype camera-bank (basic)
((collide-move-rad float :offset-assert 4)
(joypad uint32 :offset-assert 8)
(min-detectable-velocity float :offset-assert 12)
(attack-timeout uint64 :offset-assert 16)
(default-string-max-y float :offset-assert 24)
(default-string-min-y float :offset-assert 28)
(default-string-max-z float :offset-assert 32)
(default-string-min-z float :offset-assert 36)
(default-string-push-z float :offset-assert 40)
(default-tilt-adjust float :offset-assert 44)
)
:method-count-assert 9
:size-assert #x30
:flag-assert #x900000030
)
;; definition for symbol *CAMERA-bank*, type camera-bank
(define
*CAMERA-bank*
(new 'static 'camera-bank
:collide-move-rad 1638.4
:min-detectable-velocity 40.96
:attack-timeout #x4b
:default-string-max-y 12288.0
:default-string-min-y 4096.0
:default-string-max-z 51200.0
:default-string-min-z 20480.0
:default-string-push-z 40960.0
:default-tilt-adjust -1183.289
)
)
;; definition of type cam-index
(deftype cam-index (structure)
((flags uint32 :offset-assert 0)
(vec uint128 2 :offset-assert 16)
)
:method-count-assert 11
:size-assert #x30
:flag-assert #xb00000030
(:methods
(dummy-9 () none 9)
(dummy-10 () none 10)
)
)
;; definition of type tracking-point
(deftype tracking-point (structure)
((position vector :inline :offset-assert 0)
(direction vector :inline :offset-assert 16)
(tp-length float :offset-assert 32)
(next int32 :offset-assert 36)
(incarnation int32 :offset-assert 40)
)
:method-count-assert 9
:size-assert #x2c
:flag-assert #x90000002c
)
;; definition of type tracking-spline-sampler
(deftype tracking-spline-sampler (structure)
((cur-pt int32 :offset-assert 0)
(partial-pt float :offset-assert 4)
)
:method-count-assert 9
:size-assert #x8
:flag-assert #x900000008
)
;; definition of type tracking-spline
(deftype tracking-spline (structure)
((point tracking-point 32 :inline :offset-assert 0)
(summed-len float :offset-assert 1536)
(free-point int32 :offset-assert 1540)
(used-point int32 :offset-assert 1544)
(partial-point float :offset-assert 1548)
(end-point int32 :offset-assert 1552)
(next-to-last-point int32 :offset-assert 1556)
(max-move float :offset-assert 1560)
(sample-len float :offset-assert 1564)
(used-count int32 :offset-assert 1568)
(old-position vector :inline :offset-assert 1584)
(debug-old-position vector :inline :offset-assert 1600)
(debug-out-position vector :inline :offset-assert 1616)
(debug-last-point int32 :offset-assert 1632)
)
:method-count-assert 24
:size-assert #x664
:flag-assert #x1800000664
(:methods
(dummy-9 () none 9)
(dummy-10 () none 10)
(dummy-11 () none 11)
(dummy-12 () none 12)
(dummy-13 () none 13)
(dummy-14 () none 14)
(dummy-15 () none 15)
(dummy-16 () none 16)
(dummy-17 () none 17)
(dummy-18 () none 18)
(dummy-19 () none 19)
(dummy-20 () none 20)
(dummy-21 () none 21)
(dummy-22 () none 22)
(dummy-23 () none 23)
)
)
;; definition of type cam-float-seeker
(deftype cam-float-seeker (structure)
((target float :offset-assert 0)
(value float :offset-assert 4)
(vel float :offset-assert 8)
(accel float :offset-assert 12)
(max-vel float :offset-assert 16)
(max-partial float :offset-assert 20)
)
:pack-me
:method-count-assert 13
:size-assert #x18
:flag-assert #xd00000018
(:methods
(init-cam-float-seeker (_type_ float float float float) none 9)
(copy-cam-float-seeker (_type_ _type_) none 10)
(TODO-RENAME-11 (_type_ float) none 11)
(TODO-RENAME-12 (_type_ float) float 12)
)
)
;; definition for method 9 of type cam-float-seeker
;; INFO: Return type mismatch int vs none.
(defmethod
init-cam-float-seeker
cam-float-seeker
((obj cam-float-seeker) (arg0 float) (arg1 float) (arg2 float) (arg3 float))
(set! (-> obj target) arg0)
(set! (-> obj value) arg0)
(set! (-> obj vel) 0.0)
(set! (-> obj accel) arg1)
(set! (-> obj max-vel) arg2)
(set! (-> obj max-partial) arg3)
(none)
)
;; definition for method 10 of type cam-float-seeker
;; INFO: Return type mismatch int vs none.
(defmethod
copy-cam-float-seeker
cam-float-seeker
((obj cam-float-seeker) (arg0 cam-float-seeker))
(set! (-> obj target) (-> arg0 target))
(set! (-> obj value) (-> arg0 value))
(set! (-> obj vel) (-> arg0 vel))
(set! (-> obj accel) (-> arg0 accel))
(set! (-> obj max-vel) (-> arg0 max-vel))
(set! (-> obj max-partial) (-> arg0 max-partial))
(none)
)
;; definition for method 11 of type cam-float-seeker
;; INFO: Return type mismatch int vs none.
(defmethod TODO-RENAME-11 cam-float-seeker ((obj cam-float-seeker) (arg0 float))
(let ((f0-0 0.0))
)
(let ((f0-1 0.0))
)
(let* ((f1-2 (- (+ (-> obj target) arg0) (-> obj value)))
(f0-5 (* (-> obj max-partial) (fabs f1-2)))
)
(let ((f1-3 (* f1-2 (* (-> obj accel) (-> *display* time-adjust-ratio)))))
(set! (-> obj vel) (+ (-> obj vel) f1-3))
)
(let ((f1-6 (fabs (-> obj vel)))
(f0-6 (fmin f0-5 (-> obj max-vel)))
)
(if (< f0-6 f1-6)
(set! (-> obj vel) (* (-> obj vel) (/ f0-6 f1-6)))
)
)
)
(let ((f0-10 (* (-> obj vel) (-> *display* time-adjust-ratio))))
(set! (-> obj value) (+ (-> obj value) f0-10))
)
(none)
)
;; definition for method 12 of type cam-float-seeker
(defmethod TODO-RENAME-12 cam-float-seeker ((obj cam-float-seeker) (arg0 float))
(set! (-> obj value) (+ (-> obj target) arg0))
(let ((f0-2 0.0))
(set! (-> obj vel) f0-2)
f0-2
)
)
;; definition of type cam-vector-seeker
(deftype cam-vector-seeker (structure)
((target vector :inline :offset-assert 0)
(value vector :inline :offset-assert 16)
(vel vector :inline :offset-assert 32)
(accel float :offset-assert 48)
(max-vel float :offset-assert 52)
(max-partial float :offset-assert 56)
)
:method-count-assert 11
:size-assert #x3c
:flag-assert #xb0000003c
(:methods
(TODO-RENAME-9 (_type_ vector float float float) none 9)
(TODO-RENAME-10 (_type_ vector) none 10)
)
)
;; definition for method 9 of type cam-vector-seeker
;; INFO: Return type mismatch int vs none.
;; Used lq/sq
(defmethod
TODO-RENAME-9
cam-vector-seeker
((obj cam-vector-seeker) (arg0 vector) (arg1 float) (arg2 float) (arg3 float))
(rlet ((vf0 :class vf))
(init-vf0-vector)
(cond
(arg0
(let ((v1-0 (-> obj target)))
(set! (-> v1-0 quad) (-> arg0 quad))
)
(let ((v1-1 (-> obj value)))
(set! (-> v1-1 quad) (-> arg0 quad))
)
)
(else
(.svf (&-> (-> obj target) quad) vf0)
(.svf (&-> (-> obj value) quad) vf0)
)
)
(.svf (&-> (-> obj vel) quad) vf0)
(set! (-> obj accel) arg1)
(set! (-> obj max-vel) arg2)
(set! (-> obj max-partial) arg3)
(none)
)
)
;; definition for method 10 of type cam-vector-seeker
;; INFO: Return type mismatch int vs none.
(defmethod
TODO-RENAME-10
cam-vector-seeker
((obj cam-vector-seeker) (arg0 vector))
(rlet ((vf0 :class vf)
(vf1 :class vf)
(vf2 :class vf)
(vf4 :class vf)
(vf5 :class vf)
(vf6 :class vf)
)
(init-vf0-vector)
(let ((gp-0 (new 'stack-no-clear 'vector)))
(let ((f0-0 0.0))
)
(cond
(arg0
(let ((a0-1 gp-0))
(let ((v1-0 (-> obj target)))
(.mov.vf vf6 vf0 :mask #b1000)
(.lvf vf4 (&-> v1-0 quad))
)
(.lvf vf5 (&-> arg0 quad))
(.add.vf vf6 vf4 vf5 :mask #b111)
(.svf (&-> a0-1 quad) vf6)
)
(let ((a1-1 gp-0))
(let ((v1-1 gp-0)
(a0-2 (-> obj value))
)
(.lvf vf4 (&-> v1-1 quad))
(.lvf vf5 (&-> a0-2 quad))
)
(.mov.vf vf6 vf0 :mask #b1000)
(.sub.vf vf6 vf4 vf5 :mask #b111)
(.svf (&-> a1-1 quad) vf6)
)
)
(else
(let ((a1-2 gp-0))
(let ((v1-2 (-> obj target))
(a0-3 (-> obj value))
)
(.lvf vf4 (&-> v1-2 quad))
(.lvf vf5 (&-> a0-3 quad))
)
(.mov.vf vf6 vf0 :mask #b1000)
(.sub.vf vf6 vf4 vf5 :mask #b111)
(.svf (&-> a1-2 quad) vf6)
)
)
)
(let ((f30-1 (* (-> obj max-partial) (vector-length gp-0))))
(let ((v1-3 gp-0))
(let ((a0-5 gp-0)
(f0-3 (* (-> obj accel) (-> *display* time-adjust-ratio)))
)
(.lvf vf1 (&-> a0-5 quad))
(let ((a0-6 f0-3))
(.mov vf2 a0-6)
)
)
(.add.x.vf vf1 vf0 vf0 :mask #b1000)
(.mul.x.vf vf1 vf1 vf2 :mask #b111)
(.svf (&-> v1-3 quad) vf1)
)
(let ((a1-4 (-> obj vel)))
(let ((v1-4 (-> obj vel))
(a0-7 gp-0)
)
(.mov.vf vf6 vf0 :mask #b1000)
(.lvf vf4 (&-> v1-4 quad))
(.lvf vf5 (&-> a0-7 quad))
)
(.add.vf vf6 vf4 vf5 :mask #b111)
(.svf (&-> a1-4 quad) vf6)
)
(let ((f0-4 (vector-length (-> obj vel)))
(f1-2 (fmin f30-1 (-> obj max-vel)))
)
(when (< f1-2 f0-4)
(let ((v1-6 (-> obj vel)))
(let ((a0-9 (-> obj vel))
(f0-5 (/ f1-2 f0-4))
)
(.lvf vf1 (&-> a0-9 quad))
(let ((a0-10 f0-5))
(.mov vf2 a0-10)
)
)
(.add.x.vf vf1 vf0 vf0 :mask #b1000)
(.mul.x.vf vf1 vf1 vf2 :mask #b111)
(.svf (&-> v1-6 quad) vf1)
)
)
)
)
(let ((v1-7 gp-0))
(let ((a0-11 (-> obj vel))
(f0-6 (-> *display* time-adjust-ratio))
)
(.lvf vf1 (&-> a0-11 quad))
(let ((a0-12 f0-6))
(.mov vf2 a0-12)
)
)
(.add.x.vf vf1 vf0 vf0 :mask #b1000)
(.mul.x.vf vf1 vf1 vf2 :mask #b111)
(.svf (&-> v1-7 quad) vf1)
)
(let ((v1-8 (-> obj value)))
(let ((a0-13 (-> obj value)))
(.mov.vf vf6 vf0 :mask #b1000)
(.lvf vf4 (&-> a0-13 quad))
)
(.lvf vf5 (&-> gp-0 quad))
(.add.vf vf6 vf4 vf5 :mask #b111)
(.svf (&-> v1-8 quad) vf6)
)
)
(none)
)
)
;; definition of type cam-rotation-tracker
(deftype cam-rotation-tracker (structure)
((inv-mat matrix :inline :offset-assert 0)
(no-follow basic :offset-assert 64)
(follow-pt vector :inline :offset-assert 80)
(follow-off vector :inline :offset-assert 96)
(follow-blend float :offset-assert 112)
(tilt-adjust cam-float-seeker :inline :offset-assert 116)
(use-point-of-interest basic :offset-assert 140)
(point-of-interest vector :inline :offset-assert 144)
(point-of-interest-blend cam-float-seeker :inline :offset-assert 160)
(underwater-blend cam-float-seeker :inline :offset-assert 184)
)
:method-count-assert 9
:size-assert #xd0
:flag-assert #x9000000d0
)
;; definition of type camera-combiner
(deftype camera-combiner (process)
((trans vector :inline :offset-assert 112)
(inv-camera-rot matrix :inline :offset-assert 128)
(fov float :offset-assert 192)
(interp-val float :offset-assert 196)
(interp-step float :offset-assert 200)
(dist-from-src float :offset-assert 204)
(dist-from-dest float :offset-assert 208)
(flip-control-axis vector :inline :offset-assert 224)
(velocity vector :inline :offset-assert 240)
(tracking-status uint64 :offset-assert 256)
(tracking-options int32 :offset-assert 264)
(tracking cam-rotation-tracker :inline :offset-assert 272)
)
:heap-base #x170
:method-count-assert 14
:size-assert #x1e0
:flag-assert #xe017001e0
)
;; definition of type camera-slave
(deftype camera-slave (process)
((trans vector :inline :offset-assert 112)
(fov float :offset-assert 128)
(fov0 float :offset-assert 132)
(fov1 float :offset-assert 136)
(fov-index cam-index :inline :offset-assert 144)
(tracking cam-rotation-tracker :inline :offset-assert 192)
(view-off-param float :offset-assert 400)
(view-off vector :inline :offset-assert 416)
(min-z-override float :offset-assert 432)
(view-flat vector :inline :offset-assert 448)
(string-vel-dir uint32 :offset-assert 464)
(string-trans vector :inline :offset-assert 480)
(position-spline tracking-spline :inline :offset-assert 496)
(pivot-pt vector :inline :offset-assert 2144)
(pivot-rad float :offset-assert 2160)
(circular-follow vector :inline :offset-assert 2176)
(max-angle-offset float :offset-assert 2192)
(max-angle-curr float :offset-assert 2196)
(options uint32 :offset-assert 2200)
(cam-entity basic :offset-assert 2204)
(velocity vector :inline :offset-assert 2208)
(desired-pos vector :inline :offset-assert 2224)
(time-dist-too-far uint32 :offset-assert 2240)
(los-state uint32 :offset-assert 2244)
(good-point vector :inline :offset-assert 2256)
(los-tgt-spline-pt int32 :offset-assert 2272)
(los-tgt-spline-pt-incarnation int32 :offset-assert 2276)
(los-last-pos vector :inline :offset-assert 2288)
(intro-curve curve :inline :offset-assert 2304)
(intro-offset vector :inline :offset-assert 2336)
(intro-t float :offset-assert 2352)
(intro-t-step float :offset-assert 2356)
(outro-exit-value float :offset-assert 2360)
(spline-exists basic :offset-assert 2364)
(spline-curve curve :inline :offset-assert 2368)
(spline-offset vector :inline :offset-assert 2400)
(index cam-index :inline :offset-assert 2416)
(saved-pt vector :inline :offset-assert 2464)
(spline-tt float :offset-assert 2480)
(spline-follow-dist float :offset-assert 2484)
(change-event-from uint32 :offset-assert 2488)
(enter-has-run basic :offset-assert 2492)
(blend-from-type uint64 :offset-assert 2496)
(blend-to-type uint64 :offset-assert 2504)
(have-phony-joystick basic :offset-assert 2512)
(phony-joystick-x float :offset-assert 2516)
(phony-joystick-y float :offset-assert 2520)
(string-min-val vector :inline :offset-assert 2528)
(string-max-val vector :inline :offset-assert 2544)
(string-val-locked basic :offset-assert 2560)
)
:heap-base #x9a0
:method-count-assert 14
:size-assert #xa04
:flag-assert #xe09a00a04
)
;; definition of type camera-master
(deftype camera-master (process)
((master-options uint32 :offset-assert 112)
(num-slaves int32 :offset-assert 116)
(slave basic 2 :offset-assert 120)
(slave-options uint32 :offset-assert 128)
(view-off-param-save float :offset-assert 132)
(changer uint32 :offset-assert 136)
(cam-entity basic :offset-assert 140)
(stringMinLength float :offset-assert 144)
(stringMaxLength float :offset-assert 148)
(stringMinHeight float :offset-assert 152)
(stringMaxHeight float :offset-assert 156)
(string-min cam-vector-seeker :inline :offset-assert 160)
(string-max cam-vector-seeker :inline :offset-assert 224)
(string-push-z float :offset-assert 284)
(stringCliffHeight float :offset-assert 288)
(no-intro uint32 :offset-assert 292)
(force-blend uint32 :offset-assert 296)
(force-blend-time uint32 :offset-assert 300)
(local-down vector :inline :offset-assert 304)
(drawable-target uint64 :offset-assert 320)
(which-bone int32 :offset-assert 328)
(pov-handle uint64 :offset-assert 336)
(pov-bone int32 :offset-assert 344)
(being-attacked basic :offset-assert 348)
(attack-start uint64 :offset-assert 352)
(on-ground basic :offset-assert 360)
(under-water int32 :offset-assert 364)
(on-pole basic :offset-assert 368)
(tgt-rot-mat matrix :inline :offset-assert 384)
(tgt-face-mat matrix :inline :offset-assert 448)
(tpos-old vector :inline :offset-assert 512)
(tpos-curr vector :inline :offset-assert 528)
(target-height float :offset-assert 544)
(tpos-old-adj vector :inline :offset-assert 560)
(tpos-curr-adj vector :inline :offset-assert 576)
(tpos-tgt vector :inline :offset-assert 592)
(upspeed float :offset-assert 608)
(pitch-off vector :inline :offset-assert 624)
(foot-offset float :offset-assert 640)
(head-offset float :offset-assert 644)
(target-spline tracking-spline :inline :offset-assert 656)
(ease-from vector :inline :offset-assert 2304)
(ease-t float :offset-assert 2320)
(ease-step float :offset-assert 2324)
(ease-to vector :inline :offset-assert 2336)
(outro-curve curve :inline :offset-assert 2352)
(outro-t float :offset-assert 2372)
(outro-t-step float :offset-assert 2376)
(outro-exit-value float :offset-assert 2380)
(water-drip-time uint64 :offset-assert 2384)
(water-drip basic :offset-assert 2392)
(water-drip-mult float :offset-assert 2396)
(water-drip-speed float :offset-assert 2400)
)
:heap-base #x900
:method-count-assert 14
:size-assert #x964
:flag-assert #xe09000964
)
+204
View File
@@ -5,3 +5,207 @@
;; name in dgo: entity-h
;; dgos: GAME, ENGINE
;; definition for symbol *generate-actor-vis*, type symbol
(define *generate-actor-vis* #f)
;; definition for symbol *generate-actor-vis-start*, type symbol
(define *generate-actor-vis-start* #f)
;; definition for symbol *generate-actor-vis-output*, type symbol
(define *generate-actor-vis-output* #f)
;; definition of type entity-perm
(deftype entity-perm (structure)
((user-object object 2 :offset-assert 0)
(user-uint64 uint64 :offset 0)
(user-float float 2 :offset 0)
(user-int32 int32 2 :offset 0)
(user-uint32 uint32 2 :offset 0)
(user-int16 int16 4 :offset 0)
(user-uint16 uint16 4 :offset 0)
(user-int8 int8 8 :offset 0)
(user-uint8 uint8 8 :offset 0)
(status uint16 :offset-assert 8)
(dummy uint8 1 :offset-assert 10)
(task uint8 :offset-assert 11)
(aid uint32 :offset-assert 12)
(quad uint128 :offset 0)
)
:pack-me
:method-count-assert 10
:size-assert #x10
:flag-assert #xa00000010
(:methods
(dummy-9 () none 9)
)
)
;; definition of type entity-links
(deftype entity-links (structure)
((prev-link entity-links :offset-assert 0)
(next-link entity-links :offset-assert 4)
(entity basic :offset-assert 8)
(process basic :offset-assert 12)
(level basic :offset-assert 16)
(vis-id int32 :offset-assert 20)
(trans vector :inline :offset-assert 32)
(perm entity-perm :inline :offset-assert 48)
(status uint16 :offset 56)
(aid uint32 :offset 60)
(task uint8 :offset 59)
)
:method-count-assert 10
:size-assert #x40
:flag-assert #xa00000040
(:methods
(dummy-9 () none 9)
)
)
;; definition of type entity-perm-array
(deftype entity-perm-array (inline-array-class)
()
:method-count-assert 9
:size-assert #x10
:flag-assert #x900000010
)
(set! (-> entity-perm-array heap-base) (the-as uint 16))
;; definition of type entity-links-array
(deftype entity-links-array (inline-array-class)
()
:method-count-assert 9
:size-assert #x10
:flag-assert #x900000010
)
(set! (-> entity-links-array heap-base) (the-as uint 64))
;; definition of type entity
(deftype entity (res-lump)
((trans vector :inline :offset-assert 32)
(aid uint32 :offset-assert 48)
)
:method-count-assert 27
:size-assert #x34
:flag-assert #x1b00000034
(:methods
(dummy-22 () none 22)
(dummy-23 () none 23)
(dummy-24 () none 24)
(dummy-25 () none 25)
(dummy-26 () none 26)
)
)
;; definition of type entity-camera
(deftype entity-camera (entity)
((connect connectable :inline :offset-assert 64)
)
:method-count-assert 27
:size-assert #x50
:flag-assert #x1b00000050
)
;; definition of type entity-ambient-data
(deftype entity-ambient-data (structure)
((user-object object 3 :offset-assert 0)
(function basic :offset-assert 12)
(quad uint128 :offset 0)
(user-uint64 uint64 1 :offset 0)
(user-float float 3 :offset 0)
(user-int32 int32 3 :offset 0)
(user-uint32 uint32 3 :offset 0)
(user-int16 int16 6 :offset 0)
(user-uint16 uint16 6 :offset 0)
(user-int8 int8 12 :offset 0)
(user-uint8 uint8 12 :offset 0)
)
:method-count-assert 9
:size-assert #x10
:flag-assert #x900000010
)
;; definition of type entity-ambient-data-array
(deftype entity-ambient-data-array (inline-array-class)
()
:method-count-assert 9
:size-assert #x10
:flag-assert #x900000010
)
(set! (-> entity-ambient-data-array heap-base) (the-as uint 16))
;; definition of type entity-ambient
(deftype entity-ambient (entity)
()
:method-count-assert 29
:size-assert #x34
:flag-assert #x1d00000034
(:methods
(dummy-27 () none 27)
(dummy-28 () none 28)
)
)
;; definition of type entity-actor
(declare-type nav-mesh basic)
(deftype entity-actor (entity)
((nav-mesh nav-mesh :offset-assert 52)
(etype basic :offset-assert 56)
(task uint8 :offset-assert 60)
(vis-id uint16 :offset-assert 62)
(quat quaternion :inline :offset-assert 64)
)
:method-count-assert 31
:size-assert #x50
:flag-assert #x1f00000050
(:methods
(dummy-27 () none 27)
(dummy-28 () none 28)
(dummy-29 () none 29)
(dummy-30 () none 30)
)
)
;; definition of type entity-info
(deftype entity-info (basic)
((ptype basic :offset-assert 4)
(package basic :offset-assert 8)
(art-group basic :offset-assert 12)
(pool basic :offset-assert 16)
(heap-size int32 :offset-assert 20)
)
:method-count-assert 9
:size-assert #x18
:flag-assert #x900000018
)
;; NOTE - this is a strange pattern...this symbol isn't defined until a later file 'navigate'
;; But this seems to be setting the symbol to nothing if it's not found, but of course, our compiler freaks out
(define-extern entity-nav-login function)
(if (zero? entity-nav-login)
(set! entity-nav-login nothing)
)
;; definition of type actor-bank
(deftype actor-bank (basic)
((pause-dist float :offset-assert 4)
(birth-dist float :offset-assert 8)
(birth-max int32 :offset-assert 12)
)
:method-count-assert 9
:size-assert #x10
:flag-assert #x900000010
)
;; definition for symbol *ACTOR-bank*, type actor-bank
(define
*ACTOR-bank*
(new 'static 'actor-bank
:pause-dist 204800.0
:birth-dist 901120.0
:birth-max 10
)
)
@@ -718,3 +718,49 @@
vec
)
)
;; TODO - for entity-h
(declare-type nav-mesh basic)
(define-extern entity-nav-login function)
(deftype res-tag (uint128)
((unk0 uint32 :offset 0 :size 32)
(unk1 uint16 :offset 32 :size 16)
(unk2 uint64 :offset 64 :size 64)
)
:flag-assert #x900000010
)
(deftype res-lump (basic)
((length int32 :offset-assert 4)
(allocated-length int32 :offset-assert 8)
(data-base pointer :offset-assert 12)
(data-top pointer :offset-assert 16)
(data-size int32 :offset-assert 20)
(extra basic :offset-assert 24)
(tag (pointer res-tag) :offset-assert 28)
)
:method-count-assert 22
:size-assert #x20
:flag-assert #x1600000020
;; field extra is a basic loaded with a signed load
(:methods
(new (symbol type int int) _type_ 0)
(dummy-9 (_type_ symbol symbol int symbol (pointer res-tag) pointer) symbol 9)
(dummy-10 (_type_ symbol symbol int symbol symbol pointer) int 10)
(dummy-11 (_type_ symbol symbol int int symbol pointer) int 11)
(dummy-12 (_type_ symbol symbol float float symbol pointer) float 12)
(dummy-13 (_type_ int) pointer 13) ;; advance tag pointer
(dummy-14 (_type_ uint) pointer 14)
(dummy-15 (_type_) none 15)
(dummy-16 (_type_ int int int int) none 16)
(dummy-17 (_type_ int int) res-lump 17)
(dummy-18 (_type_ int int) none 18)
(dummy-19 (_type_ symbol symbol int) int 19)
(dummy-20 (_type_ int int) none 20)
(dummy-21 (_type_ int int int int int) none 21)
)
)
;; NOTE - forward declaration needed for cam-interface
(define-extern *camera-dummy-vector* vector)
(define-extern send-event-function (function process event-message-block object))
@@ -0,0 +1,31 @@
;;-*-Lisp-*-
(in-package goal)
;; definition for symbol *camera-read-analog*, type symbol
(define *camera-read-analog* #t)
;; definition for symbol *camera-read-buttons*, type symbol
(define *camera-read-buttons* #t)
;; definition for symbol *cam-free-move-along-z*, type symbol
(define *cam-free-move-along-z* #t)
;; definition (perm) for symbol *camera-init-mat*, type matrix
(define-perm *camera-init-mat* matrix #f)
;; definition (perm) for symbol *camera*, type camera-master
(define-perm *camera* camera-master #f)
;; definition (perm) for symbol *camera-combiner*, type camera-combiner
(define-perm *camera-combiner* camera-combiner #f)
;; definition (perm) for symbol *camera-orbit-target*, type process-drawable
(define-perm *camera-orbit-target* process-drawable #f)
;; failed to figure out what this is:
(let ((v0-0 0))
)
@@ -0,0 +1,133 @@
;;-*-Lisp-*-
(in-package goal)
(rlet ((vf0 :class vf))
(init-vf0-vector)
;; definition for function position-in-front-of-camera!
(defun position-in-front-of-camera! ((arg0 vector) (arg1 float) (arg2 float))
(rlet ((vf0 :class vf)
(vf1 :class vf)
(vf2 :class vf)
(vf4 :class vf)
(vf5 :class vf)
(vf6 :class vf)
)
(init-vf0-vector)
(let ((v1-0 arg0))
(let ((a0-2 (&-> *math-camera* inv-camera-rot data 8))
(f0-0 arg1)
)
(.lvf vf1 a0-2)
(let ((a0-3 f0-0))
(.mov vf2 a0-3)
)
)
(.add.x.vf vf1 vf0 vf0 :mask #b1000)
(.mul.x.vf vf1 vf1 vf2 :mask #b111)
(.svf (&-> v1-0 quad) vf1)
)
(vector+float*!
arg0
arg0
(the-as vector (&-> *math-camera* inv-camera-rot data 4))
arg2
)
(let ((a0-5 arg0))
(let ((v1-3 arg0)
(a1-3 (-> *math-camera* trans))
)
(.mov.vf vf6 vf0 :mask #b1000)
(.lvf vf4 (&-> v1-3 quad))
(.lvf vf5 (&-> a1-3 quad))
)
(.add.vf vf6 vf4 vf5 :mask #b111)
(.svf (&-> a0-5 quad) vf6)
)
arg0
)
)
;; definition for function matrix-local->world
(defun matrix-local->world ((arg0 symbol))
(if arg0
(-> *math-camera* inv-camera-rot-smooth)
(-> *math-camera* inv-camera-rot)
)
)
;; definition for function matrix-world->local
(defun matrix-world->local ()
(-> *math-camera* camera-rot)
)
;; failed to figure out what this is:
(when (or (not *camera-dummy-vector*) (zero? *camera-dummy-vector*))
(let ((v1-8 (new 'global 'vector)))
(.svf (&-> v1-8 quad) vf0)
(set! *camera-dummy-vector* v1-8)
)
)
;; definition for function camera-pos
;; INFO: Return type mismatch object vs vector.
(defun camera-pos ()
(the-as vector (cond
(*camera-combiner*
(-> *camera-combiner* stack)
)
(*math-camera*
(-> *math-camera* trans)
)
(else
*camera-dummy-vector*
)
)
)
)
;; definition for function math-camera-pos
(defun math-camera-pos ()
(-> *math-camera* trans)
)
;; definition for function camera-angle
(defun camera-angle ()
(let ((f0-0 (-> *math-camera* camera-rot data 0))
(f1-0 (-> *math-camera* camera-rot data 2))
)
(atan f1-0 f0-0)
)
)
;; definition for function camera-teleport-to-entity
;; INFO: Return type mismatch int vs none.
;; Used lq/sq
(defun camera-teleport-to-entity ((arg0 entity-actor))
(local-vars (pp process))
(let ((gp-0 (new 'stack 'transformq)))
(let ((v1-1 (-> gp-0 trans)))
(set! (-> v1-1 quad) (-> (the-as transform (-> arg0 extra)) scale quad))
)
(quaternion-copy! (the-as quaternion (-> gp-0 rot)) (-> arg0 quat))
(vector-identity! (-> gp-0 scale))
(let ((a1-2 (new 'stack-no-clear 'event-message-block)))
(set! (-> a1-2 from) pp)
(set! (-> a1-2 num-params) 1)
(set! (-> a1-2 message) 'teleport-to-transformq)
(set! (-> a1-2 param 0) (the-as uint gp-0))
(send-event-function *camera* a1-2)
)
)
(let ((v0-4 0))
)
(none)
)
;; failed to figure out what this is:
(none)
)
@@ -0,0 +1,854 @@
;;-*-Lisp-*-
(in-package goal)
;; definition of type camera-bank
(deftype camera-bank (basic)
((collide-move-rad float :offset-assert 4)
(joypad uint32 :offset-assert 8)
(min-detectable-velocity float :offset-assert 12)
(attack-timeout uint64 :offset-assert 16)
(default-string-max-y float :offset-assert 24)
(default-string-min-y float :offset-assert 28)
(default-string-max-z float :offset-assert 32)
(default-string-min-z float :offset-assert 36)
(default-string-push-z float :offset-assert 40)
(default-tilt-adjust float :offset-assert 44)
)
:method-count-assert 9
:size-assert #x30
:flag-assert #x900000030
)
;; definition for method 3 of type camera-bank
(defmethod inspect camera-bank ((obj camera-bank))
(format #t "[~8x] ~A~%" obj (-> obj type))
(format #t "~Tcollide-move-rad: ~f~%" (-> obj collide-move-rad))
(format #t "~Tjoypad: ~D~%" (-> obj joypad))
(format #t "~Tmin-detectable-velocity: ~f~%" (-> obj min-detectable-velocity))
(format #t "~Tattack-timeout: ~D~%" (-> obj attack-timeout))
(format
#t
"~Tdefault-string-max-y: (meters ~m)~%"
(-> obj default-string-max-y)
)
(format
#t
"~Tdefault-string-min-y: (meters ~m)~%"
(-> obj default-string-min-y)
)
(format
#t
"~Tdefault-string-max-z: (meters ~m)~%"
(-> obj default-string-max-z)
)
(format
#t
"~Tdefault-string-min-z: (meters ~m)~%"
(-> obj default-string-min-z)
)
(format
#t
"~Tdefault-string-push-z: (meters ~m)~%"
(-> obj default-string-push-z)
)
(format #t "~Tdefault-tilt-adjust: (deg ~r)~%" (-> obj default-tilt-adjust))
obj
)
;; definition for symbol *CAMERA-bank*, type camera-bank
(define
*CAMERA-bank*
(new 'static 'camera-bank
:collide-move-rad 1638.4
:min-detectable-velocity 40.96
:attack-timeout #x4b
:default-string-max-y 12288.0
:default-string-min-y 4096.0
:default-string-max-z 51200.0
:default-string-min-z 20480.0
:default-string-push-z 40960.0
:default-tilt-adjust -1183.289
)
)
;; definition of type cam-index
(deftype cam-index (structure)
((flags uint32 :offset-assert 0)
(vec uint128 2 :offset-assert 16)
)
:method-count-assert 11
:size-assert #x30
:flag-assert #xb00000030
(:methods
(dummy-9 () none 9)
(dummy-10 () none 10)
)
)
;; definition for method 3 of type cam-index
(defmethod inspect cam-index ((obj cam-index))
(format #t "[~8x] ~A~%" obj 'cam-index)
(format #t "~Tflags: ~D~%" (-> obj flags))
(format #t "~Tvec[2] @ #x~X~%" (-> obj vec))
obj
)
;; definition of type tracking-point
(deftype tracking-point (structure)
((position vector :inline :offset-assert 0)
(direction vector :inline :offset-assert 16)
(tp-length float :offset-assert 32)
(next int32 :offset-assert 36)
(incarnation int32 :offset-assert 40)
)
:method-count-assert 9
:size-assert #x2c
:flag-assert #x90000002c
)
;; definition for method 3 of type tracking-point
(defmethod inspect tracking-point ((obj tracking-point))
(format #t "[~8x] ~A~%" obj 'tracking-point)
(format #t "~Tposition: #<vector @ #x~X>~%" (-> obj position))
(format #t "~Tdirection: #<vector @ #x~X>~%" (-> obj direction))
(format #t "~Ttp-length: ~f~%" (-> obj tp-length))
(format #t "~Tnext: ~D~%" (-> obj next))
(format #t "~Tincarnation: ~D~%" (-> obj incarnation))
obj
)
;; definition of type tracking-spline-sampler
(deftype tracking-spline-sampler (structure)
((cur-pt int32 :offset-assert 0)
(partial-pt float :offset-assert 4)
)
:method-count-assert 9
:size-assert #x8
:flag-assert #x900000008
)
;; definition for method 3 of type tracking-spline-sampler
(defmethod inspect tracking-spline-sampler ((obj tracking-spline-sampler))
(format #t "[~8x] ~A~%" obj 'tracking-spline-sampler)
(format #t "~Tcur-pt: ~D~%" (-> obj cur-pt))
(format #t "~Tpartial-pt: ~f~%" (-> obj partial-pt))
obj
)
;; definition of type tracking-spline
(deftype tracking-spline (structure)
((point tracking-point 32 :inline :offset-assert 0)
(summed-len float :offset-assert 1536)
(free-point int32 :offset-assert 1540)
(used-point int32 :offset-assert 1544)
(partial-point float :offset-assert 1548)
(end-point int32 :offset-assert 1552)
(next-to-last-point int32 :offset-assert 1556)
(max-move float :offset-assert 1560)
(sample-len float :offset-assert 1564)
(used-count int32 :offset-assert 1568)
(old-position vector :inline :offset-assert 1584)
(debug-old-position vector :inline :offset-assert 1600)
(debug-out-position vector :inline :offset-assert 1616)
(debug-last-point int32 :offset-assert 1632)
)
:method-count-assert 24
:size-assert #x664
:flag-assert #x1800000664
(:methods
(dummy-9 () none 9)
(dummy-10 () none 10)
(dummy-11 () none 11)
(dummy-12 () none 12)
(dummy-13 () none 13)
(dummy-14 () none 14)
(dummy-15 () none 15)
(dummy-16 () none 16)
(dummy-17 () none 17)
(dummy-18 () none 18)
(dummy-19 () none 19)
(dummy-20 () none 20)
(dummy-21 () none 21)
(dummy-22 () none 22)
(dummy-23 () none 23)
)
)
;; definition for method 3 of type tracking-spline
(defmethod inspect tracking-spline ((obj tracking-spline))
(format #t "[~8x] ~A~%" obj 'tracking-spline)
(format #t "~Tpoint[32] @ #x~X~%" (-> obj point))
(format #t "~Tsummed-len: ~f~%" (-> obj summed-len))
(format #t "~Tfree-point: ~D~%" (-> obj free-point))
(format #t "~Tused-point: ~D~%" (-> obj used-point))
(format #t "~Tpartial-point: ~f~%" (-> obj partial-point))
(format #t "~Tend-point: ~D~%" (-> obj end-point))
(format #t "~Tnext-to-last-point: ~D~%" (-> obj next-to-last-point))
(format #t "~Tmax-move: ~f~%" (-> obj max-move))
(format #t "~Tsample-len: ~f~%" (-> obj sample-len))
(format #t "~Tused-count: ~D~%" (-> obj used-count))
(format #t "~Told-position: #<vector @ #x~X>~%" (-> obj old-position))
(format
#t
"~Tdebug-old-position: #<vector @ #x~X>~%"
(-> obj debug-old-position)
)
(format
#t
"~Tdebug-out-position: #<vector @ #x~X>~%"
(-> obj debug-out-position)
)
(format #t "~Tdebug-last-point: ~D~%" (-> obj debug-last-point))
obj
)
;; definition of type cam-float-seeker
(deftype cam-float-seeker (structure)
((target float :offset-assert 0)
(value float :offset-assert 4)
(vel float :offset-assert 8)
(accel float :offset-assert 12)
(max-vel float :offset-assert 16)
(max-partial float :offset-assert 20)
)
:pack-me
:method-count-assert 13
:size-assert #x18
:flag-assert #xd00000018
(:methods
(init-cam-float-seeker (_type_ float float float float) none 9)
(copy-cam-float-seeker (_type_ _type_) none 10)
(TODO-RENAME-11 (_type_ float) none 11)
(TODO-RENAME-12 (_type_ float) float 12)
)
)
;; definition for method 3 of type cam-float-seeker
(defmethod inspect cam-float-seeker ((obj cam-float-seeker))
(format #t "[~8x] ~A~%" obj 'cam-float-seeker)
(format #t "~Ttarget: ~f~%" (-> obj target))
(format #t "~Tvalue: ~f~%" (-> obj value))
(format #t "~Tvel: ~f~%" (-> obj vel))
(format #t "~Taccel: ~f~%" (-> obj accel))
(format #t "~Tmax-vel: ~f~%" (-> obj max-vel))
(format #t "~Tmax-partial: ~f~%" (-> obj max-partial))
obj
)
;; definition for method 9 of type cam-float-seeker
;; INFO: Return type mismatch int vs none.
(defmethod
init-cam-float-seeker
cam-float-seeker
((obj cam-float-seeker) (arg0 float) (arg1 float) (arg2 float) (arg3 float))
(set! (-> obj target) arg0)
(set! (-> obj value) arg0)
(set! (-> obj vel) 0.0)
(set! (-> obj accel) arg1)
(set! (-> obj max-vel) arg2)
(set! (-> obj max-partial) arg3)
(let ((v0-0 0))
)
(none)
)
;; definition for method 10 of type cam-float-seeker
;; INFO: Return type mismatch int vs none.
(defmethod
copy-cam-float-seeker
cam-float-seeker
((obj cam-float-seeker) (arg0 cam-float-seeker))
(set! (-> obj target) (-> arg0 target))
(set! (-> obj value) (-> arg0 value))
(set! (-> obj vel) (-> arg0 vel))
(set! (-> obj accel) (-> arg0 accel))
(set! (-> obj max-vel) (-> arg0 max-vel))
(set! (-> obj max-partial) (-> arg0 max-partial))
(let ((v0-0 0))
)
(none)
)
;; definition for method 11 of type cam-float-seeker
;; INFO: Return type mismatch int vs none.
(defmethod TODO-RENAME-11 cam-float-seeker ((obj cam-float-seeker) (arg0 float))
(let ((f0-0 0.0))
)
(let ((f0-1 0.0))
)
(let* ((f1-2 (- (+ (-> obj target) arg0) (-> obj value)))
(f0-5 (* (-> obj max-partial) (fabs f1-2)))
)
(let ((f1-3 (* f1-2 (* (-> obj accel) (-> *display* time-adjust-ratio)))))
(set! (-> obj vel) (+ (-> obj vel) f1-3))
)
(let ((f1-6 (fabs (-> obj vel)))
(f0-6 (fmin f0-5 (-> obj max-vel)))
)
(if (< f0-6 f1-6)
(set! (-> obj vel) (* (-> obj vel) (/ f0-6 f1-6)))
)
)
)
(let ((f0-10 (* (-> obj vel) (-> *display* time-adjust-ratio))))
(set! (-> obj value) (+ (-> obj value) f0-10))
)
(let ((v0-0 0))
)
(none)
)
;; definition for method 12 of type cam-float-seeker
(defmethod TODO-RENAME-12 cam-float-seeker ((obj cam-float-seeker) (arg0 float))
(set! (-> obj value) (+ (-> obj target) arg0))
(let ((f0-2 0.0))
(set! (-> obj vel) f0-2)
f0-2
)
)
;; definition of type cam-vector-seeker
(deftype cam-vector-seeker (structure)
((target vector :inline :offset-assert 0)
(value vector :inline :offset-assert 16)
(vel vector :inline :offset-assert 32)
(accel float :offset-assert 48)
(max-vel float :offset-assert 52)
(max-partial float :offset-assert 56)
)
:method-count-assert 11
:size-assert #x3c
:flag-assert #xb0000003c
(:methods
(TODO-RENAME-9 (_type_ vector float float float) none 9)
(TODO-RENAME-10 (_type_ vector) none 10)
)
)
;; definition for method 3 of type cam-vector-seeker
(defmethod inspect cam-vector-seeker ((obj cam-vector-seeker))
(format #t "[~8x] ~A~%" obj 'cam-vector-seeker)
(format #t "~Ttarget: #<vector @ #x~X>~%" (-> obj target))
(format #t "~Tvalue: #<vector @ #x~X>~%" (-> obj value))
(format #t "~Tvel: #<vector @ #x~X>~%" (-> obj vel))
(format #t "~Taccel: ~f~%" (-> obj accel))
(format #t "~Tmax-vel: ~f~%" (-> obj max-vel))
(format #t "~Tmax-partial: ~f~%" (-> obj max-partial))
obj
)
;; definition for method 9 of type cam-vector-seeker
;; INFO: Return type mismatch int vs none.
;; Used lq/sq
(defmethod
TODO-RENAME-9
cam-vector-seeker
((obj cam-vector-seeker) (arg0 vector) (arg1 float) (arg2 float) (arg3 float))
(rlet ((vf0 :class vf))
(init-vf0-vector)
(cond
(arg0
(let ((v1-0 (-> obj target)))
(set! (-> v1-0 quad) (-> arg0 quad))
)
(let ((v1-1 (-> obj value)))
(set! (-> v1-1 quad) (-> arg0 quad))
)
)
(else
(.svf (&-> (-> obj target) quad) vf0)
(.svf (&-> (-> obj value) quad) vf0)
)
)
(.svf (&-> (-> obj vel) quad) vf0)
(set! (-> obj accel) arg1)
(set! (-> obj max-vel) arg2)
(set! (-> obj max-partial) arg3)
(let ((v0-0 0))
)
(none)
)
)
;; definition for method 10 of type cam-vector-seeker
;; INFO: Return type mismatch int vs none.
(defmethod
TODO-RENAME-10
cam-vector-seeker
((obj cam-vector-seeker) (arg0 vector))
(rlet ((vf0 :class vf)
(vf1 :class vf)
(vf2 :class vf)
(vf4 :class vf)
(vf5 :class vf)
(vf6 :class vf)
)
(init-vf0-vector)
(let ((gp-0 (new 'stack-no-clear 'vector)))
(let ((f0-0 0.0))
)
(cond
(arg0
(let ((a0-1 gp-0))
(let ((v1-0 (-> obj target)))
(.mov.vf vf6 vf0 :mask #b1000)
(.lvf vf4 (&-> v1-0 quad))
)
(.lvf vf5 (&-> arg0 quad))
(.add.vf vf6 vf4 vf5 :mask #b111)
(.svf (&-> a0-1 quad) vf6)
)
(let ((a1-1 gp-0))
(let ((v1-1 gp-0)
(a0-2 (-> obj value))
)
(.lvf vf4 (&-> v1-1 quad))
(.lvf vf5 (&-> a0-2 quad))
)
(.mov.vf vf6 vf0 :mask #b1000)
(.sub.vf vf6 vf4 vf5 :mask #b111)
(.svf (&-> a1-1 quad) vf6)
)
)
(else
(let ((a1-2 gp-0))
(let ((v1-2 (-> obj target))
(a0-3 (-> obj value))
)
(.lvf vf4 (&-> v1-2 quad))
(.lvf vf5 (&-> a0-3 quad))
)
(.mov.vf vf6 vf0 :mask #b1000)
(.sub.vf vf6 vf4 vf5 :mask #b111)
(.svf (&-> a1-2 quad) vf6)
)
)
)
(let ((f30-1 (* (-> obj max-partial) (vector-length gp-0))))
(let ((v1-3 gp-0))
(let ((a0-5 gp-0)
(f0-3 (* (-> obj accel) (-> *display* time-adjust-ratio)))
)
(.lvf vf1 (&-> a0-5 quad))
(let ((a0-6 f0-3))
(.mov vf2 a0-6)
)
)
(.add.x.vf vf1 vf0 vf0 :mask #b1000)
(.mul.x.vf vf1 vf1 vf2 :mask #b111)
(.svf (&-> v1-3 quad) vf1)
)
(let ((a1-4 (-> obj vel)))
(let ((v1-4 (-> obj vel))
(a0-7 gp-0)
)
(.mov.vf vf6 vf0 :mask #b1000)
(.lvf vf4 (&-> v1-4 quad))
(.lvf vf5 (&-> a0-7 quad))
)
(.add.vf vf6 vf4 vf5 :mask #b111)
(.svf (&-> a1-4 quad) vf6)
)
(let ((f0-4 (vector-length (-> obj vel)))
(f1-2 (fmin f30-1 (-> obj max-vel)))
)
(when (< f1-2 f0-4)
(let ((v1-6 (-> obj vel)))
(let ((a0-9 (-> obj vel))
(f0-5 (/ f1-2 f0-4))
)
(.lvf vf1 (&-> a0-9 quad))
(let ((a0-10 f0-5))
(.mov vf2 a0-10)
)
)
(.add.x.vf vf1 vf0 vf0 :mask #b1000)
(.mul.x.vf vf1 vf1 vf2 :mask #b111)
(.svf (&-> v1-6 quad) vf1)
)
)
)
)
(let ((v1-7 gp-0))
(let ((a0-11 (-> obj vel))
(f0-6 (-> *display* time-adjust-ratio))
)
(.lvf vf1 (&-> a0-11 quad))
(let ((a0-12 f0-6))
(.mov vf2 a0-12)
)
)
(.add.x.vf vf1 vf0 vf0 :mask #b1000)
(.mul.x.vf vf1 vf1 vf2 :mask #b111)
(.svf (&-> v1-7 quad) vf1)
)
(let ((v1-8 (-> obj value)))
(let ((a0-13 (-> obj value)))
(.mov.vf vf6 vf0 :mask #b1000)
(.lvf vf4 (&-> a0-13 quad))
)
(.lvf vf5 (&-> gp-0 quad))
(.add.vf vf6 vf4 vf5 :mask #b111)
(.svf (&-> v1-8 quad) vf6)
)
)
(let ((v0-2 0))
)
(none)
)
)
;; definition of type cam-rotation-tracker
(deftype cam-rotation-tracker (structure)
((inv-mat matrix :inline :offset-assert 0)
(no-follow basic :offset-assert 64)
(follow-pt vector :inline :offset-assert 80)
(follow-off vector :inline :offset-assert 96)
(follow-blend float :offset-assert 112)
(tilt-adjust cam-float-seeker :inline :offset-assert 116)
(use-point-of-interest basic :offset-assert 140)
(point-of-interest vector :inline :offset-assert 144)
(point-of-interest-blend cam-float-seeker :inline :offset-assert 160)
(underwater-blend cam-float-seeker :inline :offset-assert 184)
)
:method-count-assert 9
:size-assert #xd0
:flag-assert #x9000000d0
)
;; definition for method 3 of type cam-rotation-tracker
(defmethod inspect cam-rotation-tracker ((obj cam-rotation-tracker))
(format #t "[~8x] ~A~%" obj 'cam-rotation-tracker)
(format #t "~Tinv-mat: ~`matrix`P~%" (-> obj inv-mat))
(format #t "~Tno-follow: ~A~%" (-> obj no-follow))
(format #t "~Tfollow-pt: ~`vector`P~%" (-> obj follow-pt))
(format #t "~Tfollow-off: ~`vector`P~%" (-> obj follow-off))
(format #t "~Tfollow-blend: ~f~%" (-> obj follow-blend))
(format #t "~Ttilt-adjust: #<cam-float-seeker @ #x~X>~%" (-> obj tilt-adjust))
(format #t "~Tuse-point-of-interest: ~A~%" (-> obj use-point-of-interest))
(format #t "~Tpoint-of-interest: ~`vector`P~%" (-> obj point-of-interest))
(format
#t
"~Tpoint-of-interest-blend: #<cam-float-seeker @ #x~X>~%"
(-> obj point-of-interest-blend)
)
(format
#t
"~Tunderwater-blend: #<cam-float-seeker @ #x~X>~%"
(-> obj underwater-blend)
)
obj
)
;; definition of type camera-combiner
(deftype camera-combiner (process)
((trans vector :inline :offset-assert 112)
(inv-camera-rot matrix :inline :offset-assert 128)
(fov float :offset-assert 192)
(interp-val float :offset-assert 196)
(interp-step float :offset-assert 200)
(dist-from-src float :offset-assert 204)
(dist-from-dest float :offset-assert 208)
(flip-control-axis vector :inline :offset-assert 224)
(velocity vector :inline :offset-assert 240)
(tracking-status uint64 :offset-assert 256)
(tracking-options int32 :offset-assert 264)
(tracking cam-rotation-tracker :inline :offset-assert 272)
)
:heap-base #x170
:method-count-assert 14
:size-assert #x1e0
:flag-assert #xe017001e0
)
;; definition for method 3 of type camera-combiner
(defmethod inspect camera-combiner ((obj camera-combiner))
(let ((t9-0 (method-of-type process inspect)))
(t9-0 obj)
)
(format #t "~T~Ttrans: ~`vector`P~%" (-> obj stack))
(format #t "~T~Tinv-camera-rot: ~`matrix`P~%" (&-> obj stack 16))
(format #t "~T~Tfov: ~f~%" (-> obj fov))
(format #t "~T~Tinterp-val: ~f~%" (-> obj interp-val))
(format #t "~T~Tinterp-step: ~f~%" (-> obj interp-step))
(format #t "~T~Tdist-from-src: ~f~%" (-> obj dist-from-src))
(format #t "~T~Tdist-from-dest: ~f~%" (-> obj dist-from-dest))
(format #t "~T~Tflip-control-axis: #<vector @ #x~X>~%" (&-> obj stack 112))
(format #t "~T~Tvelocity: #<vector @ #x~X>~%" (&-> obj stack 128))
(format #t "~T~Ttracking-status: ~D~%" (-> obj tracking-status))
(format #t "~T~Ttracking-options: ~D~%" (-> obj tracking-options))
(format
#t
"~T~Ttracking: #<cam-rotation-tracker @ #x~X>~%"
(&-> obj stack 160)
)
obj
)
;; definition of type camera-slave
(deftype camera-slave (process)
((trans vector :inline :offset-assert 112)
(fov float :offset-assert 128)
(fov0 float :offset-assert 132)
(fov1 float :offset-assert 136)
(fov-index cam-index :inline :offset-assert 144)
(tracking cam-rotation-tracker :inline :offset-assert 192)
(view-off-param float :offset-assert 400)
(view-off vector :inline :offset-assert 416)
(min-z-override float :offset-assert 432)
(view-flat vector :inline :offset-assert 448)
(string-vel-dir uint32 :offset-assert 464)
(string-trans vector :inline :offset-assert 480)
(position-spline tracking-spline :inline :offset-assert 496)
(pivot-pt vector :inline :offset-assert 2144)
(pivot-rad float :offset-assert 2160)
(circular-follow vector :inline :offset-assert 2176)
(max-angle-offset float :offset-assert 2192)
(max-angle-curr float :offset-assert 2196)
(options uint32 :offset-assert 2200)
(cam-entity basic :offset-assert 2204)
(velocity vector :inline :offset-assert 2208)
(desired-pos vector :inline :offset-assert 2224)
(time-dist-too-far uint32 :offset-assert 2240)
(los-state uint32 :offset-assert 2244)
(good-point vector :inline :offset-assert 2256)
(los-tgt-spline-pt int32 :offset-assert 2272)
(los-tgt-spline-pt-incarnation int32 :offset-assert 2276)
(los-last-pos vector :inline :offset-assert 2288)
(intro-curve curve :inline :offset-assert 2304)
(intro-offset vector :inline :offset-assert 2336)
(intro-t float :offset-assert 2352)
(intro-t-step float :offset-assert 2356)
(outro-exit-value float :offset-assert 2360)
(spline-exists basic :offset-assert 2364)
(spline-curve curve :inline :offset-assert 2368)
(spline-offset vector :inline :offset-assert 2400)
(index cam-index :inline :offset-assert 2416)
(saved-pt vector :inline :offset-assert 2464)
(spline-tt float :offset-assert 2480)
(spline-follow-dist float :offset-assert 2484)
(change-event-from uint32 :offset-assert 2488)
(enter-has-run basic :offset-assert 2492)
(blend-from-type uint64 :offset-assert 2496)
(blend-to-type uint64 :offset-assert 2504)
(have-phony-joystick basic :offset-assert 2512)
(phony-joystick-x float :offset-assert 2516)
(phony-joystick-y float :offset-assert 2520)
(string-min-val vector :inline :offset-assert 2528)
(string-max-val vector :inline :offset-assert 2544)
(string-val-locked basic :offset-assert 2560)
)
:heap-base #x9a0
:method-count-assert 14
:size-assert #xa04
:flag-assert #xe09a00a04
)
;; definition for method 3 of type camera-slave
(defmethod inspect camera-slave ((obj camera-slave))
(let ((t9-0 (method-of-type process inspect)))
(t9-0 obj)
)
(format #t "~T~Ttrans: ~`vector`P~%" (-> obj stack))
(format #t "~T~Tfov: ~f~%" (-> obj fov))
(format #t "~T~Tfov0: ~f~%" (-> obj fov0))
(format #t "~T~Tfov1: ~f~%" (-> obj fov1))
(format #t "~T~Tfov-index: #<cam-index @ #x~X>~%" (&-> obj stack 32))
(format
#t
"~T~Ttracking: #<cam-rotation-tracker @ #x~X>~%"
(&-> obj stack 80)
)
(format #t "~T~Tview-off-param: ~f~%" (-> obj view-off-param))
(format #t "~T~Tview-off: ~`vector`P~%" (&-> obj stack 304))
(format #t "~T~Tmin-z-override: ~f~%" (-> obj min-z-override))
(format #t "~T~Tview-flat: ~`vector`P~%" (&-> obj stack 336))
(format #t "~T~Tstring-vel-dir: ~D~%" (-> obj string-vel-dir))
(format #t "~T~Tstring-trans: ~`vector`P~%" (&-> obj stack 368))
(format
#t
"~T~Tposition-spline: #<tracking-spline @ #x~X>~%"
(&-> obj stack 384)
)
(format #t "~T~Tpivot-pt: ~`vector`P~%" (&-> obj stack 2032))
(format #t "~T~Tpivot-rad: ~f~%" (-> obj pivot-rad))
(format #t "~T~Tcircular-follow: #<vector @ #x~X>~%" (&-> obj stack 2064))
(format #t "~T~Tmax-angle-offset: ~f~%" (-> obj max-angle-offset))
(format #t "~T~Tmax-angle-curr: ~f~%" (-> obj max-angle-curr))
(format #t "~T~Toptions: ~D~%" (-> obj options))
(format #t "~T~Tcam-entity: ~A~%" (-> obj cam-entity))
(format #t "~T~Tvelocity: ~`vector`P~%" (&-> obj stack 2096))
(format #t "~T~Tdesired-pos: ~`vector`P~%" (&-> obj stack 2112))
(format #t "~T~Ttime-dist-too-far: ~D~%" (-> obj time-dist-too-far))
(format #t "~T~Tlos-state: ~D~%" (-> obj los-state))
(format #t "~T~Tgood-point: ~`vector`P~%" (&-> obj stack 2144))
(format #t "~T~Tlos-tgt-spline-pt: ~D~%" (-> obj los-tgt-spline-pt))
(format
#t
"~T~Tlos-tgt-spline-pt-incarnation: ~D~%"
(-> obj los-tgt-spline-pt-incarnation)
)
(format #t "~T~Tlos-last-pos: ~`vector`P~%" (&-> obj stack 2176))
(format #t "~T~Tintro-curve: #<curve @ #x~X>~%" (&-> obj stack 2192))
(format #t "~T~Tintro-offset: #<vector @ #x~X>~%" (&-> obj stack 2224))
(format #t "~T~Tintro-t: ~f~%" (-> obj intro-t))
(format #t "~T~Tintro-t-step: ~f~%" (-> obj intro-t-step))
(format #t "~T~Toutro-exit-value: ~f~%" (-> obj outro-exit-value))
(format #t "~T~Tspline-exists: ~A~%" (-> obj spline-exists))
(format #t "~T~Tspline-curve: #<curve @ #x~X>~%" (&-> obj stack 2256))
(format #t "~T~Tspline-offset: #<vector @ #x~X>~%" (&-> obj stack 2288))
(format #t "~T~Tindex: #<cam-index @ #x~X>~%" (&-> obj stack 2304))
(format #t "~T~Tsaved-pt: #<vector @ #x~X>~%" (&-> obj stack 2352))
(format #t "~T~Tspline-tt: ~f~%" (-> obj spline-tt))
(format #t "~T~Tspline-follow-dist: ~f~%" (-> obj spline-follow-dist))
(format #t "~T~Tchange-event-from: #x~X~%" (-> obj change-event-from))
(format #t "~T~Tenter-has-run: ~A~%" (-> obj enter-has-run))
(format #t "~T~Tblend-from-type: ~D~%" (-> obj blend-from-type))
(format #t "~T~Tblend-to-type: ~D~%" (-> obj blend-to-type))
(format #t "~T~Thave-phony-joystick: ~A~%" (-> obj have-phony-joystick))
(format #t "~T~Tphony-joystick-x: ~f~%" (-> obj phony-joystick-x))
(format #t "~T~Tphony-joystick-y: ~f~%" (-> obj phony-joystick-y))
(format #t "~T~Tstring-min-val: #<vector @ #x~X>~%" (&-> obj stack 2416))
(format #t "~T~Tstring-max-val: #<vector @ #x~X>~%" (&-> obj stack 2432))
(format #t "~T~Tstring-val-locked: ~A~%" (-> obj string-val-locked))
obj
)
;; definition of type camera-master
(deftype camera-master (process)
((master-options uint32 :offset-assert 112)
(num-slaves int32 :offset-assert 116)
(slave basic 2 :offset-assert 120)
(slave-options uint32 :offset-assert 128)
(view-off-param-save float :offset-assert 132)
(changer uint32 :offset-assert 136)
(cam-entity basic :offset-assert 140)
(stringMinLength float :offset-assert 144)
(stringMaxLength float :offset-assert 148)
(stringMinHeight float :offset-assert 152)
(stringMaxHeight float :offset-assert 156)
(string-min cam-vector-seeker :inline :offset-assert 160)
(string-max cam-vector-seeker :inline :offset-assert 224)
(string-push-z float :offset-assert 284)
(stringCliffHeight float :offset-assert 288)
(no-intro uint32 :offset-assert 292)
(force-blend uint32 :offset-assert 296)
(force-blend-time uint32 :offset-assert 300)
(local-down vector :inline :offset-assert 304)
(drawable-target uint64 :offset-assert 320)
(which-bone int32 :offset-assert 328)
(pov-handle uint64 :offset-assert 336)
(pov-bone int32 :offset-assert 344)
(being-attacked basic :offset-assert 348)
(attack-start uint64 :offset-assert 352)
(on-ground basic :offset-assert 360)
(under-water int32 :offset-assert 364)
(on-pole basic :offset-assert 368)
(tgt-rot-mat matrix :inline :offset-assert 384)
(tgt-face-mat matrix :inline :offset-assert 448)
(tpos-old vector :inline :offset-assert 512)
(tpos-curr vector :inline :offset-assert 528)
(target-height float :offset-assert 544)
(tpos-old-adj vector :inline :offset-assert 560)
(tpos-curr-adj vector :inline :offset-assert 576)
(tpos-tgt vector :inline :offset-assert 592)
(upspeed float :offset-assert 608)
(pitch-off vector :inline :offset-assert 624)
(foot-offset float :offset-assert 640)
(head-offset float :offset-assert 644)
(target-spline tracking-spline :inline :offset-assert 656)
(ease-from vector :inline :offset-assert 2304)
(ease-t float :offset-assert 2320)
(ease-step float :offset-assert 2324)
(ease-to vector :inline :offset-assert 2336)
(outro-curve curve :inline :offset-assert 2352)
(outro-t float :offset-assert 2372)
(outro-t-step float :offset-assert 2376)
(outro-exit-value float :offset-assert 2380)
(water-drip-time uint64 :offset-assert 2384)
(water-drip basic :offset-assert 2392)
(water-drip-mult float :offset-assert 2396)
(water-drip-speed float :offset-assert 2400)
)
:heap-base #x900
:method-count-assert 14
:size-assert #x964
:flag-assert #xe09000964
)
;; definition for method 3 of type camera-master
(defmethod inspect camera-master ((obj camera-master))
(let ((t9-0 (method-of-type process inspect)))
(t9-0 obj)
)
(format #t "~T~Tmaster-options: ~D~%" (-> obj master-options))
(format #t "~T~Tnum-slaves: ~D~%" (-> obj num-slaves))
(format #t "~T~Tslave[2] @ #x~X~%" (&-> obj stack 8))
(format #t "~T~Tslave-options: ~D~%" (-> obj slave-options))
(format #t "~T~Tview-off-param-save: ~f~%" (-> obj view-off-param-save))
(format #t "~T~Tchanger: #x~X~%" (-> obj changer))
(format #t "~T~Tcam-entity: ~A~%" (-> obj cam-entity))
(format #t "~T~TstringMinLength: ~f~%" (-> obj stringMinLength))
(format #t "~T~TstringMaxLength: ~f~%" (-> obj stringMaxLength))
(format #t "~T~TstringMinHeight: ~f~%" (-> obj stringMinHeight))
(format #t "~T~TstringMaxHeight: ~f~%" (-> obj stringMaxHeight))
(format #t "~T~Tstring-min: #<cam-vector-seeker @ #x~X>~%" (&-> obj stack 48))
(format
#t
"~T~Tstring-max: #<cam-vector-seeker @ #x~X>~%"
(&-> obj stack 112)
)
(format #t "~T~Tstring-push-z: ~f~%" (-> obj string-push-z))
(format #t "~T~TstringCliffHeight: ~f~%" (-> obj stringCliffHeight))
(format #t "~T~Tno-intro: ~D~%" (-> obj no-intro))
(format #t "~T~Tforce-blend: ~D~%" (-> obj force-blend))
(format #t "~T~Tforce-blend-time: ~D~%" (-> obj force-blend-time))
(format #t "~T~Tlocal-down: ~`vector`P~%" (&-> obj stack 192))
(format #t "~T~Tdrawable-target: ~D~%" (-> obj drawable-target))
(format #t "~T~Twhich-bone: ~D~%" (-> obj which-bone))
(format #t "~T~Tpov-handle: ~D~%" (-> obj pov-handle))
(format #t "~T~Tpov-bone: ~D~%" (-> obj pov-bone))
(format #t "~T~Tbeing-attacked: ~A~%" (-> obj being-attacked))
(format #t "~T~Tattack-start: ~D~%" (-> obj attack-start))
(format #t "~T~Ton-ground: ~A~%" (-> obj on-ground))
(format #t "~T~Tunder-water: ~D~%" (-> obj under-water))
(format #t "~T~Ton-pole: ~A~%" (-> obj on-pole))
(format #t "~T~Ttgt-rot-mat: ~`matrix`P~%" (&-> obj stack 272))
(format #t "~T~Ttgt-face-mat: ~`matrix`P~%" (&-> obj stack 336))
(format #t "~T~Ttpos-old: ~`vector`P~%" (&-> obj stack 400))
(format #t "~T~Ttpos-curr: ~`vector`P~%" (&-> obj stack 416))
(format #t "~T~Ttarget-height: ~f~%" (-> obj target-height))
(format #t "~T~Ttpos-old-adj: ~`vector`P~%" (&-> obj stack 448))
(format #t "~T~Ttpos-curr-adj: ~`vector`P~%" (&-> obj stack 464))
(format #t "~T~Ttpos-tgt: ~`vector`P~%" (&-> obj stack 480))
(format #t "~T~Tupspeed: ~f~%" (-> obj upspeed))
(format #t "~T~Tpitch-off: ~`vector`P~%" (&-> obj stack 512))
(format #t "~T~Tfoot-offset: ~f~%" (-> obj foot-offset))
(format #t "~T~Thead-offset: ~f~%" (-> obj head-offset))
(format
#t
"~T~Ttarget-spline: #<tracking-spline @ #x~X>~%"
(&-> obj stack 544)
)
(format #t "~T~Tease-from: #<vector @ #x~X>~%" (&-> obj stack 2192))
(format #t "~T~Tease-t: ~f~%" (-> obj ease-t))
(format #t "~T~Tease-step: ~f~%" (-> obj ease-step))
(format #t "~T~Tease-to: #<vector @ #x~X>~%" (&-> obj stack 2224))
(format #t "~T~Toutro-curve: #<curve @ #x~X>~%" (&-> obj stack 2240))
(format #t "~T~Toutro-t: ~f~%" (-> obj outro-t))
(format #t "~T~Toutro-t-step: ~f~%" (-> obj outro-t-step))
(format #t "~T~Toutro-exit-value: ~f~%" (-> obj outro-exit-value))
(format #t "~T~Twater-drip-time: ~D~%" (-> obj water-drip-time))
(format #t "~T~Twater-drip: ~A~%" (-> obj water-drip))
(format #t "~T~Twater-drip-mult: ~f~%" (-> obj water-drip-mult))
(format #t "~T~Twater-drip-speed: ~f~%" (-> obj water-drip-speed))
obj
)
;; failed to figure out what this is:
(let ((v0-11 0))
)
@@ -0,0 +1,318 @@
;;-*-Lisp-*-
(in-package goal)
;; definition for symbol *generate-actor-vis*, type symbol
(define *generate-actor-vis* #f)
;; definition for symbol *generate-actor-vis-start*, type symbol
(define *generate-actor-vis-start* #f)
;; definition for symbol *generate-actor-vis-output*, type symbol
(define *generate-actor-vis-output* #f)
;; definition of type entity-perm
(deftype entity-perm (structure)
((user-object object 2 :offset-assert 0)
(user-uint64 uint64 :offset 0)
(user-float float 2 :offset 0)
(user-int32 int32 2 :offset 0)
(user-uint32 uint32 2 :offset 0)
(user-int16 int16 4 :offset 0)
(user-uint16 uint16 4 :offset 0)
(user-int8 int8 8 :offset 0)
(user-uint8 uint8 8 :offset 0)
(status uint16 :offset-assert 8)
(dummy uint8 1 :offset-assert 10)
(task uint8 :offset-assert 11)
(aid uint32 :offset-assert 12)
(quad uint128 :offset 0)
)
:pack-me
:method-count-assert 10
:size-assert #x10
:flag-assert #xa00000010
(:methods
(dummy-9 () none 9)
)
)
;; definition for method 3 of type entity-perm
;; Used lq/sq
(defmethod inspect entity-perm ((obj entity-perm))
(format #t "[~8x] ~A~%" obj 'entity-perm)
(format #t "~Tuser-object[2] @ #x~X~%" (-> obj user-object))
(format #t "~Tuser-uint64: ~D~%" (-> obj user-uint64))
(format #t "~Tuser-float[2] @ #x~X~%" (-> obj user-object))
(format #t "~Tuser-int32[2] @ #x~X~%" (-> obj user-object))
(format #t "~Tuser-uint32[2] @ #x~X~%" (-> obj user-object))
(format #t "~Tuser-int16[4] @ #x~X~%" (-> obj user-object))
(format #t "~Tuser-uint16[4] @ #x~X~%" (-> obj user-object))
(format #t "~Tuser-int8[8] @ #x~X~%" (-> obj user-object))
(format #t "~Tuser-uint8[8] @ #x~X~%" (-> obj user-object))
(format #t "~Tstatus: ~D~%" (-> obj status))
(format #t "~Tdummy[1] @ #x~X~%" (-> obj dummy))
(format #t "~Ttask: ~D~%" (-> obj task))
(format #t "~Taid: ~D~%" (-> obj aid))
(format #t "~Tquad: ~D~%" (-> obj quad))
obj
)
;; definition of type entity-links
(deftype entity-links (structure)
((prev-link entity-links :offset-assert 0)
(next-link entity-links :offset-assert 4)
(entity basic :offset-assert 8)
(process basic :offset-assert 12)
(level basic :offset-assert 16)
(vis-id int32 :offset-assert 20)
(trans vector :inline :offset-assert 32)
(perm entity-perm :inline :offset-assert 48)
(status uint16 :offset 56)
(aid uint32 :offset 60)
(task uint8 :offset 59)
)
:method-count-assert 10
:size-assert #x40
:flag-assert #xa00000040
(:methods
(dummy-9 () none 9)
)
)
;; definition for method 3 of type entity-links
(defmethod inspect entity-links ((obj entity-links))
(format #t "[~8x] ~A~%" obj 'entity-links)
(format #t "~Tprev-link: #<entity-links @ #x~X>~%" (-> obj prev-link))
(format #t "~Tnext-link: #<entity-links @ #x~X>~%" (-> obj next-link))
(format #t "~Tentity: ~A~%" (-> obj entity))
(format #t "~Tprocess: ~A~%" (-> obj process))
(format #t "~Tlevel: ~A~%" (-> obj level))
(format #t "~Tvis-id: ~D~%" (-> obj vis-id))
(format #t "~Ttrans: ~`vector`P~%" (-> obj trans))
(format #t "~Tperm: ~`entity-perm`P~%" (-> obj perm))
(format #t "~Tstatus: ~D~%" (-> obj perm status))
(format #t "~Taid: ~D~%" (-> obj perm aid))
(format #t "~Ttask: ~D~%" (-> obj perm task))
obj
)
;; definition of type entity-perm-array
(deftype entity-perm-array (inline-array-class)
()
:method-count-assert 9
:size-assert #x10
:flag-assert #x900000010
)
;; definition for method 3 of type entity-perm-array
(defmethod inspect entity-perm-array ((obj entity-perm-array))
(format #t "[~8x] ~A~%" obj (-> obj type))
(format #t "~Tlength: ~D~%" (-> obj length))
(format #t "~Tallocated-length: ~D~%" (-> obj allocated-length))
(format #t "~Tdata[0] @ #x~X~%" (&-> obj data 4))
obj
)
;; failed to figure out what this is:
(set! (-> entity-perm-array heap-base) (the-as uint 16))
;; definition of type entity-links-array
(deftype entity-links-array (inline-array-class)
()
:method-count-assert 9
:size-assert #x10
:flag-assert #x900000010
)
;; definition for method 3 of type entity-links-array
(defmethod inspect entity-links-array ((obj entity-links-array))
(format #t "[~8x] ~A~%" obj (-> obj type))
(format #t "~Tlength: ~D~%" (-> obj length))
(format #t "~Tallocated-length: ~D~%" (-> obj allocated-length))
(format #t "~Tdata[0] @ #x~X~%" (&-> obj data 4))
obj
)
;; failed to figure out what this is:
(set! (-> entity-links-array heap-base) (the-as uint 64))
;; definition of type entity
(deftype entity (res-lump)
((trans vector :inline :offset-assert 32)
(aid uint32 :offset-assert 48)
)
:method-count-assert 27
:size-assert #x34
:flag-assert #x1b00000034
(:methods
(dummy-22 () none 22)
(dummy-23 () none 23)
(dummy-24 () none 24)
(dummy-25 () none 25)
(dummy-26 () none 26)
)
)
;; definition of type entity-camera
(deftype entity-camera (entity)
((connect connectable :inline :offset-assert 64)
)
:method-count-assert 27
:size-assert #x50
:flag-assert #x1b00000050
)
;; definition of type entity-ambient-data
(deftype entity-ambient-data (structure)
((user-object object 3 :offset-assert 0)
(function basic :offset-assert 12)
(quad uint128 :offset 0)
(user-uint64 uint64 1 :offset 0)
(user-float float 3 :offset 0)
(user-int32 int32 3 :offset 0)
(user-uint32 uint32 3 :offset 0)
(user-int16 int16 6 :offset 0)
(user-uint16 uint16 6 :offset 0)
(user-int8 int8 12 :offset 0)
(user-uint8 uint8 12 :offset 0)
)
:method-count-assert 9
:size-assert #x10
:flag-assert #x900000010
)
;; definition for method 3 of type entity-ambient-data
;; Used lq/sq
(defmethod inspect entity-ambient-data ((obj entity-ambient-data))
(format #t "[~8x] ~A~%" obj 'entity-ambient-data)
(format #t "~Tuser-object[3] @ #x~X~%" (-> obj user-object))
(format #t "~Tfunction: ~A~%" (-> obj function))
(format #t "~Tquad: ~D~%" (-> obj quad))
(format #t "~Tuser-uint64[1] @ #x~X~%" (-> obj user-object))
(format #t "~Tuser-float[3] @ #x~X~%" (-> obj user-object))
(format #t "~Tuser-int32[3] @ #x~X~%" (-> obj user-object))
(format #t "~Tuser-uint32[3] @ #x~X~%" (-> obj user-object))
(format #t "~Tuser-int16[6] @ #x~X~%" (-> obj user-object))
(format #t "~Tuser-uint16[6] @ #x~X~%" (-> obj user-object))
(format #t "~Tuser-int8[12] @ #x~X~%" (-> obj user-object))
(format #t "~Tuser-uint8[12] @ #x~X~%" (-> obj user-object))
obj
)
;; definition of type entity-ambient-data-array
(deftype entity-ambient-data-array (inline-array-class)
()
:method-count-assert 9
:size-assert #x10
:flag-assert #x900000010
)
;; definition for method 3 of type entity-ambient-data-array
(defmethod inspect entity-ambient-data-array ((obj entity-ambient-data-array))
(format #t "[~8x] ~A~%" obj (-> obj type))
(format #t "~Tlength: ~D~%" (-> obj length))
(format #t "~Tallocated-length: ~D~%" (-> obj allocated-length))
(format #t "~Tdata[0] @ #x~X~%" (&-> obj data 4))
obj
)
;; failed to figure out what this is:
(set! (-> entity-ambient-data-array heap-base) (the-as uint 16))
;; definition of type entity-ambient
(deftype entity-ambient (entity)
()
:method-count-assert 29
:size-assert #x34
:flag-assert #x1d00000034
(:methods
(dummy-27 () none 27)
(dummy-28 () none 28)
)
)
;; definition of type entity-actor
(deftype entity-actor (entity)
((nav-mesh nav-mesh :offset-assert 52)
(etype basic :offset-assert 56)
(task uint8 :offset-assert 60)
(vis-id uint16 :offset-assert 62)
(quat quaternion :inline :offset-assert 64)
)
:method-count-assert 31
:size-assert #x50
:flag-assert #x1f00000050
(:methods
(dummy-27 () none 27)
(dummy-28 () none 28)
(dummy-29 () none 29)
(dummy-30 () none 30)
)
)
;; definition of type entity-info
(deftype entity-info (basic)
((ptype basic :offset-assert 4)
(package basic :offset-assert 8)
(art-group basic :offset-assert 12)
(pool basic :offset-assert 16)
(heap-size int32 :offset-assert 20)
)
:method-count-assert 9
:size-assert #x18
:flag-assert #x900000018
)
;; definition for method 3 of type entity-info
(defmethod inspect entity-info ((obj entity-info))
(format #t "[~8x] ~A~%" obj (-> obj type))
(format #t "~Tptype: ~A~%" (-> obj ptype))
(format #t "~Tpackage: ~A~%" (-> obj package))
(format #t "~Tart-group: ~A~%" (-> obj art-group))
(format #t "~Tpool: ~A~%" (-> obj pool))
(format #t "~Theap-size: ~D~%" (-> obj heap-size))
obj
)
;; failed to figure out what this is:
(if (zero? entity-nav-login)
(set! entity-nav-login nothing)
)
;; definition of type actor-bank
(deftype actor-bank (basic)
((pause-dist float :offset-assert 4)
(birth-dist float :offset-assert 8)
(birth-max int32 :offset-assert 12)
)
:method-count-assert 9
:size-assert #x10
:flag-assert #x900000010
)
;; definition for method 3 of type actor-bank
(defmethod inspect actor-bank ((obj actor-bank))
(format #t "[~8x] ~A~%" obj (-> obj type))
(format #t "~Tpause-dist: ~f~%" (-> obj pause-dist))
(format #t "~Tbirth-dist: ~f~%" (-> obj birth-dist))
(format #t "~Tbirth-max: ~D~%" (-> obj birth-max))
obj
)
;; definition for symbol *ACTOR-bank*, type actor-bank
(define
*ACTOR-bank*
(new 'static 'actor-bank
:pause-dist 204800.0
:birth-dist 901120.0
:birth-max 10
)
)
;; failed to figure out what this is:
(let ((v0-12 0))
)