mirror of
https://github.com/open-goal/jak-project
synced 2026-09-03 02:14:07 -04:00
d/jak2: finish scene-actor, scene-looper, race-part, rigid-body-plat, debug-part, voicebox (#1987)
Co-authored-by: water <awaterford111445@gmail.com>
This commit is contained in:
+111
-122
@@ -10646,7 +10646,7 @@
|
||||
:size-assert #x206c
|
||||
:flag-assert #x5c0000206c
|
||||
(:methods
|
||||
(ocean-method-11 (_type_ (inline-array vector) symbol) float 11)
|
||||
(ocean-method-11 (_type_ vector symbol) float 11)
|
||||
(draw! (_type_) none 12)
|
||||
(update-map (_type_) none 13)
|
||||
(ocean-method-14 () none 14)
|
||||
@@ -10656,7 +10656,7 @@
|
||||
(ocean-method-18 () none 18)
|
||||
(ocean-method-19 () none 19)
|
||||
(ocean-method-20 () none 20)
|
||||
(ocean-method-21 () none 21)
|
||||
(ocean-method-21 (_type_ float float) float 21)
|
||||
(ocean-method-22 () none 22)
|
||||
(ocean-method-23 () none 23)
|
||||
(ocean-method-24 () none 24)
|
||||
@@ -15034,7 +15034,7 @@
|
||||
(declare-type scene-player basic)
|
||||
(deftype scene-actor (basic)
|
||||
((name string :offset-assert 4)
|
||||
(level basic :offset-assert 8)
|
||||
(level symbol :offset-assert 8)
|
||||
(art-group string :offset-assert 12)
|
||||
(prefix string :offset-assert 16)
|
||||
(draw-frames pair :offset-assert 20) ;; some form of pair?
|
||||
@@ -15065,24 +15065,28 @@
|
||||
(art-group string :offset-assert 40)
|
||||
(anim string :offset-assert 44)
|
||||
(parts int32 :offset-assert 48)
|
||||
(command-list basic :offset-assert 52)
|
||||
(command-list pair :offset-assert 52)
|
||||
(cut-list pair :offset-assert 56)
|
||||
(wait-max-time time-frame :offset-assert 64)
|
||||
(wait-air-time time-frame :offset-assert 72)
|
||||
(wait-ground-time time-frame :offset-assert 80)
|
||||
(draw-target level-load-info :offset-assert 88)
|
||||
(abort basic :offset-assert 92)
|
||||
(abort symbol :offset-assert 92)
|
||||
(actor (array scene-actor) :offset-assert 96)
|
||||
(load-point string :offset-assert 100)
|
||||
(end-point string :offset-assert 104)
|
||||
(borrow basic :offset-assert 108)
|
||||
(load-point-obj object :offset-assert 100 :score 100) ;; TODO - unfortunate requirement
|
||||
(load-point continue-point :offset 100)
|
||||
(load-point-name string :offset 100)
|
||||
(end-point-obj object :offset-assert 104 :score 100) ;; TODO - unfortunate requirement
|
||||
(end-point continue-point :offset 104)
|
||||
(end-point-name string :offset 104)
|
||||
(borrow pair :offset-assert 108) ;; seen .empty-list
|
||||
(sfx-volume float :offset-assert 112)
|
||||
(ambient-volume float :offset-assert 116)
|
||||
(music-volume float :offset-assert 120)
|
||||
(blackout-end basic :offset-assert 124)
|
||||
(peaceful basic :offset-assert 128)
|
||||
(music-volume float :offset-assert 120)
|
||||
(blackout-end symbol :offset-assert 124)
|
||||
(peaceful symbol :offset-assert 128)
|
||||
(music-delay float :offset-assert 132)
|
||||
(save basic :offset-assert 136)
|
||||
(save symbol :offset-assert 136)
|
||||
(scene-task uint16 :offset-assert 140)
|
||||
)
|
||||
:method-count-assert 17
|
||||
@@ -15898,7 +15902,7 @@
|
||||
)
|
||||
|
||||
(deftype collide-rider (structure)
|
||||
((rider-handle uint64 :offset-assert 0)
|
||||
((rider-handle handle :offset-assert 0)
|
||||
(sticky-prim basic :offset-assert 8)
|
||||
(prim-ry float :offset-assert 12)
|
||||
(rider-local-pos vector :inline :offset-assert 16)
|
||||
@@ -17204,9 +17208,14 @@
|
||||
(play-game (game-task-event) _type_ :state 30) ;; (idle () _type_ :state 30)
|
||||
(process-taskable-method-31 (_type_) none 31) ;; (get-art-elem (_type_) art-element 31)
|
||||
(process-taskable-method-32 (_type_) none 32) ;; (play-anim! (_type_ symbol) basic 32)
|
||||
(process-taskable-method-33 (_type_) none 33) ;; (dummy-33 (_type_) none 33)
|
||||
(init-skeleton!
|
||||
"@see [[initialize-skeleton]]"
|
||||
(_type_) none 33) ;; (dummy-33 (_type_) none 33)
|
||||
(process-taskable-method-34 (_type_) symbol 34) ;; (get-accept-anim (_type_ symbol) spool-anim 34)
|
||||
(process-taskable-method-35 (_type_) art-joint-anim 35) ;; (push-accept-anim (_type_) none 35)
|
||||
(get-art-elem
|
||||
"Checks various things such the current actor, task status, etc to determine the right art-group data to use
|
||||
@returns the appropriate [[art-element]] for the given NPC"
|
||||
(_type_) art-element 35) ;; TODO - is it always an art-joint-anim?
|
||||
(process-taskable-method-36 (_type_) none 36) ;; (get-reject-anim (_type_ symbol) spool-anim 36)
|
||||
(process-taskable-method-37 (_type_) none 37) ;; (push-reject-anim (_type_) none 37)
|
||||
)
|
||||
@@ -17696,6 +17705,7 @@
|
||||
|
||||
(deftype target (process-focusable)
|
||||
((control control-info :offset 128 :score 200) ;; guessed by decompiler
|
||||
(fact-info-override fact-info-target :offset 160 :score 100)
|
||||
(skel2 joint-control :offset-assert 204)
|
||||
(shadow-backup shadow-geo :offset-assert 208)
|
||||
(target-flags uint32 :offset 188)
|
||||
@@ -20397,7 +20407,8 @@
|
||||
cam-bike
|
||||
cam-robotboss ;; TODO - state docstrings "A holdout from jak 1?"
|
||||
cam-point-watch
|
||||
cam-free-floating))
|
||||
cam-free-floating
|
||||
cam-remote))
|
||||
|
||||
(deftype camera-master (process)
|
||||
((master-options uint32 :offset-assert 128)
|
||||
@@ -28238,7 +28249,6 @@
|
||||
;; voicebox ;;
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
|
||||
#|
|
||||
(deftype camera-remote (camera-slave)
|
||||
()
|
||||
:method-count-assert 14
|
||||
@@ -28247,17 +28257,16 @@
|
||||
(:methods
|
||||
)
|
||||
)
|
||||
|#
|
||||
|
||||
#|
|
||||
(deftype remote (process-drawable)
|
||||
((base-trans vector :inline :offset-assert 204)
|
||||
(focus focus :inline :offset-assert 220)
|
||||
(seeker cam-float-seeker :inline :offset-assert 232)
|
||||
(start-time time-frame :offset-assert 260)
|
||||
(blend float :offset-assert 268)
|
||||
(twist float :offset-assert 272)
|
||||
(speak-effect? basic :offset-assert 276)
|
||||
((parent-override (pointer camera-slave) :offset 16 :score 100)
|
||||
(base-trans vector :inline :offset-assert 208)
|
||||
(focus focus :inline :offset-assert 224)
|
||||
(seeker cam-float-seeker :inline :offset-assert 236)
|
||||
(start-time time-frame :offset-assert 264)
|
||||
(blend float :offset-assert 272)
|
||||
(twist float :offset-assert 276)
|
||||
(speak-effect? basic :offset-assert 280)
|
||||
)
|
||||
:method-count-assert 26
|
||||
:size-assert #x11c
|
||||
@@ -28266,16 +28275,14 @@
|
||||
(enter () _type_ :state 20)
|
||||
(idle () _type_ :state 21)
|
||||
(exit () _type_ :state 22)
|
||||
(remote-method-23 () none 23)
|
||||
(remote-method-24 () none 24)
|
||||
(remote-method-25 () none 25)
|
||||
(remote-method-23 (_type_) none 23)
|
||||
(remote-method-24 (_type_ vector) float 24)
|
||||
(remote-method-25 (_type_) none 25)
|
||||
)
|
||||
)
|
||||
|#
|
||||
|
||||
#|
|
||||
(deftype voicebox (remote)
|
||||
((hint uint64 :offset-assert 284) ;; handle
|
||||
((hint handle :offset-assert 288) ;; handle
|
||||
)
|
||||
:method-count-assert 26
|
||||
:size-assert #x128
|
||||
@@ -28283,31 +28290,27 @@
|
||||
(:methods
|
||||
)
|
||||
)
|
||||
|#
|
||||
|
||||
#|
|
||||
(deftype judge (remote)
|
||||
((total-time time-frame :offset-assert 284)
|
||||
(beep-time time-frame :offset-assert 292)
|
||||
(hud-timer uint64 :offset-assert 300)
|
||||
(score uint8 :offset-assert 308)
|
||||
((total-time time-frame :offset-assert 288)
|
||||
(beep-time time-frame :offset-assert 296)
|
||||
(hud-timer handle :offset-assert 304)
|
||||
(score uint8 :offset-assert 312)
|
||||
)
|
||||
:method-count-assert 28
|
||||
:size-assert #x139
|
||||
:flag-assert #x1c00c00139
|
||||
(:methods
|
||||
(wait () _type_ :state 26)
|
||||
(judge-method-27 () none 27)
|
||||
(judge-method-27 (_type_) none 27)
|
||||
)
|
||||
)
|
||||
|#
|
||||
|
||||
;; (define-extern remote-track function)
|
||||
;; (define-extern cam-remote state)
|
||||
;; (define-extern voicebox-init-by-other function) ;; (function vector handle none :behavior voicebox)
|
||||
(define-extern remote-track (function none :behavior remote))
|
||||
(define-extern voicebox-init-by-other (function vector handle none :behavior voicebox)) ;;
|
||||
(define-extern voicebox-spawn (function process-drawable vector (pointer process))) ;; (function process vector (pointer process))
|
||||
;; (define-extern judge-init-by-other function)
|
||||
;; (define-extern judge-spawn function)
|
||||
(define-extern judge-init-by-other (function vector uint none :behavior judge))
|
||||
(define-extern judge-spawn (function process-tree vector uint (pointer judge)))
|
||||
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
;; collectables-part ;;
|
||||
@@ -28320,7 +28323,9 @@
|
||||
;; debug-part ;;
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
|
||||
;; (define-extern sparticle-track-root-money function) ;; (function sparticle-system sparticle-cpuinfo vector none)
|
||||
(define-extern sparticle-track-root-money
|
||||
"Hopefully unused, it still uses a jak 1 symbol -- [[hud-money]] which no longer exists!"
|
||||
(function sparticle-system sparticle-cpuinfo vector none))
|
||||
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
;; find-nearest ;;
|
||||
@@ -32773,7 +32778,7 @@
|
||||
(:methods
|
||||
(idle () _type_ :state 27)
|
||||
(active () _type_ :state 28)
|
||||
(rigid-body-object-method-29 (_type_) none 29)
|
||||
(rigid-body-object-method-29 (_type_ float) none 29)
|
||||
(rigid-body-object-method-30 (_type_) none 30)
|
||||
(rigid-body-object-method-31 (_type_ rigid-body-object-constants) none 31)
|
||||
(rigid-body-object-method-32 (_type_) none 32)
|
||||
@@ -33370,16 +33375,17 @@
|
||||
)
|
||||
|
||||
(deftype rigid-body-control-point-inline-array (inline-array-class)
|
||||
((data rigid-body-control-point :dynamic :offset-assert 16) ;; guessed by decompiler
|
||||
((data rigid-body-control-point :inline :dynamic :offset-assert 16) ;; guessed by decompiler
|
||||
)
|
||||
:method-count-assert 9
|
||||
:size-assert #x10
|
||||
:flag-assert #x900000010
|
||||
)
|
||||
|
||||
(declare-type water-anim process-drawable) ;; TODO - not decompiled yet
|
||||
(declare-type water-anim process-drawable)
|
||||
(deftype rigid-body-platform (rigid-body-object)
|
||||
((control-point-array rigid-body-control-point-inline-array :offset-assert 272) ;; guessed by decompiler
|
||||
((info-override rigid-body-platform-constants :offset 204 :score 100)
|
||||
(control-point-array rigid-body-control-point-inline-array :offset-assert 272) ;; guessed by decompiler
|
||||
(player-velocity vector :inline :offset-assert 288)
|
||||
(player-velocity-prev vector :inline :offset-assert 304)
|
||||
(unknown-pad uint32 8 :offset-assert 320)
|
||||
@@ -33391,10 +33397,10 @@
|
||||
:size-assert #x174
|
||||
:flag-assert #x3901000174
|
||||
(:methods
|
||||
(rigid-body-platform-method-53 (_type_) none 53)
|
||||
(rigid-body-platform-method-54 () none 54)
|
||||
(rigid-body-platform-method-55 () none 55)
|
||||
(rigid-body-platform-method-56 () none 56)
|
||||
(rigid-body-platform-method-53 (_type_ vector) float 53)
|
||||
(rigid-body-platform-method-54 (_type_ rigid-body-control-point) none 54)
|
||||
(rigid-body-platform-method-55 (_type_) none 55)
|
||||
(rigid-body-platform-method-56 (_type_ vector) none 56)
|
||||
)
|
||||
)
|
||||
|
||||
@@ -33568,13 +33574,16 @@
|
||||
;; process-taskable ;;
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
|
||||
(define-extern process-taskable-anim-loop (function (function symbol) none :behavior process-taskable)) ;;
|
||||
(define-extern process-taskable-anim-loop
|
||||
"Takes in a function and loops as long as it's return value is truthy
|
||||
Seen take in - `true-func` which takes no args TODO - seems fishy
|
||||
- a `(process-taskable process) lambda"
|
||||
(function (function process-taskable object) none :behavior process-taskable))
|
||||
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
;; scene-actor ;;
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
|
||||
#|
|
||||
(deftype kor-npc (process-taskable)
|
||||
()
|
||||
:method-count-assert 38
|
||||
@@ -33583,9 +33592,7 @@
|
||||
(:methods
|
||||
)
|
||||
)
|
||||
|#
|
||||
|
||||
#|
|
||||
(deftype metalkor-highres (process-drawable)
|
||||
()
|
||||
:method-count-assert 21
|
||||
@@ -33595,9 +33602,7 @@
|
||||
(idle () _type_ :state 20)
|
||||
)
|
||||
)
|
||||
|#
|
||||
|
||||
#|
|
||||
(deftype tess-npc (process-taskable)
|
||||
()
|
||||
:method-count-assert 38
|
||||
@@ -33606,9 +33611,7 @@
|
||||
(:methods
|
||||
)
|
||||
)
|
||||
|#
|
||||
|
||||
#|
|
||||
(deftype keira-npc (process-taskable)
|
||||
()
|
||||
:method-count-assert 38
|
||||
@@ -33617,9 +33620,7 @@
|
||||
(:methods
|
||||
)
|
||||
)
|
||||
|#
|
||||
|
||||
#|
|
||||
(deftype krew-npc (process-taskable)
|
||||
()
|
||||
:method-count-assert 38
|
||||
@@ -33628,9 +33629,7 @@
|
||||
(:methods
|
||||
)
|
||||
)
|
||||
|#
|
||||
|
||||
#|
|
||||
(deftype kid-npc (process-taskable)
|
||||
()
|
||||
:method-count-assert 38
|
||||
@@ -33639,9 +33638,7 @@
|
||||
(:methods
|
||||
)
|
||||
)
|
||||
|#
|
||||
|
||||
#|
|
||||
(deftype crocadog-npc (process-taskable)
|
||||
()
|
||||
:method-count-assert 38
|
||||
@@ -33650,9 +33647,7 @@
|
||||
(:methods
|
||||
)
|
||||
)
|
||||
|#
|
||||
|
||||
#|
|
||||
(deftype torn-npc (process-taskable)
|
||||
()
|
||||
:method-count-assert 38
|
||||
@@ -33661,9 +33656,7 @@
|
||||
(:methods
|
||||
)
|
||||
)
|
||||
|#
|
||||
|
||||
#|
|
||||
(deftype youngsamos-npc (process-taskable)
|
||||
()
|
||||
:method-count-assert 38
|
||||
@@ -33672,9 +33665,7 @@
|
||||
(:methods
|
||||
)
|
||||
)
|
||||
|#
|
||||
|
||||
#|
|
||||
(deftype samos-npc (process-taskable)
|
||||
()
|
||||
:method-count-assert 38
|
||||
@@ -33683,9 +33674,7 @@
|
||||
(:methods
|
||||
)
|
||||
)
|
||||
|#
|
||||
|
||||
#|
|
||||
(deftype onin-npc (process-taskable)
|
||||
()
|
||||
:method-count-assert 38
|
||||
@@ -33694,9 +33683,7 @@
|
||||
(:methods
|
||||
)
|
||||
)
|
||||
|#
|
||||
|
||||
#|
|
||||
(deftype pecker-npc (process-taskable)
|
||||
()
|
||||
:method-count-assert 38
|
||||
@@ -33705,9 +33692,7 @@
|
||||
(:methods
|
||||
)
|
||||
)
|
||||
|#
|
||||
|
||||
#|
|
||||
(deftype brutter-npc (process-taskable)
|
||||
()
|
||||
:method-count-assert 38
|
||||
@@ -33716,9 +33701,7 @@
|
||||
(:methods
|
||||
)
|
||||
)
|
||||
|#
|
||||
|
||||
#|
|
||||
(deftype ashelin-npc (process-taskable)
|
||||
()
|
||||
:method-count-assert 38
|
||||
@@ -33727,9 +33710,7 @@
|
||||
(:methods
|
||||
)
|
||||
)
|
||||
|#
|
||||
|
||||
#|
|
||||
(deftype daxter-npc (process-taskable)
|
||||
()
|
||||
:method-count-assert 38
|
||||
@@ -33738,36 +33719,46 @@
|
||||
(:methods
|
||||
)
|
||||
)
|
||||
|#
|
||||
|
||||
;; (define-extern intro-play function)
|
||||
;; (define-extern outro-play function)
|
||||
(define-extern intro-play
|
||||
"A dedicated function for playing the intro cutscenes in the correct order
|
||||
```opengoal
|
||||
\"intro-samos-hut\" \"intro-vortex\" \"intro-city-square\" \"intro-prison\"
|
||||
```"
|
||||
(function none))
|
||||
(define-extern outro-play
|
||||
"A dedicated function for playing the intro cutscenes in the correct order
|
||||
```opengoal
|
||||
\"outro-nest\" \"outro-palace\" \"outro-hiphog\" \"outro-port\"
|
||||
```"
|
||||
(function none))
|
||||
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
;; scene-looper ;;
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
|
||||
#|
|
||||
(deftype scene-looper (process)
|
||||
((scene-name basic :offset-assert 124)
|
||||
((scene-name symbol :offset-assert 128)
|
||||
)
|
||||
:method-count-assert 15
|
||||
:size-assert #x84
|
||||
:flag-assert #xf00100084
|
||||
(:methods
|
||||
(scene-looper-method-9 () none 9)
|
||||
(scene-looper-method-10 () none 10)
|
||||
(scene-looper-method-11 () none 11)
|
||||
(scene-looper-method-12 () none 12)
|
||||
(scene-looper-method-13 () none 13)
|
||||
(idle () _type_ :state 14)
|
||||
)
|
||||
)
|
||||
|#
|
||||
|
||||
;; (define-extern scene-looper-init-by-other function)
|
||||
;; (define-extern stop-loop-scene function)
|
||||
;; (define-extern loop-scene function)
|
||||
(define-extern scene-looper-init-by-other
|
||||
"Sets the `scene-name` with the given [[symbol]], the [[scene-looper]] will then idle"
|
||||
(function symbol none :behavior scene-looper))
|
||||
(define-extern stop-loop-scene
|
||||
"Kills the current [[scene-looper]]
|
||||
@see [[kill-by-type]]"
|
||||
(function symbol))
|
||||
(define-extern loop-scene
|
||||
"Stops looping the current scene, then spawns a new [[scene-looper]] for the given scene
|
||||
@see [[stop-loop-scene]"
|
||||
(function symbol (pointer scene-looper)))
|
||||
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
;; warp-gate ;;
|
||||
@@ -45404,29 +45395,28 @@
|
||||
)
|
||||
|#
|
||||
|
||||
#|
|
||||
(deftype onin-game (process-drawable)
|
||||
((wave int32 :offset-assert 196)
|
||||
(event int32 :offset-assert 200)
|
||||
(wave-time time-frame :offset-assert 204)
|
||||
(wave-delay-time time-frame :offset-assert 212)
|
||||
(wave-length uint64 :offset-assert 220)
|
||||
(event-time time-frame :offset-assert 228)
|
||||
(event-length uint64 :offset-assert 236)
|
||||
(hud-score uint64 :offset-assert 244)
|
||||
(hud-goal uint64 :offset-assert 252)
|
||||
(hud-miss uint64 :offset-assert 260)
|
||||
(score float :offset-assert 268)
|
||||
(score-time time-frame :offset-assert 276)
|
||||
(game uint32 :offset-assert 284)
|
||||
(miss-max int32 :offset-assert 288)
|
||||
(miss-count int32 :offset-assert 292)
|
||||
(point-win float :offset-assert 296)
|
||||
(game-start-time time-frame :offset-assert 300)
|
||||
(last-type int32 :offset-assert 308)
|
||||
(current-bonus float :offset-assert 312)
|
||||
(last-angle float :offset-assert 316)
|
||||
(wave-start-miss int32 :offset-assert 320)
|
||||
((wave int32 :offset-assert 200)
|
||||
(event int32 :offset-assert 204)
|
||||
(wave-time time-frame :offset-assert 208)
|
||||
(wave-delay-time time-frame :offset-assert 216)
|
||||
(wave-length uint64 :offset-assert 224)
|
||||
(event-time time-frame :offset-assert 232)
|
||||
(event-length uint64 :offset-assert 240)
|
||||
(hud-score uint64 :offset-assert 248)
|
||||
(hud-goal uint64 :offset-assert 256)
|
||||
(hud-miss uint64 :offset-assert 264)
|
||||
(score float :offset-assert 272)
|
||||
(score-time time-frame :offset-assert 280)
|
||||
(game uint32 :offset-assert 288)
|
||||
(miss-max int32 :offset-assert 292)
|
||||
(miss-count int32 :offset-assert 296)
|
||||
(point-win float :offset-assert 300)
|
||||
(game-start-time time-frame :offset-assert 304)
|
||||
(last-type int32 :offset-assert 312)
|
||||
(current-bonus float :offset-assert 316)
|
||||
(last-angle float :offset-assert 320)
|
||||
(wave-start-miss int32 :offset-assert 324)
|
||||
)
|
||||
:method-count-assert 28
|
||||
:size-assert #x148
|
||||
@@ -45442,13 +45432,12 @@
|
||||
(onin-game-method-27 () none 27)
|
||||
)
|
||||
)
|
||||
|#
|
||||
|
||||
;; (define-extern *onin-game-data* array)
|
||||
;; (define-extern birth-func-onin-bubble-pop function)
|
||||
;; (define-extern birth-func-onin-bubble-birth-pop function)
|
||||
;; (define-extern onin-game-bubble-init function)
|
||||
;; (define-extern onin-game-init function)
|
||||
(define-extern onin-game-init (function entity none))
|
||||
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
;; stadiumb-texture ;;
|
||||
|
||||
@@ -432,5 +432,6 @@
|
||||
[91, "(function object nav-control none)"],
|
||||
[92, "(function object nav-control none)"],
|
||||
[93, "(function object nav-control none)"]
|
||||
]
|
||||
],
|
||||
"scene-actor": [[10, "(function process-taskable process)"]]
|
||||
}
|
||||
|
||||
@@ -460,5 +460,11 @@
|
||||
["L502", "uint64", true],
|
||||
["L503", "uint64", true],
|
||||
["L504", "uint64", true]
|
||||
],
|
||||
"voicebox": [
|
||||
["L133", "vector"],
|
||||
["L132", "vector"],
|
||||
["L131", "vector"],
|
||||
["L130", "vector"]
|
||||
]
|
||||
}
|
||||
|
||||
@@ -1096,5 +1096,6 @@
|
||||
"(method 145 nav-enemy)": [[16, "vector"]],
|
||||
"(method 150 nav-enemy)": [[16, "vector"]],
|
||||
"(anon-function 88 nav-enemy)": [[16, "vector"]],
|
||||
"(anon-function 93 nav-enemy)": [[16, "vector"]]
|
||||
"(anon-function 93 nav-enemy)": [[16, "vector"]],
|
||||
"(method 54 rigid-body-platform)": [[16, "vector"]]
|
||||
}
|
||||
|
||||
@@ -3958,5 +3958,34 @@
|
||||
"(method 160 nav-enemy)": [
|
||||
[19, "a0", "process-focusable"],
|
||||
[35, "s5", "process-focusable"]
|
||||
]
|
||||
],
|
||||
"(method 32 youngsamos-npc)": [
|
||||
[61, "t9", "(function process-taskable none)"]
|
||||
],
|
||||
"(method 35 pecker-npc)": [
|
||||
[58, "v1", "art-joint-anim"],
|
||||
[117, "v1", "art-joint-anim"]
|
||||
],
|
||||
"(code idle scene-looper)": [[40, "gp", "handle"]],
|
||||
"(method 7 rigid-body-platform)": [
|
||||
[14, "t9", "(function rigid-body-object int rigid-body-object)"]
|
||||
],
|
||||
"(method 53 rigid-body-platform)": [[24, "f0", "float"]],
|
||||
"(method 46 rigid-body-platform)": [
|
||||
[13, "v1", "rigid-body-control-point"],
|
||||
[30, "v1", "collide-rider"],
|
||||
[46, "s5", "process-focusable"],
|
||||
[139, "v1", "float"]
|
||||
],
|
||||
"(method 24 remote)": [
|
||||
[16, "s4", "process-focusable"],
|
||||
[[26, 30], "s4", "process-focusable"]
|
||||
],
|
||||
"remote-track": [[94, "gp", "process-drawable"]],
|
||||
"(trans enter remote)": [[[25, 29], "a0", "process-focusable"]],
|
||||
"(code enter remote)": [[11, "gp", "process-focusable"]],
|
||||
"(method 25 remote)": [[[8, 12], "a0", "collide-shape"]],
|
||||
"(method 25 judge)": [[[8, 12], "a0", "collide-shape"]],
|
||||
"(event wait judge)": [[63, "gp", "process-focusable"]],
|
||||
"(code idle judge)": [[39, "v0", "float"]]
|
||||
}
|
||||
|
||||
@@ -2062,5 +2062,30 @@
|
||||
},
|
||||
"(method 44 nav-state)": {
|
||||
"args": ["obj", "velocity"]
|
||||
},
|
||||
"scene-looper-init-by-other": {
|
||||
"args": ["scene-name"]
|
||||
},
|
||||
"(code idle scene-looper)": {
|
||||
"vars": {
|
||||
"gp-1": "player"
|
||||
}
|
||||
},
|
||||
"loop-scene": {
|
||||
"args": ["scene-name"]
|
||||
},
|
||||
"(method 7 rigid-body-platform)": {
|
||||
"args": ["obj", "new-addr"]
|
||||
},
|
||||
"(method 54 rigid-body-platform)": {
|
||||
"args": ["obj", "ctrl-point"]
|
||||
},
|
||||
"(method 50 rigid-body-platform)": {
|
||||
"vars": {
|
||||
"v1-8": "rigid-body",
|
||||
"a1-2": "force-pos",
|
||||
"a2-0": "force",
|
||||
"f0-0": "force-dist"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -395,6 +395,7 @@
|
||||
cam-pov-track
|
||||
cam-pov180
|
||||
cam-really-fixed
|
||||
cam-remote
|
||||
cam-robotboss
|
||||
cam-spline
|
||||
cam-standoff
|
||||
|
||||
@@ -258,7 +258,7 @@
|
||||
;; DECOMP BEGINS
|
||||
|
||||
(deftype collide-rider (structure)
|
||||
((rider-handle uint64 :offset-assert 0)
|
||||
((rider-handle handle :offset-assert 0)
|
||||
(sticky-prim basic :offset-assert 8)
|
||||
(prim-ry float :offset-assert 12)
|
||||
(rider-local-pos vector :inline :offset-assert 16)
|
||||
|
||||
@@ -7,3 +7,451 @@
|
||||
|
||||
;; DECOMP BEGINS
|
||||
|
||||
(deftype rigid-body-platform-constants (rigid-body-object-constants)
|
||||
((drag-factor float :offset-assert 208)
|
||||
(buoyancy-factor float :offset-assert 212)
|
||||
(max-buoyancy-depth meters :offset-assert 216)
|
||||
(player-weight meters :offset-assert 220)
|
||||
(player-bonk-factor float :offset-assert 224)
|
||||
(player-dive-factor float :offset-assert 228)
|
||||
(player-force-distance meters :offset-assert 232)
|
||||
(player-force-clamp meters :offset-assert 236)
|
||||
(player-force-timeout uint64 :offset-assert 240)
|
||||
(explosion-force meters :offset-assert 248)
|
||||
(control-point-count int32 :offset-assert 252)
|
||||
(platform symbol :offset-assert 256)
|
||||
(sound-name string :offset-assert 260)
|
||||
)
|
||||
:method-count-assert 9
|
||||
:size-assert #x108
|
||||
:flag-assert #x900000108
|
||||
)
|
||||
|
||||
|
||||
(deftype rigid-body-control-point (structure)
|
||||
((local-pos vector :inline :offset-assert 0)
|
||||
(world-pos vector :inline :offset-assert 16)
|
||||
(velocity vector :inline :offset-assert 32)
|
||||
)
|
||||
:method-count-assert 9
|
||||
:size-assert #x30
|
||||
:flag-assert #x900000030
|
||||
)
|
||||
|
||||
|
||||
(deftype rigid-body-control-point-inline-array (inline-array-class)
|
||||
((data rigid-body-control-point :inline :dynamic :offset-assert 16)
|
||||
)
|
||||
:method-count-assert 9
|
||||
:size-assert #x10
|
||||
:flag-assert #x900000010
|
||||
)
|
||||
|
||||
|
||||
(set! (-> rigid-body-control-point-inline-array heap-base) (the-as uint 48))
|
||||
|
||||
(deftype rigid-body-platform (rigid-body-object)
|
||||
((info-override rigid-body-platform-constants :offset 204)
|
||||
(control-point-array rigid-body-control-point-inline-array :offset-assert 272)
|
||||
(player-velocity vector :inline :offset-assert 288)
|
||||
(player-velocity-prev vector :inline :offset-assert 304)
|
||||
(unknown-pad uint32 8 :offset-assert 320)
|
||||
(float-height-offset float :offset-assert 352)
|
||||
(player-bonk-timeout uint64 :offset-assert 360)
|
||||
(water-anim water-anim :offset-assert 368)
|
||||
)
|
||||
:heap-base #x100
|
||||
:method-count-assert 57
|
||||
:size-assert #x174
|
||||
:flag-assert #x3901000174
|
||||
(:methods
|
||||
(rigid-body-platform-method-53 (_type_ vector) float 53)
|
||||
(rigid-body-platform-method-54 (_type_ rigid-body-control-point) none 54)
|
||||
(rigid-body-platform-method-55 (_type_) none 55)
|
||||
(rigid-body-platform-method-56 (_type_ vector) none 56)
|
||||
)
|
||||
)
|
||||
|
||||
|
||||
;; WARN: Return type mismatch rigid-body-object vs rigid-body-platform.
|
||||
(defmethod relocate rigid-body-platform ((obj rigid-body-platform) (new-addr int))
|
||||
(if (nonzero? (-> obj control-point-array))
|
||||
(&+! (-> obj control-point-array) new-addr)
|
||||
)
|
||||
(the-as
|
||||
rigid-body-platform
|
||||
((the-as (function rigid-body-object int rigid-body-object) (find-parent-method rigid-body-platform 7))
|
||||
obj
|
||||
new-addr
|
||||
)
|
||||
)
|
||||
)
|
||||
|
||||
(defmethod rigid-body-platform-method-53 rigid-body-platform ((obj rigid-body-platform) (arg0 vector))
|
||||
(local-vars (f0-1 object))
|
||||
(let ((v1-0 (-> obj water-anim)))
|
||||
0.0
|
||||
(set! f0-1 (cond
|
||||
(v1-0
|
||||
(let ((a0-1 v1-0))
|
||||
(if (if a0-1
|
||||
(-> a0-1 child 3)
|
||||
)
|
||||
(set! f0-1 (-> v1-0 child 9))
|
||||
(set! f0-1 (-> v1-0 child 9))
|
||||
)
|
||||
)
|
||||
f0-1
|
||||
)
|
||||
(else
|
||||
(ocean-method-11 *ocean* arg0 #t)
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
(the-as float f0-1)
|
||||
)
|
||||
|
||||
(defmethod rigid-body-platform-method-54 rigid-body-platform ((obj rigid-body-platform) (ctrl-point rigid-body-control-point))
|
||||
(set! (-> ctrl-point world-pos w)
|
||||
(+ (rigid-body-platform-method-53 obj (-> ctrl-point world-pos)) (-> obj float-height-offset))
|
||||
)
|
||||
(let* ((s4-0 (new 'stack-no-clear 'vector))
|
||||
(f0-3 (- (-> ctrl-point world-pos w) (-> ctrl-point world-pos y)))
|
||||
(f30-0 (/ f0-3 (-> obj info-override max-buoyancy-depth)))
|
||||
)
|
||||
(when (< 0.0 f0-3)
|
||||
(vector-float*!
|
||||
s4-0
|
||||
*y-vector*
|
||||
(* (-> obj rbody state info mass)
|
||||
(fmin 1.0 f30-0)
|
||||
(/ (-> obj info-override gravity) (the float (-> obj info-override control-point-count)))
|
||||
(-> obj info-override buoyancy-factor)
|
||||
)
|
||||
)
|
||||
(let ((v1-6 (-> obj rbody))
|
||||
(a1-9 (-> ctrl-point world-pos))
|
||||
(a2-0 s4-0)
|
||||
)
|
||||
(rigid-body-method-18 (-> v1-6 state) a1-9 a2-0)
|
||||
)
|
||||
(vector-float*! s4-0 (-> ctrl-point velocity) (* -1.0 (-> obj info-override drag-factor) (fmin 1.0 f30-0)))
|
||||
(let ((v1-11 (-> obj rbody))
|
||||
(a1-13 (-> ctrl-point world-pos))
|
||||
)
|
||||
(rigid-body-method-18 (-> v1-11 state) a1-13 s4-0)
|
||||
)
|
||||
)
|
||||
)
|
||||
0
|
||||
0
|
||||
(none)
|
||||
)
|
||||
|
||||
(defmethod rigid-body-object-method-50 rigid-body-platform ((obj rigid-body-platform) (arg0 float))
|
||||
(when (logtest? (-> obj flags) (rigid-body-object-flag player-impulse-force player-contact-force))
|
||||
(if (logtest? (-> obj flags) (rigid-body-object-flag player-impulse-force))
|
||||
(logclear! (-> obj flags) (rigid-body-object-flag player-impulse-force))
|
||||
)
|
||||
(let ((rigid-body (-> obj rbody))
|
||||
(force-pos (-> obj player-force-position))
|
||||
(force (-> obj player-force))
|
||||
(force-dist (-> obj info-override player-force-distance))
|
||||
)
|
||||
(rigid-body-method-21 (-> rigid-body state) force-pos force force-dist)
|
||||
)
|
||||
)
|
||||
0
|
||||
(none)
|
||||
)
|
||||
|
||||
(defmethod rigid-body-platform-method-55 rigid-body-platform ((obj rigid-body-platform))
|
||||
(let ((a1-0 (new 'stack-no-clear 'vector)))
|
||||
(vector-float*! a1-0 *y-vector* (* -1.0 (-> obj info-override gravity) (-> obj rbody state info mass)))
|
||||
(rigid-body-method-20 (-> obj rbody state) a1-0)
|
||||
)
|
||||
0
|
||||
(none)
|
||||
)
|
||||
|
||||
(defmethod rigid-body-platform-method-56 rigid-body-platform ((obj rigid-body-platform) (arg0 vector))
|
||||
(let ((v1-0 (new 'stack-no-clear 'vector)))
|
||||
(vector-! v1-0 arg0 (-> obj rbody state position))
|
||||
(set! (-> v1-0 y) 0.0)
|
||||
(let* ((f0-1 (vector-length v1-0))
|
||||
(f1-1 (* 10.0 (fmax 0.0 (fmin 4096.0 (+ -4096.0 f0-1)))))
|
||||
)
|
||||
(when (< 0.0 f1-1)
|
||||
(vector-float*! v1-0 v1-0 (/ f1-1 f0-1))
|
||||
(rigid-body-method-20 (-> obj rbody state) v1-0)
|
||||
)
|
||||
)
|
||||
)
|
||||
0
|
||||
(none)
|
||||
)
|
||||
|
||||
(defmethod rigid-body-object-method-29 rigid-body-platform ((obj rigid-body-platform) (arg0 float))
|
||||
(let ((s4-0 (-> obj rbody state matrix)))
|
||||
(dotimes (s3-0 (-> obj info-override control-point-count))
|
||||
(let ((s2-0 (-> obj control-point-array data s3-0)))
|
||||
(vector-matrix*! (-> s2-0 world-pos) (-> s2-0 local-pos) s4-0)
|
||||
(let ((v1-4 (-> obj rbody))
|
||||
(a1-2 (-> s2-0 world-pos))
|
||||
(a2-1 (-> s2-0 velocity))
|
||||
)
|
||||
(rigid-body-method-22 (-> v1-4 state) a1-2 a2-1)
|
||||
)
|
||||
(rigid-body-platform-method-54 obj s2-0)
|
||||
)
|
||||
)
|
||||
)
|
||||
(rigid-body-platform-method-55 obj)
|
||||
(rigid-body-object-method-50 obj arg0)
|
||||
0
|
||||
(none)
|
||||
)
|
||||
|
||||
(defmethod rigid-body-object-method-30 rigid-body-platform ((obj rigid-body-platform))
|
||||
(if (-> obj info-override platform)
|
||||
((method-of-object (-> obj root-override-2) collide-shape-method-35))
|
||||
)
|
||||
(set! (-> obj player-velocity-prev quad) (-> obj player-velocity quad))
|
||||
(if *target*
|
||||
(set! (-> obj player-velocity quad) (-> *target* control transv quad))
|
||||
(set! (-> obj player-velocity quad) (-> *null-vector* quad))
|
||||
)
|
||||
(let ((t9-1 (method-of-type rigid-body-object rigid-body-object-method-30)))
|
||||
(t9-1 obj)
|
||||
)
|
||||
(logclear! (-> obj flags) (rigid-body-object-flag player-contact-force))
|
||||
0
|
||||
(none)
|
||||
)
|
||||
|
||||
(defmethod rigid-body-object-method-47 rigid-body-platform ((obj rigid-body-platform) (arg0 process-drawable) (arg1 attack-info) (arg2 object) (arg3 penetrate))
|
||||
((method-of-type rigid-body-object rigid-body-object-method-47) obj arg0 arg1 arg2 arg3)
|
||||
#f
|
||||
)
|
||||
|
||||
(defmethod rigid-body-object-method-46 rigid-body-platform ((obj rigid-body-platform) (arg0 process-drawable) (arg1 int) (arg2 symbol) (arg3 event-message-block))
|
||||
(case arg2
|
||||
(('edge-grabbed)
|
||||
(let ((v1-1 (the-as object (-> arg3 param 0))))
|
||||
(when (not (logtest? (-> obj flags) (rigid-body-object-flag player-impulse-force)))
|
||||
(logior! (-> obj flags) (rigid-body-object-flag player-contact-force))
|
||||
(set! (-> obj player-force-position quad) (-> (the-as rigid-body-control-point v1-1) velocity quad))
|
||||
(vector-reset! (-> obj player-force))
|
||||
(set! (-> obj player-force y) (* -1.0 (-> obj info-override player-weight)))
|
||||
)
|
||||
)
|
||||
)
|
||||
(('ridden)
|
||||
(let ((v1-7 (the-as object (-> arg3 param 0))))
|
||||
(when (the-as uint v1-7)
|
||||
(let* ((s5-1 (handle->process (-> (the-as collide-rider v1-7) rider-handle)))
|
||||
(v1-11 (if (type? s5-1 process-focusable)
|
||||
(the-as process-focusable s5-1)
|
||||
)
|
||||
)
|
||||
)
|
||||
(when (and v1-11
|
||||
(logtest? (-> v1-11 mask) (process-mask target))
|
||||
(zero? (logand (-> v1-11 focus-status) (focus-status on-water under-water)))
|
||||
)
|
||||
(when (not (logtest? (-> obj flags) (rigid-body-object-flag player-impulse-force)))
|
||||
(logior! (-> obj flags) (rigid-body-object-flag player-contact-force))
|
||||
(set! (-> obj player-force-position quad) (-> v1-11 root-override trans quad))
|
||||
(vector-reset! (-> obj player-force))
|
||||
(let* ((a1-5 (-> obj player-force-position))
|
||||
(f30-0 0.0)
|
||||
(f28-0 1.0)
|
||||
(f26-0 1.0)
|
||||
(f0-4 (+ (- -4096.0 (-> a1-5 y)) (rigid-body-platform-method-53 obj a1-5)))
|
||||
(f1-2 12288.0)
|
||||
(f0-8 (fmax f30-0 (fmin f28-0 (- f26-0 (* f0-4 (/ 1.0 f1-2))))))
|
||||
)
|
||||
(set! (-> obj player-force y) (* -1.0 (-> obj info-override player-weight) f0-8))
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
(('bonk)
|
||||
(when (>= (- (-> self clock frame-counter) (the-as int (-> obj player-bonk-timeout)))
|
||||
(the-as time-frame (-> obj info-override player-force-timeout))
|
||||
)
|
||||
(set! (-> obj player-bonk-timeout) (the-as uint (-> self clock frame-counter)))
|
||||
(let* ((s4-0 arg0)
|
||||
(v1-31 (if (type? s4-0 process-drawable)
|
||||
s4-0
|
||||
)
|
||||
)
|
||||
)
|
||||
(when v1-31
|
||||
(logior! (-> obj flags) (rigid-body-object-flag player-impulse-force))
|
||||
(set! (-> obj player-force-position quad) (-> v1-31 root trans quad))
|
||||
(let ((f0-14 (fmin
|
||||
(* 0.00012207031
|
||||
(the-as float (-> arg3 param 1))
|
||||
(-> obj info-override player-bonk-factor)
|
||||
(-> obj info-override player-weight)
|
||||
)
|
||||
(-> obj info-override player-force-clamp)
|
||||
)
|
||||
)
|
||||
)
|
||||
(vector-reset! (-> obj player-force))
|
||||
(set! (-> obj player-force y) (- f0-14))
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
(else
|
||||
((method-of-type rigid-body-object rigid-body-object-method-46) obj arg0 arg1 arg2 arg3)
|
||||
)
|
||||
)
|
||||
(none)
|
||||
)
|
||||
|
||||
(defmethod rigid-body-object-method-37 rigid-body-platform ((obj rigid-body-platform))
|
||||
(if (logtest? (-> obj flags) (rigid-body-object-flag player-impulse-force))
|
||||
(sound-play-by-name
|
||||
(string->sound-name (-> obj info-override sound-name))
|
||||
(new-sound-id)
|
||||
1024
|
||||
0
|
||||
0
|
||||
(sound-group sfx)
|
||||
#t
|
||||
)
|
||||
)
|
||||
(rigid-body-object-method-30 obj)
|
||||
(quaternion-copy! (-> obj root-override-2 quat) (-> obj rbody state rotation))
|
||||
(let ((v1-9 (-> obj rbody))
|
||||
(a1-2 (-> obj root-override-2 trans))
|
||||
)
|
||||
(rigid-body-method-23 (-> v1-9 state) a1-2)
|
||||
)
|
||||
(rider-post)
|
||||
(none)
|
||||
)
|
||||
|
||||
(defmethod rigid-body-object-method-31 rigid-body-platform ((obj rigid-body-platform) (arg0 rigid-body-object-constants))
|
||||
(with-pp
|
||||
(set! (-> obj info-override) (the-as rigid-body-platform-constants arg0))
|
||||
(set! (-> obj rbody) (new 'process 'rigid-body-control obj))
|
||||
(set! (-> obj control-point-array)
|
||||
(new 'process 'rigid-body-control-point-inline-array (-> obj info-override control-point-count))
|
||||
)
|
||||
(collide-shape-method-46 (-> obj root-override-2))
|
||||
(let ((v1-5 (-> obj rbody))
|
||||
(a1-3 (&-> (-> obj info-override) mass))
|
||||
(a2-2 (-> obj root-override-2 trans))
|
||||
(a3-0 (-> obj root-override-2 quat))
|
||||
(t0-0 (method-of-object obj rigid-body-object-method-29))
|
||||
)
|
||||
(rigid-body-method-25 (-> v1-5 state) (the-as rigid-body-info a1-3) a2-2 a3-0 t0-0)
|
||||
)
|
||||
(set! (-> obj player-bonk-timeout) (the-as uint (-> pp clock frame-counter)))
|
||||
(set! (-> obj player-force quad) (-> *null-vector* quad))
|
||||
(set! (-> obj player-velocity quad) (-> *null-vector* quad))
|
||||
(set! (-> obj player-velocity-prev quad) (-> *null-vector* quad))
|
||||
(set! (-> obj root-override-2 max-iteration-count) (the-as uint 4))
|
||||
(set! (-> obj max-time-step) (-> arg0 max-time-step))
|
||||
(set! (-> obj water-anim) (the-as water-anim (entity-actor-lookup (-> obj entity) 'water-actor 0)))
|
||||
0
|
||||
(none)
|
||||
)
|
||||
)
|
||||
|
||||
(defmethod rigid-body-object-method-32 rigid-body-platform ((obj rigid-body-platform))
|
||||
(let ((s5-0 (new 'process 'collide-shape-moving obj (collide-list-enum hit-by-player))))
|
||||
(set! (-> s5-0 dynam) (copy *standard-dynamics* 'process))
|
||||
(set! (-> s5-0 reaction) cshape-reaction-default)
|
||||
(set! (-> s5-0 no-reaction) nothing)
|
||||
(let ((s4-0 (new 'process 'collide-shape-prim-mesh s5-0 (the-as uint 0) (the-as uint 0))))
|
||||
(set! (-> s4-0 prim-core collide-as) (collide-spec pusher))
|
||||
(set! (-> s4-0 prim-core collide-with) (collide-spec jak player-list))
|
||||
(set! (-> s4-0 prim-core action) (collide-action solid rideable))
|
||||
(set! (-> s4-0 transform-index) 0)
|
||||
(set-vector! (-> s4-0 local-sphere) 0.0 0.0 0.0 20480.0)
|
||||
(set! (-> s5-0 total-prims) (the-as uint 1))
|
||||
(set! (-> s5-0 root-prim) s4-0)
|
||||
)
|
||||
(collide-shape-method-54 s5-0)
|
||||
(set! (-> s5-0 nav-radius) (* 0.75 (-> s5-0 root-prim local-sphere w)))
|
||||
(let ((v1-15 (-> s5-0 root-prim)))
|
||||
(set! (-> s5-0 backup-collide-as) (-> v1-15 prim-core collide-as))
|
||||
(set! (-> s5-0 backup-collide-with) (-> v1-15 prim-core collide-with))
|
||||
)
|
||||
(set! (-> obj root-override-2) s5-0)
|
||||
)
|
||||
0
|
||||
(none)
|
||||
)
|
||||
|
||||
(define *rigid-body-platform-constants* (new 'static 'rigid-body-platform-constants
|
||||
:mass 2.0
|
||||
:inv-mass 0.5
|
||||
:cm-joint-w 1.0
|
||||
:linear-damping 1.0
|
||||
:angular-damping 1.0
|
||||
:bounce-factor 0.5
|
||||
:friction-factor 0.1
|
||||
:inertial-tensor-x (meters 4)
|
||||
:inertial-tensor-y (meters 4)
|
||||
:inertial-tensor-z (meters 4)
|
||||
:max-time-step 0.033333335
|
||||
:gravity (meters 80)
|
||||
:idle-distance (meters 50)
|
||||
:attack-force-scale 1.0
|
||||
:name '*rigid-body-platform-constants*
|
||||
:drag-factor 0.8
|
||||
:buoyancy-factor 1.5
|
||||
:max-buoyancy-depth (meters 1.5)
|
||||
:player-weight (meters 6.6)
|
||||
:player-bonk-factor 1.0
|
||||
:player-dive-factor 1.0
|
||||
:player-force-distance (meters 1000)
|
||||
:player-force-clamp (meters 1000000)
|
||||
:player-force-timeout #x1e
|
||||
:explosion-force (meters 1000)
|
||||
:control-point-count 1
|
||||
:platform #t
|
||||
:sound-name #f
|
||||
)
|
||||
)
|
||||
|
||||
(defmethod rigid-body-object-method-33 rigid-body-platform ((obj rigid-body-platform))
|
||||
(set! (-> obj float-height-offset) 0.0)
|
||||
(rigid-body-object-method-31 obj *rigid-body-platform-constants*)
|
||||
(let ((s5-0 (-> obj info-override control-point-count)))
|
||||
(dotimes (s4-0 s5-0)
|
||||
(let ((s3-0 (-> obj control-point-array data s4-0)))
|
||||
(let ((f30-0 (* 65536.0 (/ (the float s4-0) (the float s5-0)))))
|
||||
(set! (-> s3-0 local-pos x) (* 12288.0 (sin f30-0)))
|
||||
(set! (-> s3-0 local-pos y) -10240.0)
|
||||
(set! (-> s3-0 local-pos z) (* 12288.0 (cos f30-0)))
|
||||
)
|
||||
(set! (-> s3-0 local-pos w) 1.0)
|
||||
)
|
||||
)
|
||||
)
|
||||
0
|
||||
(none)
|
||||
)
|
||||
|
||||
(defmethod init-from-entity! rigid-body-platform ((obj rigid-body-platform) (arg0 entity-actor))
|
||||
(set! (-> obj mask) (logior (process-mask platform) (-> obj mask)))
|
||||
(rigid-body-object-method-32 obj)
|
||||
(process-drawable-from-entity! obj arg0)
|
||||
(rigid-body-object-method-33 obj)
|
||||
(rigid-body-object-method-34 obj)
|
||||
0
|
||||
(none)
|
||||
)
|
||||
|
||||
@@ -7,3 +7,578 @@
|
||||
|
||||
;; DECOMP BEGINS
|
||||
|
||||
(defpartgroup group-talkbox-speak
|
||||
:id 77
|
||||
:flags (unk-4 unk-6)
|
||||
:bounds (static-bspherem 0 0 0 2)
|
||||
:rotate ((degrees 4) (degrees 0) (degrees 0))
|
||||
:parts ((sp-item 265 :flags (is-3d bit6 bit7) :period 130 :length 30)
|
||||
(sp-item 265 :flags (is-3d bit6 bit7) :period 150 :length 35 :offset 5)
|
||||
(sp-item 265 :flags (is-3d bit6 bit7) :period 330 :length 25 :offset 35)
|
||||
(sp-item 265 :flags (is-3d bit6 bit7) :period 250 :length 60 :offset 15)
|
||||
(sp-item 265 :flags (is-3d bit6 bit7) :period 465 :length 75 :offset 60)
|
||||
)
|
||||
)
|
||||
|
||||
(defpart 265
|
||||
:init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xcb :page #xc))
|
||||
(sp-func spt-birth-func 'birth-func-set-vel)
|
||||
(sp-rnd-flt spt-num 0.0 0.3 1.0)
|
||||
(sp-flt spt-y (meters 0.15))
|
||||
(sp-flt spt-z (meters 0.4))
|
||||
(sp-flt spt-scale-x (meters 0.1))
|
||||
(sp-copy-from-other spt-scale-y -4)
|
||||
(sp-flt spt-r 255.0)
|
||||
(sp-flt spt-g 255.0)
|
||||
(sp-flt spt-b 255.0)
|
||||
(sp-flt spt-a 16.0)
|
||||
(sp-rnd-flt spt-vel-y (meters 0.006666667) (meters 0.0033333334) 1.0)
|
||||
(sp-rnd-flt spt-scalevel-x (meters 0.006666667) (meters 0.0033333334) 1.0)
|
||||
(sp-copy-from-other spt-scalevel-y -4)
|
||||
(sp-flt spt-fade-a 0.32)
|
||||
(sp-int spt-timer 100)
|
||||
(sp-cpuinfo-flags sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 left-multiply-quat)
|
||||
(sp-int spt-next-time 50)
|
||||
(sp-launcher-by-id spt-next-launcher 266)
|
||||
(sp-flt spt-rotate-y (degrees 0.0))
|
||||
)
|
||||
)
|
||||
|
||||
(defpart 266
|
||||
:init-specs ((sp-flt spt-fade-a -0.64))
|
||||
)
|
||||
|
||||
(deftype camera-remote (camera-slave)
|
||||
()
|
||||
:heap-base #xa20
|
||||
:method-count-assert 14
|
||||
:size-assert #xa94
|
||||
:flag-assert #xe0a200a94
|
||||
)
|
||||
|
||||
|
||||
(deftype remote (process-drawable)
|
||||
((parent-override (pointer camera-slave) :offset 16)
|
||||
(base-trans vector :inline :offset-assert 208)
|
||||
(focus focus :inline :offset-assert 224)
|
||||
(seeker cam-float-seeker :inline :offset-assert 236)
|
||||
(start-time time-frame :offset-assert 264)
|
||||
(blend float :offset-assert 272)
|
||||
(twist float :offset-assert 276)
|
||||
(speak-effect? basic :offset-assert 280)
|
||||
)
|
||||
:heap-base #xa0
|
||||
:method-count-assert 26
|
||||
:size-assert #x11c
|
||||
:flag-assert #x1a00a0011c
|
||||
(:methods
|
||||
(enter () _type_ :state 20)
|
||||
(idle () _type_ :state 21)
|
||||
(exit () _type_ :state 22)
|
||||
(remote-method-23 (_type_) none 23)
|
||||
(remote-method-24 (_type_ vector) float 24)
|
||||
(remote-method-25 (_type_) none 25)
|
||||
)
|
||||
)
|
||||
|
||||
|
||||
(defskelgroup skel-voicebox talk-box 0 2
|
||||
((1 (meters 999999)))
|
||||
:bounds (static-spherem 0 0 0 4)
|
||||
:texture-level 6
|
||||
:sort 1
|
||||
)
|
||||
|
||||
(defmethod remote-method-24 remote ((obj remote) (arg0 vector))
|
||||
(let ((s4-0 (handle->process (-> obj focus handle))))
|
||||
(when s4-0
|
||||
(set! (-> arg0 quad) (-> (get-trans (the-as process-focusable s4-0) 3) quad))
|
||||
(let ((a0-7 (vector-z-quaternion! (new 'stack-no-clear 'vector) (get-quat (the-as process-focusable s4-0) 0))))
|
||||
(vector+float*! arg0 arg0 a0-7 (* -16384.0 (- 1.0 (-> obj blend))))
|
||||
)
|
||||
)
|
||||
)
|
||||
(lerp-scale 1.0 0.0 (-> obj blend) 0.8 1.0)
|
||||
)
|
||||
|
||||
(defmethod remote-method-25 remote ((obj remote))
|
||||
(with-pp
|
||||
(rlet ((acc :class vf)
|
||||
(vf0 :class vf)
|
||||
(vf4 :class vf)
|
||||
(vf5 :class vf)
|
||||
(vf6 :class vf)
|
||||
(vf7 :class vf)
|
||||
)
|
||||
(init-vf0-vector)
|
||||
(ja-post)
|
||||
(if (type? (-> obj root) collide-shape)
|
||||
(collide-shape-method-46 (the-as collide-shape (-> obj root)))
|
||||
)
|
||||
(when (and (nonzero? (-> obj part)) (and (or (and (-> obj next-state) (= (-> obj next-state name) 'idle))
|
||||
(and (-> obj next-state) (= (-> obj next-state name) 'enter))
|
||||
)
|
||||
(-> obj speak-effect?)
|
||||
)
|
||||
)
|
||||
(let ((v1-15 (vector-float*!
|
||||
(new 'stack-no-clear 'vector)
|
||||
(-> obj parent-override 0 velocity)
|
||||
(-> pp clock frames-per-second)
|
||||
)
|
||||
)
|
||||
(a0-8 *particle-vel*)
|
||||
)
|
||||
(let ((a1-4 (-> obj node-list data 3 bone transform vector 2)))
|
||||
(let ((a2-1 20480.0))
|
||||
(.mov vf7 a2-1)
|
||||
)
|
||||
(.lvf vf5 (&-> a1-4 quad))
|
||||
)
|
||||
(.lvf vf4 (&-> v1-15 quad))
|
||||
(.add.x.vf vf6 vf0 vf0 :mask #b1000)
|
||||
(.mul.x.vf acc vf5 vf7 :mask #b111)
|
||||
(.add.mul.w.vf vf6 vf4 vf0 acc :mask #b111)
|
||||
(.svf (&-> a0-8 quad) vf6)
|
||||
)
|
||||
(let ((v1-16 *particle-vel*)
|
||||
(a0-9 *particle-vel*)
|
||||
(f0-2 300.0)
|
||||
)
|
||||
(vector-float*! v1-16 a0-9 (/ 1.0 f0-2))
|
||||
)
|
||||
(spawn-with-cspace (-> obj part) (-> obj node-list data 3))
|
||||
)
|
||||
0
|
||||
(none)
|
||||
)
|
||||
)
|
||||
)
|
||||
|
||||
(defbehavior remote-track remote ()
|
||||
(let ((gp-0 (handle->process (-> self focus handle)))
|
||||
(s5-0 (new 'stack-no-clear 'vector))
|
||||
)
|
||||
(set! (-> s5-0 quad) (-> self parent-override 0 trans quad))
|
||||
(let ((f30-0 (remote-method-24 self s5-0)))
|
||||
(let ((a1-2 (new 'stack-no-clear 'vector)))
|
||||
(set! (-> a1-2 quad) (-> self parent-override 0 trans quad))
|
||||
(vector-lerp! (-> self root trans) a1-2 s5-0 (-> self blend))
|
||||
)
|
||||
(+! (-> self root trans y)
|
||||
(* 1638.4 (sin (* 54.613335 (the float (mod (-> self clock frame-counter) 1200)))))
|
||||
)
|
||||
(let ((s5-1 (new 'stack-no-clear 'quaternion)))
|
||||
(forward-up->quaternion
|
||||
s5-1
|
||||
(vector-normalize! (vector-! (new 'stack-no-clear 'vector) (target-pos 8) (-> self root trans)) 1.0)
|
||||
(new 'static 'vector :y 1.0 :w 1.0)
|
||||
)
|
||||
(rotate-toward-orientation!
|
||||
(-> self root)
|
||||
s5-1
|
||||
65536.0
|
||||
5461.3335
|
||||
150
|
||||
0.00000000000000000000000000000000000000000021
|
||||
0.0
|
||||
)
|
||||
)
|
||||
(when gp-0
|
||||
(let* ((gp-1 (-> (the-as process-drawable gp-0) root))
|
||||
(s4-1 (-> self root trans))
|
||||
(f0-6
|
||||
(deg-diff (y-angle gp-1) (vector-y-angle (vector-! (new 'stack-no-clear 'vector) s4-1 (-> gp-1 trans))))
|
||||
)
|
||||
)
|
||||
(if (< 0.0 f0-6)
|
||||
(seek! (-> self twist) -0.4 (* 0.3 (-> self clock seconds-per-frame)))
|
||||
(seek! (-> self twist) 0.4 (* 0.3 (-> self clock seconds-per-frame)))
|
||||
)
|
||||
)
|
||||
(let ((a1-9 (new 'stack-no-clear 'event-message-block)))
|
||||
(set! (-> a1-9 from) (process->ppointer self))
|
||||
(set! (-> a1-9 num-params) 0)
|
||||
(set! (-> a1-9 message) 'blocked-side?)
|
||||
(case (send-event-function (ppointer->process (-> self parent-override)) a1-9)
|
||||
((1)
|
||||
(set! (-> self twist) 0.5)
|
||||
)
|
||||
((2)
|
||||
(set! (-> self twist) -0.5)
|
||||
)
|
||||
((3)
|
||||
(set! (-> self twist) 0.0)
|
||||
)
|
||||
)
|
||||
)
|
||||
(send-event (ppointer->process (-> self parent-override)) 'joystick (-> self twist) -1082130432)
|
||||
)
|
||||
(set! (-> self root scale x) f30-0)
|
||||
(set! (-> self root scale y) f30-0)
|
||||
(set! (-> self root scale z) f30-0)
|
||||
)
|
||||
)
|
||||
0
|
||||
(none)
|
||||
)
|
||||
|
||||
(defstate enter (remote)
|
||||
:virtual #t
|
||||
:event (behavior ((proc process) (arg1 int) (event-type symbol) (event event-message-block))
|
||||
(case event-type
|
||||
(('die)
|
||||
(go-virtual exit)
|
||||
)
|
||||
(('speak-effect)
|
||||
(let ((v0-0 (the-as object (-> event param 0))))
|
||||
(set! (-> self speak-effect?) (the-as basic v0-0))
|
||||
v0-0
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
:enter (behavior ()
|
||||
(set! (-> self start-time) (-> *display* game-clock frame-counter))
|
||||
(let* ((gp-0 (ppointer->process (-> self parent-override 0 parent)))
|
||||
(a1-1 (if (type? gp-0 process-focusable)
|
||||
gp-0
|
||||
)
|
||||
)
|
||||
)
|
||||
(if a1-1
|
||||
(try-update-focus (-> self focus) (the-as process-focusable a1-1))
|
||||
)
|
||||
)
|
||||
(none)
|
||||
)
|
||||
:trans (behavior ()
|
||||
(remote-track)
|
||||
(let ((a0-1 (handle->process (-> self focus handle))))
|
||||
(if (and a0-1 (< 0.1 (-> self blend)))
|
||||
(point-toward-point-clear-roll-pitch! (-> self root) (get-trans (the-as process-focusable a0-1) 0))
|
||||
)
|
||||
)
|
||||
(none)
|
||||
)
|
||||
:code (behavior ()
|
||||
(let* ((gp-0 (ppointer->process (-> self parent-override 0 parent)))
|
||||
(a0-1 (if (type? gp-0 process-focusable)
|
||||
(the-as process-focusable gp-0)
|
||||
)
|
||||
)
|
||||
)
|
||||
(if (and a0-1 (logtest? (focus-status pilot) (-> a0-1 focus-status)))
|
||||
(send-event
|
||||
(ppointer->process (-> self parent-override))
|
||||
'set-dist
|
||||
(new 'static 'vector :z 8192.0 :w 1.0)
|
||||
(new 'static 'vector :y 20480.0 :z 12288.0 :w 1.0)
|
||||
)
|
||||
(send-event
|
||||
(ppointer->process (-> self parent-override))
|
||||
'set-dist
|
||||
(new 'static 'vector :z 16384.0 :w 1.0)
|
||||
(new 'static 'vector :y 20480.0 :z 40960.0 :w 1.0)
|
||||
)
|
||||
)
|
||||
)
|
||||
(init (-> self seeker) 1.0 0.01 0.022222223 0.1)
|
||||
(set! (-> self seeker target) 0.0)
|
||||
(while (< 0.0001 (-> self blend))
|
||||
(update! (-> self seeker) 0.0)
|
||||
(set! (-> self blend) (-> self seeker value))
|
||||
(suspend)
|
||||
)
|
||||
(set! (-> self blend) 0.0)
|
||||
(go-virtual idle)
|
||||
(none)
|
||||
)
|
||||
:post (behavior ()
|
||||
(remote-method-25 self)
|
||||
(none)
|
||||
)
|
||||
)
|
||||
|
||||
(defstate idle (remote)
|
||||
:virtual #t
|
||||
:event (-> (method-of-type remote enter) event)
|
||||
:trans remote-track
|
||||
:code (behavior ()
|
||||
(while (handle->process (-> self focus handle))
|
||||
(suspend)
|
||||
(ja :num! (loop!))
|
||||
)
|
||||
(go-virtual exit)
|
||||
(none)
|
||||
)
|
||||
:post (-> (method-of-type remote enter) post)
|
||||
)
|
||||
|
||||
(defstate exit (remote)
|
||||
:virtual #t
|
||||
:trans remote-track
|
||||
:code (behavior ()
|
||||
(set! (-> self blend) 1.0)
|
||||
(send-event (ppointer->process (-> self parent-override)) 'change-state empty-state)
|
||||
(suspend)
|
||||
0
|
||||
(none)
|
||||
)
|
||||
:post (-> (method-of-type remote enter) post)
|
||||
)
|
||||
|
||||
;; WARN: Return type mismatch remote vs none.
|
||||
(defmethod remote-method-23 remote ((obj remote))
|
||||
(reset-to-collide-spec (-> obj focus) (collide-spec jak player-list))
|
||||
(initialize-skeleton
|
||||
obj
|
||||
(the-as skeleton-group (art-group-get-by-name *level* "skel-voicebox" (the-as (pointer uint32) #f)))
|
||||
(the-as pair 0)
|
||||
)
|
||||
(set! (-> obj blend) 1.0)
|
||||
(set! (-> obj draw light-index) (the-as uint 30))
|
||||
(set! (-> obj speak-effect?) #f)
|
||||
(set! (-> obj part) (create-launch-control (-> *part-group-id-table* 77) obj))
|
||||
(none)
|
||||
)
|
||||
|
||||
(defstate cam-remote (camera-slave)
|
||||
:event (-> cam-string event)
|
||||
:enter (-> cam-string enter)
|
||||
:trans (behavior ()
|
||||
(if (or (not *camera*) (not (logtest? (-> *camera* master-options) 1)) (not (-> self child)))
|
||||
(deactivate self)
|
||||
)
|
||||
(none)
|
||||
)
|
||||
:code (-> cam-string code)
|
||||
)
|
||||
|
||||
(deftype voicebox (remote)
|
||||
((hint handle :offset-assert 288)
|
||||
)
|
||||
:heap-base #xb0
|
||||
:method-count-assert 26
|
||||
:size-assert #x128
|
||||
:flag-assert #x1a00b00128
|
||||
)
|
||||
|
||||
|
||||
(defstate exit (voicebox)
|
||||
:virtual #t
|
||||
:code (behavior ()
|
||||
(remove-setting! 'sound-flava)
|
||||
(set! (-> self state-time) (-> self clock frame-counter))
|
||||
(set! (-> self seeker target) 1.0)
|
||||
(while (and (< (-> self blend) 0.9999)
|
||||
(not (and (not (handle->process (-> self hint)))
|
||||
(>= (- (-> self clock frame-counter) (-> self state-time)) (seconds 0.05))
|
||||
(-> *setting-control* user-current hint)
|
||||
)
|
||||
)
|
||||
)
|
||||
(update! (-> self seeker) 0.0)
|
||||
(set! (-> self blend) (-> self seeker value))
|
||||
(suspend)
|
||||
)
|
||||
(set! (-> self blend) 1.0)
|
||||
(send-event (ppointer->process (-> self parent-override)) 'change-state empty-state)
|
||||
(suspend)
|
||||
(process-drawable-method-17 self)
|
||||
(none)
|
||||
)
|
||||
)
|
||||
|
||||
;; WARN: Return type mismatch object vs none.
|
||||
(defbehavior voicebox-init-by-other voicebox ((arg0 vector) (arg1 handle))
|
||||
(set! (-> self hint) arg1)
|
||||
(set! (-> self root) (new 'process 'trsqv))
|
||||
(set! (-> self root trans quad) (-> arg0 quad))
|
||||
(set! (-> self base-trans quad) (-> arg0 quad))
|
||||
(remote-method-23 self)
|
||||
(set! (-> self event-hook) (-> (method-of-object self enter) event))
|
||||
(go-virtual enter)
|
||||
(none)
|
||||
)
|
||||
|
||||
(defun voicebox-spawn ((arg0 process-drawable) (arg1 vector))
|
||||
(with-pp
|
||||
(when *camera*
|
||||
(let ((s3-0 (process-spawn camera-remote :init cam-slave-init cam-remote #f :from *camera-dead-pool* :to arg0)))
|
||||
(if s3-0
|
||||
(process-spawn voicebox arg1 (process->handle pp) :to (ppointer->process s3-0))
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
|
||||
(deftype judge (remote)
|
||||
((total-time time-frame :offset-assert 288)
|
||||
(beep-time time-frame :offset-assert 296)
|
||||
(hud-timer handle :offset-assert 304)
|
||||
(score uint8 :offset-assert 312)
|
||||
)
|
||||
:heap-base #xc0
|
||||
:method-count-assert 28
|
||||
:size-assert #x139
|
||||
:flag-assert #x1c00c00139
|
||||
(:methods
|
||||
(wait () _type_ :state 26)
|
||||
(judge-method-27 (_type_) none 27)
|
||||
)
|
||||
)
|
||||
|
||||
|
||||
(defmethod remote-method-24 judge ((obj judge) (arg0 vector))
|
||||
(set! (-> arg0 quad) (-> obj base-trans quad))
|
||||
1.0
|
||||
)
|
||||
|
||||
(defmethod remote-method-25 judge ((obj judge))
|
||||
(ja-post)
|
||||
(if (type? (-> obj root) collide-shape)
|
||||
(collide-shape-method-46 (the-as collide-shape (-> obj root)))
|
||||
)
|
||||
(when (and (-> obj next-state) (let ((v1-6 (-> obj next-state name)))
|
||||
(or (= v1-6 'idle) (= v1-6 'enter))
|
||||
)
|
||||
)
|
||||
(if *target*
|
||||
(set! (-> *game-info* score) (-> *target* fact-info-override trick-point))
|
||||
)
|
||||
(let ((v1-15 (the-as int (- (-> obj total-time) (- (-> *display* game-clock frame-counter) (-> obj start-time))))))
|
||||
(if (< (the-as time-frame v1-15) 0)
|
||||
(set! v1-15 0)
|
||||
)
|
||||
(set! (-> *game-info* timer) (the-as time-frame v1-15))
|
||||
)
|
||||
)
|
||||
0
|
||||
(none)
|
||||
)
|
||||
|
||||
(defstate wait (judge)
|
||||
:virtual #t
|
||||
:event (behavior ((proc process) (arg1 int) (event-type symbol) (event event-message-block))
|
||||
(case event-type
|
||||
(('die)
|
||||
(sound-play "judge-stop")
|
||||
(go-virtual exit)
|
||||
)
|
||||
(('touch 'attack)
|
||||
(let ((s4-0 (process-spawn camera-remote :init cam-slave-init cam-remote #f :from *camera-dead-pool* :to proc))
|
||||
(s5-2 (if (type? proc process-focusable)
|
||||
(the-as process-focusable proc)
|
||||
)
|
||||
)
|
||||
)
|
||||
(when (and s4-0
|
||||
(begin (send-event s5-2 'change-mode 'board #f) (logtest? (focus-status board) (-> s5-2 focus-status)))
|
||||
)
|
||||
(change-parent self (ppointer->process s4-0))
|
||||
(try-update-focus (-> self focus) s5-2)
|
||||
(go-virtual enter)
|
||||
)
|
||||
)
|
||||
)
|
||||
(('waiting)
|
||||
#t
|
||||
)
|
||||
)
|
||||
)
|
||||
:code (behavior ()
|
||||
(transform-post)
|
||||
(logior! (-> self mask) (process-mask sleep))
|
||||
(suspend)
|
||||
0
|
||||
(none)
|
||||
)
|
||||
)
|
||||
|
||||
(defstate enter (judge)
|
||||
:virtual #t
|
||||
:enter (behavior ()
|
||||
(set! (-> self start-time) (-> *display* game-clock frame-counter))
|
||||
(send-event *target* 'get-pickup 20 (the float (-> self total-time)))
|
||||
(sound-play "judge-start")
|
||||
(set! (-> self hud-timer) (ppointer->handle (process-spawn hud-timer :init hud-init-by-other :to self)))
|
||||
(none)
|
||||
)
|
||||
)
|
||||
|
||||
(defstate idle (judge)
|
||||
:virtual #t
|
||||
:event (behavior ((proc process) (arg1 int) (event-type symbol) (event event-message-block))
|
||||
(case event-type
|
||||
(('die)
|
||||
(sound-play "judge-stop")
|
||||
(go-virtual exit)
|
||||
)
|
||||
)
|
||||
)
|
||||
:code (behavior ()
|
||||
(while (let ((a0-2 (handle->process (-> self focus handle))))
|
||||
(and a0-2 (!= (send-event a0-2 'test-pickup 20) 0.0))
|
||||
)
|
||||
(suspend)
|
||||
(ja :num! (loop!))
|
||||
)
|
||||
(send-event (handle->process (-> self hud-timer)) 'hide-and-die)
|
||||
(go-virtual exit)
|
||||
(none)
|
||||
)
|
||||
)
|
||||
|
||||
(defmethod judge-method-27 judge ((obj judge))
|
||||
(let ((s5-0 (new 'process 'collide-shape obj (collide-list-enum hit-by-player))))
|
||||
(let ((v1-2 (new 'process 'collide-shape-prim-sphere s5-0 (the-as uint 0))))
|
||||
(set! (-> v1-2 prim-core collide-as) (collide-spec collectable))
|
||||
(set! (-> v1-2 prim-core collide-with) (collide-spec jak player-list tobot))
|
||||
(set-vector! (-> v1-2 local-sphere) 0.0 0.0 0.0 16384.0)
|
||||
(set! (-> s5-0 total-prims) (the-as uint 1))
|
||||
(set! (-> s5-0 root-prim) v1-2)
|
||||
)
|
||||
(set! (-> s5-0 nav-radius) (* 0.75 (-> s5-0 root-prim local-sphere w)))
|
||||
(let ((v1-5 (-> s5-0 root-prim)))
|
||||
(set! (-> s5-0 backup-collide-as) (-> v1-5 prim-core collide-as))
|
||||
(set! (-> s5-0 backup-collide-with) (-> v1-5 prim-core collide-with))
|
||||
)
|
||||
(set! (-> obj root) s5-0)
|
||||
)
|
||||
0
|
||||
(none)
|
||||
)
|
||||
|
||||
;; WARN: Return type mismatch object vs none.
|
||||
(defmethod init-from-entity! judge ((obj judge) (arg0 entity-actor))
|
||||
(judge-method-27 obj)
|
||||
(remote-method-23 obj)
|
||||
(process-drawable-from-entity! obj arg0)
|
||||
(set! (-> obj root trans y) (+ 4096.0 (-> obj root trans y)))
|
||||
(set! (-> obj base-trans quad) (-> obj root trans quad))
|
||||
(set! (-> obj total-time) (seconds 90))
|
||||
(go (method-of-object obj wait))
|
||||
(none)
|
||||
)
|
||||
|
||||
;; WARN: Return type mismatch object vs none.
|
||||
(defbehavior judge-init-by-other judge ((arg0 vector) (arg1 uint))
|
||||
(process-entity-set! self (the-as entity-actor #f))
|
||||
(set! (-> self score) arg1)
|
||||
(judge-method-27 self)
|
||||
(remote-method-23 self)
|
||||
(vector-identity! (-> self root scale))
|
||||
(quaternion-identity! (-> self root quat))
|
||||
(set! (-> self root trans quad) (-> arg0 quad))
|
||||
(set! (-> self base-trans quad) (-> self root trans quad))
|
||||
(set! (-> self total-time) (seconds 90))
|
||||
(go-virtual wait)
|
||||
(none)
|
||||
)
|
||||
|
||||
;; WARN: Return type mismatch (pointer process) vs (pointer judge).
|
||||
(defun judge-spawn ((arg0 process-tree) (arg1 vector) (arg2 uint))
|
||||
(process-spawn judge arg1 arg2 :to arg0)
|
||||
)
|
||||
|
||||
@@ -1514,7 +1514,7 @@
|
||||
)
|
||||
(('ocean)
|
||||
(set! (-> arg0 flags) (water-flags active use-ocean))
|
||||
(set! (-> arg0 trans y) (ocean-method-11 *ocean* (the-as (inline-array vector) (-> arg0 trans)) #f))
|
||||
(set! (-> arg0 trans y) (ocean-method-11 *ocean* (-> arg0 trans) #f))
|
||||
(set! (-> arg0 base-height) (ocean-map-method-10 *ocean-map*))
|
||||
(when (= (-> arg0 trans y) 4095996000.0)
|
||||
(set! (-> arg0 flags) (water-flags))
|
||||
|
||||
@@ -5,6 +5,8 @@
|
||||
;; name in dgo: debug-part
|
||||
;; dgos: ENGINE, GAME
|
||||
|
||||
;; og:ignore-form:sparticle-track-root-money
|
||||
|
||||
;; DECOMP BEGINS
|
||||
|
||||
;; this file is debug only
|
||||
@@ -1660,7 +1662,7 @@
|
||||
)
|
||||
)
|
||||
|
||||
;; ERROR: function has no type analysis. Cannot decompile.
|
||||
;; ERROR: failed type prop at 2: Unknown symbol: hud-money
|
||||
|
||||
(defpart 412
|
||||
:init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x92 :page #xc))
|
||||
|
||||
@@ -44,6 +44,9 @@
|
||||
(define-extern process-by-ename (function string process))
|
||||
(define-extern entity-birth-no-kill (function entity process))
|
||||
|
||||
;; NOTE - for voicebox
|
||||
(define-extern process-entity-set! (function process entity-actor entity-actor))
|
||||
|
||||
;; DECOMP BEGINS
|
||||
|
||||
(define *generate-actor-vis* #f)
|
||||
|
||||
@@ -16,6 +16,11 @@
|
||||
)
|
||||
;; ---task-arrow-flags
|
||||
|
||||
(declare-type task-arrow-params structure)
|
||||
(declare-type task-arrow process-drawable)
|
||||
(define-extern task-arrow-init-by-other (function task-arrow-params task-arrow :behavior task-arrow))
|
||||
(define-extern task-arrow-spawn (function task-arrow-params task-arrow process))
|
||||
|
||||
;; DECOMP BEGINS
|
||||
|
||||
(defskelgroup skel-task-arrow ctywide-arrow 0 2
|
||||
|
||||
@@ -122,7 +122,6 @@
|
||||
)
|
||||
)
|
||||
|
||||
;; failed to figure out what this is:
|
||||
(defpart 47
|
||||
:init-specs ((sp-flt spt-scalevel-x (meters 0.004166667))
|
||||
(sp-copy-from-other spt-scalevel-y -4)
|
||||
@@ -130,7 +129,6 @@
|
||||
)
|
||||
)
|
||||
|
||||
;; failed to figure out what this is:
|
||||
(defpart 44
|
||||
:init-specs ((sp-flt spt-num 1.0)
|
||||
(sp-int spt-rot-x 12)
|
||||
@@ -148,12 +146,10 @@
|
||||
)
|
||||
)
|
||||
|
||||
;; failed to figure out what this is:
|
||||
(defpart 48
|
||||
:init-specs ((sp-flt spt-fade-g -5.1200004))
|
||||
)
|
||||
|
||||
;; failed to figure out what this is:
|
||||
(defpart 45
|
||||
:init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x29 :page #xc))
|
||||
(sp-flt spt-num 0.1)
|
||||
@@ -174,7 +170,6 @@
|
||||
)
|
||||
)
|
||||
|
||||
;; failed to figure out what this is:
|
||||
(defpart 41
|
||||
:init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x21 :page #xc))
|
||||
(sp-flt spt-num 1.0)
|
||||
@@ -195,7 +190,6 @@
|
||||
)
|
||||
)
|
||||
|
||||
;; failed to figure out what this is:
|
||||
(defpart 49
|
||||
:init-specs ((sp-flt spt-scalevel-x (meters 0.008333334))
|
||||
(sp-copy-from-other spt-scalevel-y -4)
|
||||
@@ -203,7 +197,6 @@
|
||||
)
|
||||
)
|
||||
|
||||
;; failed to figure out what this is:
|
||||
(defpart 42
|
||||
:init-specs ((sp-flt spt-num 1.0)
|
||||
(sp-int spt-rot-x 24)
|
||||
@@ -221,12 +214,10 @@
|
||||
)
|
||||
)
|
||||
|
||||
;; failed to figure out what this is:
|
||||
(defpart 50
|
||||
:init-specs ((sp-flt spt-fade-g -10.240001))
|
||||
)
|
||||
|
||||
;; failed to figure out what this is:
|
||||
(defpartgroup group-stars
|
||||
:id 2
|
||||
:flags (always-draw)
|
||||
@@ -234,7 +225,6 @@
|
||||
:parts ((sp-item 51 :flags (bit6)) (sp-item 52 :flags (bit6)) (sp-item 53 :flags (bit6)))
|
||||
)
|
||||
|
||||
;; failed to figure out what this is:
|
||||
(defpart 51
|
||||
:init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xc9 :page #xc))
|
||||
(sp-flt spt-num 1.0)
|
||||
@@ -256,17 +246,14 @@
|
||||
)
|
||||
)
|
||||
|
||||
;; failed to figure out what this is:
|
||||
(defpart 54
|
||||
:init-specs ((sp-flt spt-fade-a 0.0) (sp-int spt-next-time 29999700) (sp-launcher-by-id spt-next-launcher 55))
|
||||
)
|
||||
|
||||
;; failed to figure out what this is:
|
||||
(defpart 55
|
||||
:init-specs ((sp-flt spt-fade-a -0.42666668))
|
||||
)
|
||||
|
||||
;; failed to figure out what this is:
|
||||
(defpart 52
|
||||
:init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xc9 :page #xc))
|
||||
(sp-flt spt-num 1.0)
|
||||
@@ -288,7 +275,6 @@
|
||||
)
|
||||
)
|
||||
|
||||
;; failed to figure out what this is:
|
||||
(defpart 53
|
||||
:init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xc9 :page #xc))
|
||||
(sp-flt spt-num 1.0)
|
||||
@@ -310,7 +296,6 @@
|
||||
)
|
||||
)
|
||||
|
||||
;; failed to figure out what this is:
|
||||
(defpart 56
|
||||
:init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xc9 :page #xc))
|
||||
(sp-flt spt-num 4.0)
|
||||
@@ -335,7 +320,6 @@
|
||||
)
|
||||
)
|
||||
|
||||
;; failed to figure out what this is:
|
||||
(defpart 58
|
||||
:init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xc9 :page #xc))
|
||||
(sp-flt spt-num 0.0)
|
||||
@@ -360,19 +344,14 @@
|
||||
)
|
||||
)
|
||||
|
||||
;; failed to figure out what this is:
|
||||
(defpart 57
|
||||
:init-specs ((sp-flt spt-fade-a 0.0) (sp-int spt-next-time 1200) (sp-launcher-by-id spt-next-launcher 59))
|
||||
)
|
||||
|
||||
;; failed to figure out what this is:
|
||||
(defpart 59
|
||||
:init-specs ((sp-flt spt-fade-a -0.85333335))
|
||||
)
|
||||
|
||||
;; definition for function update-snow
|
||||
;; INFO: Used lq/sq
|
||||
;; WARN: Return type mismatch int vs none.
|
||||
(defun update-snow ((arg0 float) (arg1 vector) (arg2 vector))
|
||||
(let ((f0-0 (lerp-scale 0.0 1.0 (vector-length arg2) 2048.0 40960.0)))
|
||||
(set! (-> *part-id-table* 58 init-specs 1 initial-valuef) (- 1.0 f0-0))
|
||||
@@ -399,7 +378,6 @@
|
||||
(none)
|
||||
)
|
||||
|
||||
;; failed to figure out what this is:
|
||||
(defpart 60
|
||||
:init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x21 :page #xc))
|
||||
(sp-func spt-birth-func 'birth-func-rain)
|
||||
@@ -421,7 +399,6 @@
|
||||
)
|
||||
)
|
||||
|
||||
;; failed to figure out what this is:
|
||||
(defpart 61
|
||||
:init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x21 :page #xc))
|
||||
(sp-func spt-birth-func 'birth-func-rain)
|
||||
@@ -443,7 +420,6 @@
|
||||
)
|
||||
)
|
||||
|
||||
;; failed to figure out what this is:
|
||||
(defpart 62
|
||||
:init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x21 :page #xc))
|
||||
(sp-rnd-flt spt-num 1.0 3.0 1.0)
|
||||
@@ -472,7 +448,6 @@
|
||||
)
|
||||
)
|
||||
|
||||
;; failed to figure out what this is:
|
||||
(defpart 64
|
||||
:init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xc9 :page #xc))
|
||||
(sp-func spt-birth-func 'birth-func-omega-normal-orient)
|
||||
@@ -499,7 +474,6 @@
|
||||
)
|
||||
)
|
||||
|
||||
;; failed to figure out what this is:
|
||||
(defpart 65
|
||||
:init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x92 :page #xc))
|
||||
(sp-rnd-flt spt-num 2.0 4.0 1.0)
|
||||
@@ -524,7 +498,6 @@
|
||||
)
|
||||
)
|
||||
|
||||
;; failed to figure out what this is:
|
||||
(defpart 66
|
||||
:init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xbb :page #xc))
|
||||
(sp-flt spt-num 1.0)
|
||||
@@ -548,8 +521,6 @@
|
||||
)
|
||||
)
|
||||
|
||||
;; definition for function birth-func-omega-normal-orient
|
||||
;; WARN: Return type mismatch int vs none.
|
||||
(defun birth-func-omega-normal-orient ((arg0 sparticle-system)
|
||||
(arg1 sparticle-cpuinfo)
|
||||
(arg2 sprite-vec-data-3d)
|
||||
@@ -592,9 +563,6 @@
|
||||
)
|
||||
)
|
||||
|
||||
;; definition for function birth-func-rain
|
||||
;; INFO: Used lq/sq
|
||||
;; WARN: Return type mismatch int vs none.
|
||||
(defun birth-func-rain ((arg0 sparticle-system)
|
||||
(arg1 sparticle-cpuinfo)
|
||||
(arg2 sprite-vec-data-3d)
|
||||
@@ -632,7 +600,7 @@
|
||||
)
|
||||
)
|
||||
)
|
||||
(let ((f0-21 (ocean-method-11 *ocean* (the-as (inline-array vector) (-> arg2 x-y-z-sx)) #f)))
|
||||
(let ((f0-21 (ocean-method-11 *ocean* (-> arg2 x-y-z-sx) #f)))
|
||||
(when (!= f0-21 4095996000.0)
|
||||
(when (< (-> arg1 user-float) f0-21)
|
||||
(set! (-> arg1 user-float) f0-21)
|
||||
@@ -648,8 +616,6 @@
|
||||
(none)
|
||||
)
|
||||
|
||||
;; definition for function check-drop-level-rain
|
||||
;; INFO: Used lq/sq
|
||||
(defun check-drop-level-rain ((arg0 sparticle-system) (arg1 sparticle-cpuinfo) (arg2 vector))
|
||||
(when (< (-> arg2 y) (-> arg1 user-float))
|
||||
(let ((s4-0 (new 'stack-no-clear 'vector))
|
||||
@@ -719,7 +685,6 @@
|
||||
(none)
|
||||
)
|
||||
|
||||
;; definition for function check-drop-level-rain2
|
||||
;; WARN: Return type mismatch symbol vs none.
|
||||
(defun check-drop-level-rain2 ((arg0 sparticle-system) (arg1 sparticle-cpuinfo) (arg2 vector))
|
||||
(if (< (-> arg2 y) (-> arg1 user-float))
|
||||
@@ -728,7 +693,6 @@
|
||||
(none)
|
||||
)
|
||||
|
||||
;; definition for function check-drop-level-splash
|
||||
;; WARN: Return type mismatch symbol vs none.
|
||||
(defun check-drop-level-splash ((arg0 sparticle-system) (arg1 sparticle-cpuinfo) (arg2 vector))
|
||||
(sparticle-motion-blur arg0 arg1 arg2)
|
||||
@@ -738,9 +702,6 @@
|
||||
(none)
|
||||
)
|
||||
|
||||
;; definition for function update-rain
|
||||
;; INFO: Used lq/sq
|
||||
;; WARN: Return type mismatch int vs none.
|
||||
(defun update-rain ((arg0 float) (arg1 vector) (arg2 vector))
|
||||
(let ((v1-0 (new 'stack-no-clear 'vector)))
|
||||
(set! (-> v1-0 x) (-> arg2 x))
|
||||
@@ -796,8 +757,6 @@
|
||||
(none)
|
||||
)
|
||||
|
||||
;; definition for function cam-master-effect
|
||||
;; WARN: Return type mismatch int vs none.
|
||||
(defbehavior cam-master-effect camera-master ()
|
||||
(when (not (or (movie?) (>= (+ (-> self clock frame-counter) (seconds -10)) (-> self water-drip-time))))
|
||||
(set! (-> *part-id-table* 46 init-specs 1 initial-valuef) (-> self water-drip-mult))
|
||||
@@ -812,8 +771,6 @@
|
||||
(none)
|
||||
)
|
||||
|
||||
;; definition for function sparticle-track-sun
|
||||
;; WARN: Return type mismatch int vs none.
|
||||
(defun sparticle-track-sun ((arg0 int) (arg1 sparticle-cpuinfo) (arg2 matrix))
|
||||
(-> arg1 key)
|
||||
(let* ((s3-0 (the int (-> arg1 user-float)))
|
||||
@@ -840,7 +797,6 @@
|
||||
(none)
|
||||
)
|
||||
|
||||
;; failed to figure out what this is:
|
||||
(defpartgroup group-sun
|
||||
:id 3
|
||||
:flags (always-draw)
|
||||
@@ -848,7 +804,6 @@
|
||||
:parts ((sp-item 67 :flags (bit6)) (sp-item 68 :flags (bit6)))
|
||||
)
|
||||
|
||||
;; failed to figure out what this is:
|
||||
(defpart 67
|
||||
:init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xbb :page #xc))
|
||||
(sp-flt spt-num 1.0)
|
||||
@@ -868,7 +823,6 @@
|
||||
)
|
||||
)
|
||||
|
||||
;; failed to figure out what this is:
|
||||
(defpart 68
|
||||
:init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xbb :page #xc))
|
||||
(sp-flt spt-num 1.0)
|
||||
@@ -888,7 +842,6 @@
|
||||
)
|
||||
)
|
||||
|
||||
;; failed to figure out what this is:
|
||||
(defpartgroup group-green-sun
|
||||
:id 4
|
||||
:flags (always-draw)
|
||||
@@ -896,7 +849,6 @@
|
||||
:parts ((sp-item 69 :flags (bit6)) (sp-item 70 :flags (bit6)))
|
||||
)
|
||||
|
||||
;; failed to figure out what this is:
|
||||
(defpart 69
|
||||
:init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xbb :page #xc))
|
||||
(sp-flt spt-num 1.0)
|
||||
@@ -916,7 +868,6 @@
|
||||
)
|
||||
)
|
||||
|
||||
;; failed to figure out what this is:
|
||||
(defpart 70
|
||||
:init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xbb :page #xc))
|
||||
(sp-flt spt-num 1.0)
|
||||
@@ -936,7 +887,6 @@
|
||||
)
|
||||
)
|
||||
|
||||
;; failed to figure out what this is:
|
||||
(defpartgroup group-moon
|
||||
:id 5
|
||||
:flags (always-draw)
|
||||
@@ -944,7 +894,6 @@
|
||||
:parts ((sp-item 71 :flags (bit6)))
|
||||
)
|
||||
|
||||
;; failed to figure out what this is:
|
||||
(defpart 71
|
||||
:init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xca :page #xc))
|
||||
(sp-flt spt-num 1.0)
|
||||
|
||||
@@ -512,7 +512,7 @@
|
||||
:size-assert #x206c
|
||||
:flag-assert #x5c0000206c
|
||||
(:methods
|
||||
(ocean-method-11 (_type_ (inline-array vector) symbol) float 11)
|
||||
(ocean-method-11 (_type_ vector symbol) float 11)
|
||||
(draw! (_type_) none 12)
|
||||
(update-map (_type_) none 13)
|
||||
(ocean-method-14 () none 14)
|
||||
@@ -522,7 +522,7 @@
|
||||
(ocean-method-18 () none 18)
|
||||
(ocean-method-19 () none 19)
|
||||
(ocean-method-20 () none 20)
|
||||
(ocean-method-21 () none 21)
|
||||
(ocean-method-21 (_type_ float float) float 21)
|
||||
(ocean-method-22 () none 22)
|
||||
(ocean-method-23 () none 23)
|
||||
(ocean-method-24 () none 24)
|
||||
@@ -937,4 +937,4 @@
|
||||
:mask-hi (new 'static 'vector4w :x -65536 :y -65536 :z -65536 :w -65536)
|
||||
:mask-lo (new 'static 'vector4w :x #xffff :y #xffff :z #xffff :w #xffff)
|
||||
)
|
||||
)
|
||||
)
|
||||
|
||||
@@ -1828,7 +1828,9 @@
|
||||
)
|
||||
|
||||
(defun birth-func-ocean-height ((arg0 sparticle-system) (arg1 sparticle-cpuinfo) (arg2 matrix))
|
||||
(set! (-> arg2 vector 0 y) (+ (ocean-method-11 *ocean* (-> arg2 vector) #t) (-> arg1 user-float)))
|
||||
(set! (-> arg2 vector 0 y)
|
||||
(+ (ocean-method-11 *ocean* (the-as vector (-> arg2 vector)) #t) (-> arg1 user-float))
|
||||
)
|
||||
0
|
||||
(none)
|
||||
)
|
||||
|
||||
@@ -352,7 +352,7 @@
|
||||
(:methods
|
||||
(idle () _type_ :state 27)
|
||||
(active () _type_ :state 28)
|
||||
(rigid-body-object-method-29 (_type_) none 29)
|
||||
(rigid-body-object-method-29 (_type_ float) none 29)
|
||||
(rigid-body-object-method-30 (_type_) none 30)
|
||||
(rigid-body-object-method-31 (_type_ rigid-body-object-constants) none 31)
|
||||
(rigid-body-object-method-32 (_type_) none 32)
|
||||
|
||||
@@ -505,9 +505,7 @@
|
||||
)
|
||||
)
|
||||
((method-of-type rigid-body-info rigid-body-info-method-9) (the-as rigid-body-info (&-> (-> obj info) mass)))
|
||||
(set! (-> obj rbody state force-callback)
|
||||
(the-as (function object float none) (method-of-object obj rigid-body-object-method-29))
|
||||
)
|
||||
(set! (-> obj rbody state force-callback) (method-of-object obj rigid-body-object-method-29))
|
||||
0
|
||||
(none)
|
||||
)
|
||||
@@ -529,11 +527,11 @@
|
||||
(none)
|
||||
)
|
||||
|
||||
(defmethod rigid-body-object-method-29 rigid-body-object ((obj rigid-body-object))
|
||||
(let ((a1-0 (new 'stack-no-clear 'vector)))
|
||||
(vector-reset! a1-0)
|
||||
(set! (-> a1-0 y) (* -1.0 (-> obj info gravity) (-> obj rbody state info mass)))
|
||||
(rigid-body-method-20 (-> obj rbody state) a1-0)
|
||||
(defmethod rigid-body-object-method-29 rigid-body-object ((obj rigid-body-object) (arg0 float))
|
||||
(let ((a1-1 (new 'stack-no-clear 'vector)))
|
||||
(vector-reset! a1-1)
|
||||
(set! (-> a1-1 y) (* -1.0 (-> obj info gravity) (-> obj rbody state info mass)))
|
||||
(rigid-body-method-20 (-> obj rbody state) a1-1)
|
||||
)
|
||||
0
|
||||
(none)
|
||||
|
||||
@@ -34,9 +34,9 @@
|
||||
(play-game (game-task-event) _type_ :state 30)
|
||||
(process-taskable-method-31 (_type_) none 31)
|
||||
(process-taskable-method-32 (_type_) none 32)
|
||||
(process-taskable-method-33 (_type_) none 33)
|
||||
(init-skeleton! (_type_) none 33)
|
||||
(process-taskable-method-34 (_type_) symbol 34)
|
||||
(process-taskable-method-35 (_type_) art-joint-anim 35)
|
||||
(get-art-elem (_type_) art-element 35)
|
||||
(process-taskable-method-36 (_type_) none 36)
|
||||
(process-taskable-method-37 (_type_) none 37)
|
||||
)
|
||||
|
||||
@@ -15,12 +15,15 @@
|
||||
(the-as process-taskable ((method-of-type process-focusable relocate) obj arg0))
|
||||
)
|
||||
|
||||
(defbehavior process-taskable-anim-loop process-taskable ((arg0 (function symbol)))
|
||||
(while (begin self (arg0))
|
||||
(let ((s5-0 (process-taskable-method-35 self)))
|
||||
(defbehavior process-taskable-anim-loop process-taskable ((arg0 (function process-taskable object)))
|
||||
"Takes in a function and loops as long as it's return value is truthy
|
||||
Seen take in - `true-func` which takes no args TODO - seems fishy
|
||||
- a `(process-taskable process) lambda"
|
||||
(while (arg0 self)
|
||||
(let ((s5-0 (get-art-elem self)))
|
||||
(when (!= (ja-group) s5-0)
|
||||
(ja-channel-push! 1 0)
|
||||
(set! (-> self skel root-channel 0 frame-group) s5-0)
|
||||
(set! (-> self skel root-channel 0 frame-group) (the-as art-joint-anim s5-0))
|
||||
)
|
||||
)
|
||||
(suspend)
|
||||
@@ -37,10 +40,14 @@
|
||||
#t
|
||||
)
|
||||
|
||||
(defmethod process-taskable-method-35 process-taskable ((obj process-taskable))
|
||||
(if (> (-> obj skel active-channels) 0)
|
||||
(-> obj skel root-channel 0 frame-group)
|
||||
)
|
||||
;; WARN: Return type mismatch art-joint-anim vs art-element.
|
||||
(defmethod get-art-elem process-taskable ((obj process-taskable))
|
||||
"Checks various things such the current actor, task status, etc to determine the right art-group data to use
|
||||
@returns the appropriate [[art-element]] for the given NPC"
|
||||
(the-as art-element (if (> (-> obj skel active-channels) 0)
|
||||
(-> obj skel root-channel 0 frame-group)
|
||||
)
|
||||
)
|
||||
)
|
||||
|
||||
(defmethod process-taskable-method-36 process-taskable ((obj process-taskable))
|
||||
@@ -144,7 +151,6 @@
|
||||
((= v1-0 'touch)
|
||||
(collide-shape-method-50 (-> self root-override) proc (-> event param 0) 0.7 6144.0 16384.0)
|
||||
)
|
||||
;; TODO - manually fixed!
|
||||
((= v1-0 'say)
|
||||
(set! (-> self want-to-say) (-> self clock frame-counter))
|
||||
)
|
||||
@@ -288,7 +294,7 @@
|
||||
(none)
|
||||
)
|
||||
:code (behavior ()
|
||||
(process-taskable-anim-loop true-func)
|
||||
(process-taskable-anim-loop (the-as (function process-taskable object) true-func))
|
||||
(none)
|
||||
)
|
||||
:post (behavior ()
|
||||
@@ -438,7 +444,8 @@
|
||||
(none)
|
||||
)
|
||||
|
||||
(defmethod process-taskable-method-33 process-taskable ((obj process-taskable))
|
||||
(defmethod init-skeleton! process-taskable ((obj process-taskable))
|
||||
"@see [[initialize-skeleton]]"
|
||||
0
|
||||
(none)
|
||||
)
|
||||
@@ -451,7 +458,7 @@
|
||||
(set! (-> obj task)
|
||||
(new 'process 'game-task-control (res-lump-value arg0 'task-actor game-task-actor :time -1000000000.0))
|
||||
)
|
||||
(process-taskable-method-33 obj)
|
||||
(init-skeleton! obj)
|
||||
(process-taskable-method-32 obj)
|
||||
(when (logtest? #x1000000 (res-lump-value arg0 'options uint128 :time -1000000000.0))
|
||||
(let* ((s5-1 *level*)
|
||||
|
||||
@@ -13,7 +13,7 @@
|
||||
|
||||
(deftype scene-actor (basic)
|
||||
((name string :offset-assert 4)
|
||||
(level basic :offset-assert 8)
|
||||
(level symbol :offset-assert 8)
|
||||
(art-group string :offset-assert 12)
|
||||
(prefix string :offset-assert 16)
|
||||
(draw-frames pair :offset-assert 20)
|
||||
@@ -45,24 +45,28 @@
|
||||
(art-group string :offset-assert 40)
|
||||
(anim string :offset-assert 44)
|
||||
(parts int32 :offset-assert 48)
|
||||
(command-list basic :offset-assert 52)
|
||||
(command-list pair :offset-assert 52)
|
||||
(cut-list pair :offset-assert 56)
|
||||
(wait-max-time time-frame :offset-assert 64)
|
||||
(wait-air-time time-frame :offset-assert 72)
|
||||
(wait-ground-time time-frame :offset-assert 80)
|
||||
(draw-target level-load-info :offset-assert 88)
|
||||
(abort basic :offset-assert 92)
|
||||
(abort symbol :offset-assert 92)
|
||||
(actor (array scene-actor) :offset-assert 96)
|
||||
(load-point string :offset-assert 100)
|
||||
(end-point string :offset-assert 104)
|
||||
(borrow basic :offset-assert 108)
|
||||
(load-point-obj object :offset-assert 100)
|
||||
(load-point continue-point :offset 100)
|
||||
(load-point-name string :offset 100)
|
||||
(end-point-obj object :offset-assert 104)
|
||||
(end-point continue-point :offset 104)
|
||||
(end-point-name string :offset 104)
|
||||
(borrow pair :offset-assert 108)
|
||||
(sfx-volume float :offset-assert 112)
|
||||
(ambient-volume float :offset-assert 116)
|
||||
(music-volume float :offset-assert 120)
|
||||
(blackout-end basic :offset-assert 124)
|
||||
(peaceful basic :offset-assert 128)
|
||||
(blackout-end symbol :offset-assert 124)
|
||||
(peaceful symbol :offset-assert 128)
|
||||
(music-delay float :offset-assert 132)
|
||||
(save basic :offset-assert 136)
|
||||
(save symbol :offset-assert 136)
|
||||
(scene-task uint16 :offset-assert 140)
|
||||
)
|
||||
:method-count-assert 17
|
||||
|
||||
@@ -143,6 +143,7 @@
|
||||
|
||||
(deftype target (process-focusable)
|
||||
((control control-info :offset 128)
|
||||
(fact-info-override fact-info-target :offset 160)
|
||||
(skel2 joint-control :offset-assert 204)
|
||||
(shadow-backup shadow-geo :offset-assert 208)
|
||||
(target-flags uint32 :offset 188)
|
||||
|
||||
@@ -7,3 +7,235 @@
|
||||
|
||||
;; DECOMP BEGINS
|
||||
|
||||
(defpartgroup group-race-signal-red-light-3
|
||||
:id 194
|
||||
:bounds (static-bspherem 0 0 0 1)
|
||||
:parts ((sp-item 905 :flags (bit6)))
|
||||
)
|
||||
|
||||
(defpart 905
|
||||
:init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xbc :page #xc))
|
||||
(sp-flt spt-num 1.0)
|
||||
(sp-rnd-flt spt-scale-x (meters 3) (meters 0.5) 1.0)
|
||||
(sp-flt spt-rot-x 4096.0)
|
||||
(sp-copy-from-other spt-scale-y -4)
|
||||
(sp-flt spt-r 128.0)
|
||||
(sp-flt spt-g 0.0)
|
||||
(sp-flt spt-b 0.0)
|
||||
(sp-flt spt-a 64.0)
|
||||
(sp-flt spt-omega 4097638.5)
|
||||
(sp-int spt-timer 5)
|
||||
(sp-cpuinfo-flags sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 glow)
|
||||
(sp-flt spt-userdata 4096.0)
|
||||
(sp-flt spt-rotate-y (degrees 0.0))
|
||||
)
|
||||
)
|
||||
|
||||
(defpartgroup group-race-signal-red-light-2
|
||||
:id 195
|
||||
:bounds (static-bspherem 0 0 0 1)
|
||||
:parts ((sp-item 906 :flags (bit6)))
|
||||
)
|
||||
|
||||
(defpart 906
|
||||
:init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xbc :page #xc))
|
||||
(sp-flt spt-num 1.0)
|
||||
(sp-rnd-flt spt-scale-x (meters 4) (meters 0.5) 1.0)
|
||||
(sp-flt spt-rot-x 4096.0)
|
||||
(sp-copy-from-other spt-scale-y -4)
|
||||
(sp-flt spt-r 128.0)
|
||||
(sp-flt spt-g 0.0)
|
||||
(sp-flt spt-b 0.0)
|
||||
(sp-flt spt-a 64.0)
|
||||
(sp-flt spt-omega 4097638.5)
|
||||
(sp-int spt-timer 5)
|
||||
(sp-cpuinfo-flags sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 glow)
|
||||
(sp-flt spt-userdata 4096.0)
|
||||
(sp-flt spt-rotate-y (degrees 0.0))
|
||||
)
|
||||
)
|
||||
|
||||
(defpartgroup group-race-signal-red-light-1
|
||||
:id 196
|
||||
:bounds (static-bspherem 0 0 0 1)
|
||||
:parts ((sp-item 907 :flags (bit6)))
|
||||
)
|
||||
|
||||
(defpart 907
|
||||
:init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xbc :page #xc))
|
||||
(sp-flt spt-num 1.0)
|
||||
(sp-rnd-flt spt-scale-x (meters 6) (meters 0.5) 1.0)
|
||||
(sp-flt spt-rot-x 4096.0)
|
||||
(sp-copy-from-other spt-scale-y -4)
|
||||
(sp-flt spt-r 128.0)
|
||||
(sp-flt spt-g 0.0)
|
||||
(sp-flt spt-b 0.0)
|
||||
(sp-flt spt-a 64.0)
|
||||
(sp-flt spt-omega 4097638.5)
|
||||
(sp-int spt-timer 5)
|
||||
(sp-cpuinfo-flags sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 glow)
|
||||
(sp-flt spt-userdata 4096.0)
|
||||
(sp-flt spt-rotate-y (degrees 0.0))
|
||||
)
|
||||
)
|
||||
|
||||
(defpartgroup group-race-signal-green-light
|
||||
:id 197
|
||||
:bounds (static-bspherem 0 0 0 1)
|
||||
:parts ((sp-item 908 :flags (bit6)))
|
||||
)
|
||||
|
||||
(defpart 908
|
||||
:init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xbc :page #xc))
|
||||
(sp-flt spt-num 1.0)
|
||||
(sp-rnd-flt spt-scale-x (meters 8) (meters 1) 1.0)
|
||||
(sp-flt spt-rot-x 4096.0)
|
||||
(sp-copy-from-other spt-scale-y -4)
|
||||
(sp-flt spt-r 0.0)
|
||||
(sp-flt spt-g 128.0)
|
||||
(sp-flt spt-b 0.0)
|
||||
(sp-flt spt-a 96.0)
|
||||
(sp-flt spt-omega 4097638.5)
|
||||
(sp-int spt-timer 5)
|
||||
(sp-cpuinfo-flags sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 glow)
|
||||
(sp-flt spt-userdata 4096.0)
|
||||
(sp-flt spt-rotate-y (degrees 0.0))
|
||||
)
|
||||
)
|
||||
|
||||
(defpartgroup group-turbo-pickup
|
||||
:id 198
|
||||
:linger-duration (seconds 1)
|
||||
:bounds (static-bspherem 0 0 0 8)
|
||||
:parts ((sp-item 909 :fade-after (meters 90) :falloff-to (meters 90) :flags (is-3d))
|
||||
(sp-item 910 :flags (is-3d))
|
||||
(sp-item 911 :flags (bit6))
|
||||
(sp-item 912 :flags (is-3d bit6))
|
||||
(sp-item 913 :fade-after (meters 120) :falloff-to (meters 120))
|
||||
)
|
||||
)
|
||||
|
||||
(defpart 913
|
||||
:init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xc9 :page #xc))
|
||||
(sp-rnd-flt spt-num 1.0 1.0 1.0)
|
||||
(sp-rnd-flt spt-scale-x (meters 0.1) (meters 0.15) 1.0)
|
||||
(sp-int spt-rot-x 4)
|
||||
(sp-copy-from-other spt-scale-y -4)
|
||||
(sp-flt spt-r 255.0)
|
||||
(sp-rnd-flt spt-g 0.0 64.0 1.0)
|
||||
(sp-flt spt-b 255.0)
|
||||
(sp-rnd-flt spt-a 96.0 32.0 1.0)
|
||||
(sp-flt spt-omega 34.816)
|
||||
(sp-rnd-flt spt-vel-y (meters 0.053333335) (meters 0.026666667) 1.0)
|
||||
(sp-flt spt-scalevel-x (meters -0.00033333333))
|
||||
(sp-copy-from-other spt-scalevel-y -4)
|
||||
(sp-flt spt-fade-a -1.7066667)
|
||||
(sp-flt spt-friction 0.97)
|
||||
(sp-int spt-timer 75)
|
||||
(sp-cpuinfo-flags sp-cpuinfo-flag-2 sp-cpuinfo-flag-3)
|
||||
(sp-func spt-func 'sparticle-motion-blur)
|
||||
(sp-rnd-flt spt-conerot-x (degrees 0.0) (degrees 3600.0) 1.0)
|
||||
(sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 3600.0) 1.0)
|
||||
(sp-rnd-flt spt-conerot-z (degrees 0.0) (degrees 3600.0) 1.0)
|
||||
)
|
||||
)
|
||||
|
||||
(defpart 909
|
||||
:init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x86 :page #xd2e))
|
||||
(sp-flt spt-num 0.05)
|
||||
(sp-flt spt-scale-x (meters 0.5))
|
||||
(sp-rnd-flt spt-rot-x 0.0 655360.0 1.0)
|
||||
(sp-rnd-flt spt-rot-y (degrees 0.0) (degrees 3600.0) 1.0)
|
||||
(sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 3600.0) 1.0)
|
||||
(sp-copy-from-other spt-scale-y -4)
|
||||
(sp-flt spt-r 255.0)
|
||||
(sp-rnd-flt spt-g 64.0 64.0 1.0)
|
||||
(sp-flt spt-b 255.0)
|
||||
(sp-flt spt-a 64.0)
|
||||
(sp-flt spt-scalevel-x (meters 0.0055555557))
|
||||
(sp-flt spt-rotvel-x (degrees 0.8))
|
||||
(sp-flt spt-rotvel-y (degrees 0.8))
|
||||
(sp-flt spt-rotvel-z (degrees 0.8))
|
||||
(sp-copy-from-other spt-scalevel-y -4)
|
||||
(sp-int spt-timer 450)
|
||||
(sp-cpuinfo-flags sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 left-multiply-quat)
|
||||
)
|
||||
)
|
||||
|
||||
(defpart 912
|
||||
:init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xc9 :page #xc))
|
||||
(sp-func spt-birth-func 'birth-func-camera-orient)
|
||||
(sp-flt spt-num 1.0)
|
||||
(sp-rnd-flt spt-scale-x (meters 1.5) (meters 2.5) 1.0)
|
||||
(sp-copy-from-other spt-scale-y -4)
|
||||
(sp-flt spt-r 255.0)
|
||||
(sp-flt spt-g 255.0)
|
||||
(sp-flt spt-b 255.0)
|
||||
(sp-flt spt-a 128.0)
|
||||
(sp-int spt-timer 5)
|
||||
(sp-cpuinfo-flags sp-cpuinfo-flag-2 sp-cpuinfo-flag-3)
|
||||
)
|
||||
)
|
||||
|
||||
(defpart 910
|
||||
:init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x86 :page #xd2e))
|
||||
(sp-func spt-birth-func 'birth-func-camera-orient)
|
||||
(sp-flt spt-num 1.0)
|
||||
(sp-rnd-flt spt-scale-x (meters 2.9) (meters 0.3) 1.0)
|
||||
(sp-copy-from-other spt-scale-y -4)
|
||||
(sp-flt spt-r 255.0)
|
||||
(sp-flt spt-g 64.0)
|
||||
(sp-flt spt-b 255.0)
|
||||
(sp-flt spt-a 64.0)
|
||||
(sp-int spt-timer 5)
|
||||
(sp-cpuinfo-flags sp-cpuinfo-flag-2 sp-cpuinfo-flag-3)
|
||||
)
|
||||
)
|
||||
|
||||
(defpart 911
|
||||
:init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xca :page #xc))
|
||||
(sp-flt spt-num 1.0)
|
||||
(sp-rnd-flt spt-scale-x (meters 8) (meters 0.2) 1.0)
|
||||
(sp-flt spt-rot-x 4096.0)
|
||||
(sp-copy-from-other spt-scale-y -4)
|
||||
(sp-flt spt-r 255.0)
|
||||
(sp-flt spt-g 0.0)
|
||||
(sp-flt spt-b 255.0)
|
||||
(sp-rnd-flt spt-a 32.0 8.0 1.0)
|
||||
(sp-flt spt-omega 4097638.5)
|
||||
(sp-int spt-timer 5)
|
||||
(sp-cpuinfo-flags sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 glow)
|
||||
(sp-flt spt-userdata 0.0)
|
||||
(sp-flt spt-rotate-y (degrees 0.0))
|
||||
)
|
||||
)
|
||||
|
||||
(defpartgroup group-turbo-pickup-explode
|
||||
:id 199
|
||||
:duration (seconds 0.017)
|
||||
:linger-duration (seconds 1)
|
||||
:bounds (static-bspherem 0 0 0 32)
|
||||
:parts ((sp-item 914 :flags (bit6)))
|
||||
)
|
||||
|
||||
(defpart 914
|
||||
:init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xbb :page #xc))
|
||||
(sp-flt spt-num 1.0)
|
||||
(sp-flt spt-scale-x (meters 16))
|
||||
(sp-flt spt-rot-x 4096.0)
|
||||
(sp-copy-from-other spt-scale-y -4)
|
||||
(sp-flt spt-r 255.0)
|
||||
(sp-flt spt-g 64.0)
|
||||
(sp-flt spt-b 255.0)
|
||||
(sp-flt spt-a 128.0)
|
||||
(sp-flt spt-omega 4097638.5)
|
||||
(sp-flt spt-scalevel-x (meters -0.26666668))
|
||||
(sp-copy-from-other spt-scalevel-y -4)
|
||||
(sp-flt spt-fade-g -1.6)
|
||||
(sp-flt spt-fade-a -3.2)
|
||||
(sp-int spt-timer 40)
|
||||
(sp-cpuinfo-flags sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 glow)
|
||||
(sp-flt spt-userdata 0.0)
|
||||
(sp-flt spt-rotate-y (degrees 0.0))
|
||||
)
|
||||
)
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
+1
-34
@@ -1,7 +1,5 @@
|
||||
;;-*-Lisp-*-
|
||||
(in-package goal)
|
||||
|
||||
;; definition of type cam-index
|
||||
(deftype cam-index (structure)
|
||||
((flags cam-index-options :offset-assert 0)
|
||||
(vec vector 2 :inline :offset-assert 16)
|
||||
@@ -15,7 +13,6 @@
|
||||
)
|
||||
)
|
||||
|
||||
;; definition for method 3 of type cam-index
|
||||
(defmethod inspect cam-index ((obj cam-index))
|
||||
(when (not obj)
|
||||
(set! obj obj)
|
||||
@@ -28,7 +25,6 @@
|
||||
obj
|
||||
)
|
||||
|
||||
;; definition of type tracking-point
|
||||
(deftype tracking-point (structure)
|
||||
((position vector :inline :offset-assert 0)
|
||||
(direction vector :inline :offset-assert 16)
|
||||
@@ -41,7 +37,6 @@
|
||||
:flag-assert #x90000002c
|
||||
)
|
||||
|
||||
;; definition for method 3 of type tracking-point
|
||||
(defmethod inspect tracking-point ((obj tracking-point))
|
||||
(when (not obj)
|
||||
(set! obj obj)
|
||||
@@ -57,7 +52,6 @@
|
||||
obj
|
||||
)
|
||||
|
||||
;; definition of type tracking-spline-sampler
|
||||
(deftype tracking-spline-sampler (structure)
|
||||
((cur-pt int32 :offset-assert 0)
|
||||
(partial-pt float :offset-assert 4)
|
||||
@@ -67,7 +61,6 @@
|
||||
:flag-assert #x900000008
|
||||
)
|
||||
|
||||
;; definition for method 3 of type tracking-spline-sampler
|
||||
(defmethod inspect tracking-spline-sampler ((obj tracking-spline-sampler))
|
||||
(when (not obj)
|
||||
(set! obj obj)
|
||||
@@ -80,7 +73,6 @@
|
||||
obj
|
||||
)
|
||||
|
||||
;; definition of type tracking-spline
|
||||
(deftype tracking-spline (structure)
|
||||
((point tracking-point 32 :inline :offset-assert 0)
|
||||
(summed-len float :offset-assert 1536)
|
||||
@@ -119,7 +111,6 @@
|
||||
)
|
||||
)
|
||||
|
||||
;; definition for method 3 of type tracking-spline
|
||||
(defmethod inspect tracking-spline ((obj tracking-spline))
|
||||
(when (not obj)
|
||||
(set! obj obj)
|
||||
@@ -144,7 +135,6 @@
|
||||
obj
|
||||
)
|
||||
|
||||
;; definition of type cam-float-seeker
|
||||
(deftype cam-float-seeker (structure)
|
||||
((target float :offset-assert 0)
|
||||
(value float :offset-assert 4)
|
||||
@@ -165,7 +155,6 @@
|
||||
)
|
||||
)
|
||||
|
||||
;; definition for method 3 of type cam-float-seeker
|
||||
(defmethod inspect cam-float-seeker ((obj cam-float-seeker))
|
||||
(when (not obj)
|
||||
(set! obj obj)
|
||||
@@ -182,8 +171,6 @@
|
||||
obj
|
||||
)
|
||||
|
||||
;; definition for method 9 of type cam-float-seeker
|
||||
;; WARN: Return type mismatch int vs none.
|
||||
(defmethod init cam-float-seeker ((obj cam-float-seeker) (arg0 float) (arg1 float) (arg2 float) (arg3 float))
|
||||
(set! (-> obj target) arg0)
|
||||
(set! (-> obj value) arg0)
|
||||
@@ -195,8 +182,6 @@
|
||||
(none)
|
||||
)
|
||||
|
||||
;; definition for method 10 of type cam-float-seeker
|
||||
;; WARN: Return type mismatch int vs none.
|
||||
(defmethod copy-to cam-float-seeker ((obj cam-float-seeker) (arg0 cam-float-seeker))
|
||||
(set! (-> obj target) (-> arg0 target))
|
||||
(set! (-> obj value) (-> arg0 value))
|
||||
@@ -208,8 +193,6 @@
|
||||
(none)
|
||||
)
|
||||
|
||||
;; definition for method 11 of type cam-float-seeker
|
||||
;; WARN: Return type mismatch int vs none.
|
||||
(defmethod update! cam-float-seeker ((obj cam-float-seeker) (arg0 float))
|
||||
(with-pp
|
||||
0.0
|
||||
@@ -236,14 +219,12 @@
|
||||
)
|
||||
)
|
||||
|
||||
;; definition for method 12 of type cam-float-seeker
|
||||
(defmethod jump-to-target! cam-float-seeker ((obj cam-float-seeker) (arg0 float))
|
||||
(set! (-> obj value) (+ (-> obj target) arg0))
|
||||
(set! (-> obj vel) 0.0)
|
||||
0.0
|
||||
)
|
||||
|
||||
;; definition of type cam-vector-seeker
|
||||
(deftype cam-vector-seeker (structure)
|
||||
((target vector :inline :offset-assert 0)
|
||||
(value vector :inline :offset-assert 16)
|
||||
@@ -261,7 +242,6 @@
|
||||
)
|
||||
)
|
||||
|
||||
;; definition for method 3 of type cam-vector-seeker
|
||||
(defmethod inspect cam-vector-seeker ((obj cam-vector-seeker))
|
||||
(when (not obj)
|
||||
(set! obj obj)
|
||||
@@ -278,9 +258,6 @@
|
||||
obj
|
||||
)
|
||||
|
||||
;; definition for method 9 of type cam-vector-seeker
|
||||
;; INFO: Used lq/sq
|
||||
;; WARN: Return type mismatch int vs none.
|
||||
(defmethod init cam-vector-seeker ((obj cam-vector-seeker) (arg0 vector) (arg1 float) (arg2 float) (arg3 float))
|
||||
(cond
|
||||
(arg0
|
||||
@@ -300,8 +277,6 @@
|
||||
(none)
|
||||
)
|
||||
|
||||
;; definition for method 10 of type cam-vector-seeker
|
||||
;; WARN: Return type mismatch int vs none.
|
||||
(defmethod update! cam-vector-seeker ((obj cam-vector-seeker) (arg0 vector))
|
||||
(with-pp
|
||||
(let ((v1-0 (new 'stack-no-clear 'vector)))
|
||||
@@ -334,7 +309,6 @@
|
||||
)
|
||||
)
|
||||
|
||||
;; definition of type cam-rotation-tracker
|
||||
(deftype cam-rotation-tracker (structure)
|
||||
((inv-mat matrix :inline :offset-assert 0)
|
||||
(no-follow basic :offset-assert 64)
|
||||
@@ -354,7 +328,6 @@
|
||||
:flag-assert #x900000108
|
||||
)
|
||||
|
||||
;; definition for method 3 of type cam-rotation-tracker
|
||||
(defmethod inspect cam-rotation-tracker ((obj cam-rotation-tracker))
|
||||
(when (not obj)
|
||||
(set! obj obj)
|
||||
@@ -377,7 +350,6 @@
|
||||
obj
|
||||
)
|
||||
|
||||
;; definition of type camera-combiner
|
||||
(deftype camera-combiner (process)
|
||||
((trans vector :inline :offset-assert 128)
|
||||
(inv-camera-rot matrix :inline :offset-assert 144)
|
||||
@@ -399,7 +371,6 @@
|
||||
:flag-assert #xe01b0022c
|
||||
)
|
||||
|
||||
;; definition for method 3 of type camera-combiner
|
||||
(defmethod inspect camera-combiner ((obj camera-combiner))
|
||||
(when (not obj)
|
||||
(set! obj obj)
|
||||
@@ -425,7 +396,6 @@
|
||||
obj
|
||||
)
|
||||
|
||||
;; definition of type camera-slave
|
||||
(deftype camera-slave (process)
|
||||
((trans vector :inline :offset-assert 128)
|
||||
(fov float :offset-assert 144)
|
||||
@@ -502,6 +472,7 @@
|
||||
cam-pov-track
|
||||
cam-pov180
|
||||
cam-really-fixed
|
||||
cam-remote
|
||||
cam-robotboss
|
||||
cam-spline
|
||||
cam-standoff
|
||||
@@ -511,7 +482,6 @@
|
||||
)
|
||||
)
|
||||
|
||||
;; definition for method 3 of type camera-slave
|
||||
(defmethod inspect camera-slave ((obj camera-slave))
|
||||
(when (not obj)
|
||||
(set! obj obj)
|
||||
@@ -579,7 +549,6 @@
|
||||
obj
|
||||
)
|
||||
|
||||
;; definition of type camera-master
|
||||
(deftype camera-master (process)
|
||||
((master-options uint32 :offset-assert 128)
|
||||
(settings cam-setting-data :offset-assert 132)
|
||||
@@ -632,7 +601,6 @@
|
||||
)
|
||||
)
|
||||
|
||||
;; definition for method 3 of type camera-master
|
||||
(defmethod inspect camera-master ((obj camera-master))
|
||||
(when (not obj)
|
||||
(set! obj obj)
|
||||
@@ -684,5 +652,4 @@
|
||||
obj
|
||||
)
|
||||
|
||||
;; failed to figure out what this is:
|
||||
0
|
||||
|
||||
+1
-1
@@ -1,7 +1,7 @@
|
||||
(in-package goal)
|
||||
|
||||
(deftype collide-rider (structure)
|
||||
((rider-handle uint64 :offset-assert 0)
|
||||
((rider-handle handle :offset-assert 0)
|
||||
(sticky-prim basic :offset-assert 8)
|
||||
(prim-ry float :offset-assert 12)
|
||||
(rider-local-pos vector :inline :offset-assert 16)
|
||||
|
||||
+533
@@ -0,0 +1,533 @@
|
||||
(in-package goal)
|
||||
|
||||
(deftype rigid-body-platform-constants (rigid-body-object-constants)
|
||||
((drag-factor float :offset-assert 208)
|
||||
(buoyancy-factor float :offset-assert 212)
|
||||
(max-buoyancy-depth meters :offset-assert 216)
|
||||
(player-weight meters :offset-assert 220)
|
||||
(player-bonk-factor float :offset-assert 224)
|
||||
(player-dive-factor float :offset-assert 228)
|
||||
(player-force-distance meters :offset-assert 232)
|
||||
(player-force-clamp meters :offset-assert 236)
|
||||
(player-force-timeout uint64 :offset-assert 240)
|
||||
(explosion-force meters :offset-assert 248)
|
||||
(control-point-count int32 :offset-assert 252)
|
||||
(platform symbol :offset-assert 256)
|
||||
(sound-name string :offset-assert 260)
|
||||
)
|
||||
:method-count-assert 9
|
||||
:size-assert #x108
|
||||
:flag-assert #x900000108
|
||||
)
|
||||
|
||||
(defmethod inspect rigid-body-platform-constants ((obj rigid-body-platform-constants))
|
||||
(when (not obj)
|
||||
(set! obj obj)
|
||||
(goto cfg-4)
|
||||
)
|
||||
(format #t "[~8x] ~A~%" obj 'rigid-body-platform-constants)
|
||||
(format #t "~1Tinfo: #<rigid-body-info @ #x~X>~%" (&-> obj mass))
|
||||
(format #t "~1Tmass: ~f~%" (-> obj mass))
|
||||
(format #t "~1Tinv-mass: ~f~%" (-> obj inv-mass))
|
||||
(format #t "~1Tcm-joint-x: (meters ~m)~%" (-> obj cm-joint-x))
|
||||
(format #t "~1Tcm-joint-y: (meters ~m)~%" (-> obj cm-joint-y))
|
||||
(format #t "~1Tcm-joint-z: (meters ~m)~%" (-> obj cm-joint-z))
|
||||
(format #t "~1Tlinear-damping: ~f~%" (-> obj linear-damping))
|
||||
(format #t "~1Tangular-damping: ~f~%" (-> obj angular-damping))
|
||||
(format #t "~1Tbounce-factor: ~f~%" (-> obj bounce-factor))
|
||||
(format #t "~1Tfriction-factor: ~f~%" (-> obj friction-factor))
|
||||
(format #t "~1Tinertial-tensor-x: (meters ~m)~%" (-> obj inertial-tensor-x))
|
||||
(format #t "~1Tinertial-tensor-y: (meters ~m)~%" (-> obj inertial-tensor-y))
|
||||
(format #t "~1Tinertial-tensor-z: (meters ~m)~%" (-> obj inertial-tensor-z))
|
||||
(format #t "~1Textra: #<rigid-body-object-extra-info @ #x~X>~%" (&-> obj max-time-step))
|
||||
(format #t "~1Tmax-time-step: ~f~%" (-> obj max-time-step))
|
||||
(format #t "~1Tgravity: (meters ~m)~%" (-> obj gravity))
|
||||
(format #t "~1Tidle-distance: (meters ~m)~%" (-> obj idle-distance))
|
||||
(format #t "~1Tattack-force-scale: ~f~%" (-> obj attack-force-scale))
|
||||
(format #t "~1Tname: ~A~%" (-> obj name))
|
||||
(format #t "~1Tdrag-factor: ~f~%" (-> obj drag-factor))
|
||||
(format #t "~1Tbuoyancy-factor: ~f~%" (-> obj buoyancy-factor))
|
||||
(format #t "~1Tmax-buoyancy-depth: (meters ~m)~%" (-> obj max-buoyancy-depth))
|
||||
(format #t "~1Tplayer-weight: (meters ~m)~%" (-> obj player-weight))
|
||||
(format #t "~1Tplayer-bonk-factor: ~f~%" (-> obj player-bonk-factor))
|
||||
(format #t "~1Tplayer-dive-factor: ~f~%" (-> obj player-dive-factor))
|
||||
(format #t "~1Tplayer-force-distance: (meters ~m)~%" (-> obj player-force-distance))
|
||||
(format #t "~1Tplayer-force-clamp: (meters ~m)~%" (-> obj player-force-clamp))
|
||||
(format #t "~1Tplayer-force-timeout: ~D~%" (-> obj player-force-timeout))
|
||||
(format #t "~1Texplosion-force: (meters ~m)~%" (-> obj explosion-force))
|
||||
(format #t "~1Tcontrol-point-count: ~D~%" (-> obj control-point-count))
|
||||
(format #t "~1Tplatform: ~A~%" (-> obj platform))
|
||||
(format #t "~1Tsound-name: ~A~%" (-> obj sound-name))
|
||||
(label cfg-4)
|
||||
obj
|
||||
)
|
||||
|
||||
(deftype rigid-body-control-point (structure)
|
||||
((local-pos vector :inline :offset-assert 0)
|
||||
(world-pos vector :inline :offset-assert 16)
|
||||
(velocity vector :inline :offset-assert 32)
|
||||
)
|
||||
:method-count-assert 9
|
||||
:size-assert #x30
|
||||
:flag-assert #x900000030
|
||||
)
|
||||
|
||||
(defmethod inspect rigid-body-control-point ((obj rigid-body-control-point))
|
||||
(when (not obj)
|
||||
(set! obj obj)
|
||||
(goto cfg-4)
|
||||
)
|
||||
(format #t "[~8x] ~A~%" obj 'rigid-body-control-point)
|
||||
(format #t "~1Tlocal-pos: #<vector @ #x~X>~%" (-> obj local-pos))
|
||||
(format #t "~1Tworld-pos: #<vector @ #x~X>~%" (-> obj world-pos))
|
||||
(format #t "~1Tvelocity: #<vector @ #x~X>~%" (-> obj velocity))
|
||||
(label cfg-4)
|
||||
obj
|
||||
)
|
||||
|
||||
(deftype rigid-body-control-point-inline-array (inline-array-class)
|
||||
((data rigid-body-control-point :inline :dynamic :offset-assert 16)
|
||||
)
|
||||
:method-count-assert 9
|
||||
:size-assert #x10
|
||||
:flag-assert #x900000010
|
||||
)
|
||||
|
||||
(defmethod inspect rigid-body-control-point-inline-array ((obj rigid-body-control-point-inline-array))
|
||||
(when (not obj)
|
||||
(set! obj obj)
|
||||
(goto cfg-4)
|
||||
)
|
||||
(format #t "[~8x] ~A~%" obj (-> obj type))
|
||||
(format #t "~1Tlength: ~D~%" (-> obj length))
|
||||
(format #t "~1Tallocated-length: ~D~%" (-> obj allocated-length))
|
||||
(format #t "~1Tdata[0] @ #x~X~%" (-> obj data))
|
||||
(label cfg-4)
|
||||
obj
|
||||
)
|
||||
|
||||
(set! (-> rigid-body-control-point-inline-array heap-base) (the-as uint 48))
|
||||
|
||||
(deftype rigid-body-platform (rigid-body-object)
|
||||
((info-override rigid-body-platform-constants :offset 204)
|
||||
(control-point-array rigid-body-control-point-inline-array :offset-assert 272)
|
||||
(player-velocity vector :inline :offset-assert 288)
|
||||
(player-velocity-prev vector :inline :offset-assert 304)
|
||||
(unknown-pad uint32 8 :offset-assert 320)
|
||||
(float-height-offset float :offset-assert 352)
|
||||
(player-bonk-timeout uint64 :offset-assert 360)
|
||||
(water-anim water-anim :offset-assert 368)
|
||||
)
|
||||
:heap-base #x100
|
||||
:method-count-assert 57
|
||||
:size-assert #x174
|
||||
:flag-assert #x3901000174
|
||||
(:methods
|
||||
(rigid-body-platform-method-53 (_type_ vector) float 53)
|
||||
(rigid-body-platform-method-54 (_type_ rigid-body-control-point) none 54)
|
||||
(rigid-body-platform-method-55 (_type_) none 55)
|
||||
(rigid-body-platform-method-56 (_type_ vector) none 56)
|
||||
)
|
||||
)
|
||||
|
||||
(defmethod inspect rigid-body-platform ((obj rigid-body-platform))
|
||||
(when (not obj)
|
||||
(set! obj obj)
|
||||
(goto cfg-4)
|
||||
)
|
||||
(let ((t9-0 (method-of-type rigid-body-object inspect)))
|
||||
(t9-0 obj)
|
||||
)
|
||||
(format #t "~2Tcontrol-point-array: ~A~%" (-> obj control-point-array))
|
||||
(format #t "~2Tplayer-velocity: #<vector @ #x~X>~%" (-> obj player-velocity))
|
||||
(format #t "~2Tplayer-velocity-prev: #<vector @ #x~X>~%" (-> obj player-velocity-prev))
|
||||
(format #t "~2Tplayer-force-position: #<vector @ #x~X>~%" (-> obj player-force-position))
|
||||
(format #t "~2Tplayer-force: #<vector @ #x~X>~%" (-> obj player-force))
|
||||
(format #t "~2Tfloat-height-offset: ~f~%" (-> obj float-height-offset))
|
||||
(format #t "~2Tplayer-bonk-timeout: ~D~%" (-> obj player-bonk-timeout))
|
||||
(format #t "~2Twater-anim: ~A~%" (-> obj water-anim))
|
||||
(label cfg-4)
|
||||
obj
|
||||
)
|
||||
|
||||
(defmethod relocate rigid-body-platform ((obj rigid-body-platform) (new-addr int))
|
||||
(if (nonzero? (-> obj control-point-array))
|
||||
(&+! (-> obj control-point-array) new-addr)
|
||||
)
|
||||
(the-as
|
||||
rigid-body-platform
|
||||
((the-as (function rigid-body-object int rigid-body-object) (find-parent-method rigid-body-platform 7))
|
||||
obj
|
||||
new-addr
|
||||
)
|
||||
)
|
||||
)
|
||||
|
||||
(defmethod rigid-body-platform-method-53 rigid-body-platform ((obj rigid-body-platform) (arg0 vector))
|
||||
(local-vars (f0-1 object))
|
||||
(let ((v1-0 (-> obj water-anim)))
|
||||
0.0
|
||||
(set! f0-1 (cond
|
||||
(v1-0
|
||||
(let ((a0-1 v1-0))
|
||||
(if (if a0-1
|
||||
(-> a0-1 child 3)
|
||||
)
|
||||
(set! f0-1 (-> v1-0 child 9))
|
||||
(set! f0-1 (-> v1-0 child 9))
|
||||
)
|
||||
)
|
||||
f0-1
|
||||
)
|
||||
(else
|
||||
(ocean-method-11 *ocean* arg0 #t)
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
(the-as float f0-1)
|
||||
)
|
||||
|
||||
(defmethod rigid-body-platform-method-54 rigid-body-platform ((obj rigid-body-platform) (ctrl-point rigid-body-control-point))
|
||||
(set! (-> ctrl-point world-pos w)
|
||||
(+ (rigid-body-platform-method-53 obj (-> ctrl-point world-pos)) (-> obj float-height-offset))
|
||||
)
|
||||
(let* ((s4-0 (new 'stack-no-clear 'vector))
|
||||
(f0-3 (- (-> ctrl-point world-pos w) (-> ctrl-point world-pos y)))
|
||||
(f30-0 (/ f0-3 (-> obj info-override max-buoyancy-depth)))
|
||||
)
|
||||
(when (< 0.0 f0-3)
|
||||
(vector-float*!
|
||||
s4-0
|
||||
*y-vector*
|
||||
(* (-> obj rbody state info mass)
|
||||
(fmin 1.0 f30-0)
|
||||
(/ (-> obj info-override gravity) (the float (-> obj info-override control-point-count)))
|
||||
(-> obj info-override buoyancy-factor)
|
||||
)
|
||||
)
|
||||
(let ((v1-6 (-> obj rbody))
|
||||
(a1-9 (-> ctrl-point world-pos))
|
||||
(a2-0 s4-0)
|
||||
)
|
||||
(rigid-body-method-18 (-> v1-6 state) a1-9 a2-0)
|
||||
)
|
||||
(vector-float*! s4-0 (-> ctrl-point velocity) (* -1.0 (-> obj info-override drag-factor) (fmin 1.0 f30-0)))
|
||||
(let ((v1-11 (-> obj rbody))
|
||||
(a1-13 (-> ctrl-point world-pos))
|
||||
)
|
||||
(rigid-body-method-18 (-> v1-11 state) a1-13 s4-0)
|
||||
)
|
||||
)
|
||||
)
|
||||
0
|
||||
0
|
||||
(none)
|
||||
)
|
||||
|
||||
(defmethod rigid-body-object-method-50 rigid-body-platform ((obj rigid-body-platform) (arg0 float))
|
||||
(when (logtest? (-> obj flags) (rigid-body-object-flag player-impulse-force player-contact-force))
|
||||
(if (logtest? (-> obj flags) (rigid-body-object-flag player-impulse-force))
|
||||
(logclear! (-> obj flags) (rigid-body-object-flag player-impulse-force))
|
||||
)
|
||||
(let ((rigid-body (-> obj rbody))
|
||||
(force-pos (-> obj player-force-position))
|
||||
(force (-> obj player-force))
|
||||
(force-dist (-> obj info-override player-force-distance))
|
||||
)
|
||||
(rigid-body-method-21 (-> rigid-body state) force-pos force force-dist)
|
||||
)
|
||||
)
|
||||
0
|
||||
(none)
|
||||
)
|
||||
|
||||
(defmethod rigid-body-platform-method-55 rigid-body-platform ((obj rigid-body-platform))
|
||||
(let ((a1-0 (new 'stack-no-clear 'vector)))
|
||||
(vector-float*! a1-0 *y-vector* (* -1.0 (-> obj info-override gravity) (-> obj rbody state info mass)))
|
||||
(rigid-body-method-20 (-> obj rbody state) a1-0)
|
||||
)
|
||||
0
|
||||
(none)
|
||||
)
|
||||
|
||||
(defmethod rigid-body-platform-method-56 rigid-body-platform ((obj rigid-body-platform) (arg0 vector))
|
||||
(let ((v1-0 (new 'stack-no-clear 'vector)))
|
||||
(vector-! v1-0 arg0 (-> obj rbody state position))
|
||||
(set! (-> v1-0 y) 0.0)
|
||||
(let* ((f0-1 (vector-length v1-0))
|
||||
(f1-1 (* 10.0 (fmax 0.0 (fmin 4096.0 (+ -4096.0 f0-1)))))
|
||||
)
|
||||
(when (< 0.0 f1-1)
|
||||
(vector-float*! v1-0 v1-0 (/ f1-1 f0-1))
|
||||
(rigid-body-method-20 (-> obj rbody state) v1-0)
|
||||
)
|
||||
)
|
||||
)
|
||||
0
|
||||
(none)
|
||||
)
|
||||
|
||||
(defmethod rigid-body-object-method-29 rigid-body-platform ((obj rigid-body-platform) (arg0 float))
|
||||
(let ((s4-0 (-> obj rbody state matrix)))
|
||||
(dotimes (s3-0 (-> obj info-override control-point-count))
|
||||
(let ((s2-0 (-> obj control-point-array data s3-0)))
|
||||
(vector-matrix*! (-> s2-0 world-pos) (-> s2-0 local-pos) s4-0)
|
||||
(let ((v1-4 (-> obj rbody))
|
||||
(a1-2 (-> s2-0 world-pos))
|
||||
(a2-1 (-> s2-0 velocity))
|
||||
)
|
||||
(rigid-body-method-22 (-> v1-4 state) a1-2 a2-1)
|
||||
)
|
||||
(rigid-body-platform-method-54 obj s2-0)
|
||||
)
|
||||
)
|
||||
)
|
||||
(rigid-body-platform-method-55 obj)
|
||||
(rigid-body-object-method-50 obj arg0)
|
||||
0
|
||||
(none)
|
||||
)
|
||||
|
||||
(defmethod rigid-body-object-method-30 rigid-body-platform ((obj rigid-body-platform))
|
||||
(if (-> obj info-override platform)
|
||||
((method-of-object (-> obj root-override-2) collide-shape-method-35))
|
||||
)
|
||||
(set! (-> obj player-velocity-prev quad) (-> obj player-velocity quad))
|
||||
(if *target*
|
||||
(set! (-> obj player-velocity quad) (-> *target* control transv quad))
|
||||
(set! (-> obj player-velocity quad) (-> *null-vector* quad))
|
||||
)
|
||||
(let ((t9-1 (method-of-type rigid-body-object rigid-body-object-method-30)))
|
||||
(t9-1 obj)
|
||||
)
|
||||
(logclear! (-> obj flags) (rigid-body-object-flag player-contact-force))
|
||||
0
|
||||
(none)
|
||||
)
|
||||
|
||||
(defmethod rigid-body-object-method-47 rigid-body-platform ((obj rigid-body-platform) (arg0 process-drawable) (arg1 attack-info) (arg2 object) (arg3 penetrate))
|
||||
((method-of-type rigid-body-object rigid-body-object-method-47) obj arg0 arg1 arg2 arg3)
|
||||
#f
|
||||
)
|
||||
|
||||
(defmethod rigid-body-object-method-46 rigid-body-platform ((obj rigid-body-platform) (arg0 process-drawable) (arg1 int) (arg2 symbol) (arg3 event-message-block))
|
||||
(case arg2
|
||||
(('edge-grabbed)
|
||||
(let ((v1-1 (the-as object (-> arg3 param 0))))
|
||||
(when (not (logtest? (-> obj flags) (rigid-body-object-flag player-impulse-force)))
|
||||
(logior! (-> obj flags) (rigid-body-object-flag player-contact-force))
|
||||
(set! (-> obj player-force-position quad) (-> (the-as rigid-body-control-point v1-1) velocity quad))
|
||||
(vector-reset! (-> obj player-force))
|
||||
(set! (-> obj player-force y) (* -1.0 (-> obj info-override player-weight)))
|
||||
)
|
||||
)
|
||||
)
|
||||
(('ridden)
|
||||
(let ((v1-7 (the-as object (-> arg3 param 0))))
|
||||
(when (the-as uint v1-7)
|
||||
(let* ((s5-1 (handle->process (-> (the-as collide-rider v1-7) rider-handle)))
|
||||
(v1-11 (if (type? s5-1 process-focusable)
|
||||
(the-as process-focusable s5-1)
|
||||
)
|
||||
)
|
||||
)
|
||||
(when (and v1-11
|
||||
(logtest? (-> v1-11 mask) (process-mask target))
|
||||
(zero? (logand (-> v1-11 focus-status) (focus-status on-water under-water)))
|
||||
)
|
||||
(when (not (logtest? (-> obj flags) (rigid-body-object-flag player-impulse-force)))
|
||||
(logior! (-> obj flags) (rigid-body-object-flag player-contact-force))
|
||||
(set! (-> obj player-force-position quad) (-> v1-11 root-override trans quad))
|
||||
(vector-reset! (-> obj player-force))
|
||||
(let* ((a1-5 (-> obj player-force-position))
|
||||
(f30-0 0.0)
|
||||
(f28-0 1.0)
|
||||
(f26-0 1.0)
|
||||
(f0-4 (+ (- -4096.0 (-> a1-5 y)) (rigid-body-platform-method-53 obj a1-5)))
|
||||
(f1-2 12288.0)
|
||||
(f0-8 (fmax f30-0 (fmin f28-0 (- f26-0 (* f0-4 (/ 1.0 f1-2))))))
|
||||
)
|
||||
(set! (-> obj player-force y) (* -1.0 (-> obj info-override player-weight) f0-8))
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
(('bonk)
|
||||
(when (>= (- (-> self clock frame-counter) (the-as int (-> obj player-bonk-timeout)))
|
||||
(the-as time-frame (-> obj info-override player-force-timeout))
|
||||
)
|
||||
(set! (-> obj player-bonk-timeout) (the-as uint (-> self clock frame-counter)))
|
||||
(let* ((s4-0 arg0)
|
||||
(v1-31 (if (type? s4-0 process-drawable)
|
||||
s4-0
|
||||
)
|
||||
)
|
||||
)
|
||||
(when v1-31
|
||||
(logior! (-> obj flags) (rigid-body-object-flag player-impulse-force))
|
||||
(set! (-> obj player-force-position quad) (-> v1-31 root trans quad))
|
||||
(let ((f0-14 (fmin
|
||||
(* 0.00012207031
|
||||
(the-as float (-> arg3 param 1))
|
||||
(-> obj info-override player-bonk-factor)
|
||||
(-> obj info-override player-weight)
|
||||
)
|
||||
(-> obj info-override player-force-clamp)
|
||||
)
|
||||
)
|
||||
)
|
||||
(vector-reset! (-> obj player-force))
|
||||
(set! (-> obj player-force y) (- f0-14))
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
(else
|
||||
((method-of-type rigid-body-object rigid-body-object-method-46) obj arg0 arg1 arg2 arg3)
|
||||
)
|
||||
)
|
||||
(none)
|
||||
)
|
||||
|
||||
(defmethod rigid-body-object-method-37 rigid-body-platform ((obj rigid-body-platform))
|
||||
(if (logtest? (-> obj flags) (rigid-body-object-flag player-impulse-force))
|
||||
(sound-play-by-name
|
||||
(string->sound-name (-> obj info-override sound-name))
|
||||
(new-sound-id)
|
||||
1024
|
||||
0
|
||||
0
|
||||
(sound-group sfx)
|
||||
#t
|
||||
)
|
||||
)
|
||||
(rigid-body-object-method-30 obj)
|
||||
(quaternion-copy! (-> obj root-override-2 quat) (-> obj rbody state rotation))
|
||||
(let ((v1-9 (-> obj rbody))
|
||||
(a1-2 (-> obj root-override-2 trans))
|
||||
)
|
||||
(rigid-body-method-23 (-> v1-9 state) a1-2)
|
||||
)
|
||||
(rider-post)
|
||||
(none)
|
||||
)
|
||||
|
||||
(defmethod rigid-body-object-method-31 rigid-body-platform ((obj rigid-body-platform) (arg0 rigid-body-object-constants))
|
||||
(with-pp
|
||||
(set! (-> obj info-override) (the-as rigid-body-platform-constants arg0))
|
||||
(set! (-> obj rbody) (new 'process 'rigid-body-control obj))
|
||||
(set! (-> obj control-point-array)
|
||||
(new 'process 'rigid-body-control-point-inline-array (-> obj info-override control-point-count))
|
||||
)
|
||||
(collide-shape-method-46 (-> obj root-override-2))
|
||||
(let ((v1-5 (-> obj rbody))
|
||||
(a1-3 (&-> (-> obj info-override) mass))
|
||||
(a2-2 (-> obj root-override-2 trans))
|
||||
(a3-0 (-> obj root-override-2 quat))
|
||||
(t0-0 (method-of-object obj rigid-body-object-method-29))
|
||||
)
|
||||
(rigid-body-method-25 (-> v1-5 state) (the-as rigid-body-info a1-3) a2-2 a3-0 t0-0)
|
||||
)
|
||||
(set! (-> obj player-bonk-timeout) (the-as uint (-> pp clock frame-counter)))
|
||||
(set! (-> obj player-force quad) (-> *null-vector* quad))
|
||||
(set! (-> obj player-velocity quad) (-> *null-vector* quad))
|
||||
(set! (-> obj player-velocity-prev quad) (-> *null-vector* quad))
|
||||
(set! (-> obj root-override-2 max-iteration-count) (the-as uint 4))
|
||||
(set! (-> obj max-time-step) (-> arg0 max-time-step))
|
||||
(set! (-> obj water-anim) (the-as water-anim (entity-actor-lookup (-> obj entity) 'water-actor 0)))
|
||||
0
|
||||
(none)
|
||||
)
|
||||
)
|
||||
|
||||
(defmethod rigid-body-object-method-32 rigid-body-platform ((obj rigid-body-platform))
|
||||
(let ((s5-0 (new 'process 'collide-shape-moving obj (collide-list-enum hit-by-player))))
|
||||
(set! (-> s5-0 dynam) (copy *standard-dynamics* 'process))
|
||||
(set! (-> s5-0 reaction) cshape-reaction-default)
|
||||
(set! (-> s5-0 no-reaction) nothing)
|
||||
(let ((s4-0 (new 'process 'collide-shape-prim-mesh s5-0 (the-as uint 0) (the-as uint 0))))
|
||||
(set! (-> s4-0 prim-core collide-as) (collide-spec pusher))
|
||||
(set! (-> s4-0 prim-core collide-with) (collide-spec jak player-list))
|
||||
(set! (-> s4-0 prim-core action) (collide-action solid rideable))
|
||||
(set! (-> s4-0 transform-index) 0)
|
||||
(set-vector! (-> s4-0 local-sphere) 0.0 0.0 0.0 20480.0)
|
||||
(set! (-> s5-0 total-prims) (the-as uint 1))
|
||||
(set! (-> s5-0 root-prim) s4-0)
|
||||
)
|
||||
(collide-shape-method-54 s5-0)
|
||||
(set! (-> s5-0 nav-radius) (* 0.75 (-> s5-0 root-prim local-sphere w)))
|
||||
(let ((v1-15 (-> s5-0 root-prim)))
|
||||
(set! (-> s5-0 backup-collide-as) (-> v1-15 prim-core collide-as))
|
||||
(set! (-> s5-0 backup-collide-with) (-> v1-15 prim-core collide-with))
|
||||
)
|
||||
(set! (-> obj root-override-2) s5-0)
|
||||
)
|
||||
0
|
||||
(none)
|
||||
)
|
||||
|
||||
(define *rigid-body-platform-constants* (new 'static 'rigid-body-platform-constants
|
||||
:mass 2.0
|
||||
:inv-mass 0.5
|
||||
:cm-joint-w 1.0
|
||||
:linear-damping 1.0
|
||||
:angular-damping 1.0
|
||||
:bounce-factor 0.5
|
||||
:friction-factor 0.1
|
||||
:inertial-tensor-x (meters 4)
|
||||
:inertial-tensor-y (meters 4)
|
||||
:inertial-tensor-z (meters 4)
|
||||
:max-time-step 0.033333335
|
||||
:gravity (meters 80)
|
||||
:idle-distance (meters 50)
|
||||
:attack-force-scale 1.0
|
||||
:name '*rigid-body-platform-constants*
|
||||
:drag-factor 0.8
|
||||
:buoyancy-factor 1.5
|
||||
:max-buoyancy-depth (meters 1.5)
|
||||
:player-weight (meters 6.6)
|
||||
:player-bonk-factor 1.0
|
||||
:player-dive-factor 1.0
|
||||
:player-force-distance (meters 1000)
|
||||
:player-force-clamp (meters 1000000)
|
||||
:player-force-timeout #x1e
|
||||
:explosion-force (meters 1000)
|
||||
:control-point-count 1
|
||||
:platform #t
|
||||
:sound-name #f
|
||||
)
|
||||
)
|
||||
|
||||
(defmethod rigid-body-object-method-33 rigid-body-platform ((obj rigid-body-platform))
|
||||
(set! (-> obj float-height-offset) 0.0)
|
||||
(rigid-body-object-method-31 obj *rigid-body-platform-constants*)
|
||||
(let ((s5-0 (-> obj info-override control-point-count)))
|
||||
(dotimes (s4-0 s5-0)
|
||||
(let ((s3-0 (-> obj control-point-array data s4-0)))
|
||||
(let ((f30-0 (* 65536.0 (/ (the float s4-0) (the float s5-0)))))
|
||||
(set! (-> s3-0 local-pos x) (* 12288.0 (sin f30-0)))
|
||||
(set! (-> s3-0 local-pos y) -10240.0)
|
||||
(set! (-> s3-0 local-pos z) (* 12288.0 (cos f30-0)))
|
||||
)
|
||||
(set! (-> s3-0 local-pos w) 1.0)
|
||||
)
|
||||
)
|
||||
)
|
||||
0
|
||||
(none)
|
||||
)
|
||||
|
||||
(defmethod init-from-entity! rigid-body-platform ((obj rigid-body-platform) (arg0 entity-actor))
|
||||
(set! (-> obj mask) (logior (process-mask platform) (-> obj mask)))
|
||||
(rigid-body-object-method-32 obj)
|
||||
(process-drawable-from-entity! obj arg0)
|
||||
(rigid-body-object-method-33 obj)
|
||||
(rigid-body-object-method-34 obj)
|
||||
0
|
||||
(none)
|
||||
)
|
||||
+628
@@ -0,0 +1,628 @@
|
||||
(in-package goal)
|
||||
|
||||
(defpartgroup group-talkbox-speak
|
||||
:id 77
|
||||
:flags (unk-4 unk-6)
|
||||
:bounds (static-bspherem 0 0 0 2)
|
||||
:rotate ((degrees 4) (degrees 0) (degrees 0))
|
||||
:parts ((sp-item 265 :flags (is-3d bit6 bit7) :period 130 :length 30)
|
||||
(sp-item 265 :flags (is-3d bit6 bit7) :period 150 :length 35 :offset 5)
|
||||
(sp-item 265 :flags (is-3d bit6 bit7) :period 330 :length 25 :offset 35)
|
||||
(sp-item 265 :flags (is-3d bit6 bit7) :period 250 :length 60 :offset 15)
|
||||
(sp-item 265 :flags (is-3d bit6 bit7) :period 465 :length 75 :offset 60)
|
||||
)
|
||||
)
|
||||
|
||||
(defpart 265
|
||||
:init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xcb :page #xc))
|
||||
(sp-func spt-birth-func 'birth-func-set-vel)
|
||||
(sp-rnd-flt spt-num 0.0 0.3 1.0)
|
||||
(sp-flt spt-y (meters 0.15))
|
||||
(sp-flt spt-z (meters 0.4))
|
||||
(sp-flt spt-scale-x (meters 0.1))
|
||||
(sp-copy-from-other spt-scale-y -4)
|
||||
(sp-flt spt-r 255.0)
|
||||
(sp-flt spt-g 255.0)
|
||||
(sp-flt spt-b 255.0)
|
||||
(sp-flt spt-a 16.0)
|
||||
(sp-rnd-flt spt-vel-y (meters 0.006666667) (meters 0.0033333334) 1.0)
|
||||
(sp-rnd-flt spt-scalevel-x (meters 0.006666667) (meters 0.0033333334) 1.0)
|
||||
(sp-copy-from-other spt-scalevel-y -4)
|
||||
(sp-flt spt-fade-a 0.32)
|
||||
(sp-int spt-timer 100)
|
||||
(sp-cpuinfo-flags sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 left-multiply-quat)
|
||||
(sp-int spt-next-time 50)
|
||||
(sp-launcher-by-id spt-next-launcher 266)
|
||||
(sp-flt spt-rotate-y (degrees 0.0))
|
||||
)
|
||||
)
|
||||
|
||||
(defpart 266
|
||||
:init-specs ((sp-flt spt-fade-a -0.64))
|
||||
)
|
||||
|
||||
(deftype camera-remote (camera-slave)
|
||||
()
|
||||
:heap-base #xa20
|
||||
:method-count-assert 14
|
||||
:size-assert #xa94
|
||||
:flag-assert #xe0a200a94
|
||||
)
|
||||
|
||||
(defmethod inspect camera-remote ((obj camera-remote))
|
||||
(when (not obj)
|
||||
(set! obj obj)
|
||||
(goto cfg-4)
|
||||
)
|
||||
(let ((t9-0 (method-of-type camera-slave inspect)))
|
||||
(t9-0 obj)
|
||||
)
|
||||
(label cfg-4)
|
||||
obj
|
||||
)
|
||||
|
||||
(deftype remote (process-drawable)
|
||||
((parent-override (pointer camera-slave) :offset 16)
|
||||
(base-trans vector :inline :offset-assert 208)
|
||||
(focus focus :inline :offset-assert 224)
|
||||
(seeker cam-float-seeker :inline :offset-assert 236)
|
||||
(start-time time-frame :offset-assert 264)
|
||||
(blend float :offset-assert 272)
|
||||
(twist float :offset-assert 276)
|
||||
(speak-effect? basic :offset-assert 280)
|
||||
)
|
||||
:heap-base #xa0
|
||||
:method-count-assert 26
|
||||
:size-assert #x11c
|
||||
:flag-assert #x1a00a0011c
|
||||
(:methods
|
||||
(enter () _type_ :state 20)
|
||||
(idle () _type_ :state 21)
|
||||
(exit () _type_ :state 22)
|
||||
(remote-method-23 (_type_) none 23)
|
||||
(remote-method-24 (_type_ vector) float 24)
|
||||
(remote-method-25 (_type_) none 25)
|
||||
)
|
||||
)
|
||||
|
||||
(defmethod inspect remote ((obj remote))
|
||||
(when (not obj)
|
||||
(set! obj obj)
|
||||
(goto cfg-4)
|
||||
)
|
||||
(let ((t9-0 (method-of-type process-drawable inspect)))
|
||||
(t9-0 obj)
|
||||
)
|
||||
(format #t "~2Tbase-trans: ~`vector`P~%" (-> obj base-trans))
|
||||
(format #t "~2Tfocus: #<focus @ #x~X>~%" (-> obj focus))
|
||||
(format #t "~2Tseeker: #<cam-float-seeker @ #x~X>~%" (-> obj seeker))
|
||||
(format #t "~2Tstart-time: ~D~%" (-> obj start-time))
|
||||
(format #t "~2Tblend: ~f~%" (-> obj blend))
|
||||
(format #t "~2Ttwist: ~f~%" (-> obj twist))
|
||||
(format #t "~2Tspeak-effect?: ~A~%" (-> obj speak-effect?))
|
||||
(label cfg-4)
|
||||
obj
|
||||
)
|
||||
|
||||
(defskelgroup skel-voicebox talk-box 0 2
|
||||
((1 (meters 999999)))
|
||||
:bounds (static-spherem 0 0 0 4)
|
||||
:texture-level 6
|
||||
:sort 1
|
||||
)
|
||||
|
||||
(defmethod remote-method-24 remote ((obj remote) (arg0 vector))
|
||||
(let ((s4-0 (handle->process (-> obj focus handle))))
|
||||
(when s4-0
|
||||
(set! (-> arg0 quad) (-> (get-trans (the-as process-focusable s4-0) 3) quad))
|
||||
(let ((a0-7 (vector-z-quaternion! (new 'stack-no-clear 'vector) (get-quat (the-as process-focusable s4-0) 0))))
|
||||
(vector+float*! arg0 arg0 a0-7 (* -16384.0 (- 1.0 (-> obj blend))))
|
||||
)
|
||||
)
|
||||
)
|
||||
(lerp-scale 1.0 0.0 (-> obj blend) 0.8 1.0)
|
||||
)
|
||||
|
||||
(defmethod remote-method-25 remote ((obj remote))
|
||||
(with-pp
|
||||
(rlet ((acc :class vf)
|
||||
(vf0 :class vf)
|
||||
(vf4 :class vf)
|
||||
(vf5 :class vf)
|
||||
(vf6 :class vf)
|
||||
(vf7 :class vf)
|
||||
)
|
||||
(init-vf0-vector)
|
||||
(ja-post)
|
||||
(if (type? (-> obj root) collide-shape)
|
||||
(collide-shape-method-46 (the-as collide-shape (-> obj root)))
|
||||
)
|
||||
(when (and (nonzero? (-> obj part)) (and (or (and (-> obj next-state) (= (-> obj next-state name) 'idle))
|
||||
(and (-> obj next-state) (= (-> obj next-state name) 'enter))
|
||||
)
|
||||
(-> obj speak-effect?)
|
||||
)
|
||||
)
|
||||
(let ((v1-15 (vector-float*!
|
||||
(new 'stack-no-clear 'vector)
|
||||
(-> obj parent-override 0 velocity)
|
||||
(-> pp clock frames-per-second)
|
||||
)
|
||||
)
|
||||
(a0-8 *particle-vel*)
|
||||
)
|
||||
(let ((a1-4 (-> obj node-list data 3 bone transform vector 2)))
|
||||
(let ((a2-1 20480.0))
|
||||
(.mov vf7 a2-1)
|
||||
)
|
||||
(.lvf vf5 (&-> a1-4 quad))
|
||||
)
|
||||
(.lvf vf4 (&-> v1-15 quad))
|
||||
(.add.x.vf vf6 vf0 vf0 :mask #b1000)
|
||||
(.mul.x.vf acc vf5 vf7 :mask #b111)
|
||||
(.add.mul.w.vf vf6 vf4 vf0 acc :mask #b111)
|
||||
(.svf (&-> a0-8 quad) vf6)
|
||||
)
|
||||
(let ((v1-16 *particle-vel*)
|
||||
(a0-9 *particle-vel*)
|
||||
(f0-2 300.0)
|
||||
)
|
||||
(vector-float*! v1-16 a0-9 (/ 1.0 f0-2))
|
||||
)
|
||||
(spawn-with-cspace (-> obj part) (-> obj node-list data 3))
|
||||
)
|
||||
0
|
||||
(none)
|
||||
)
|
||||
)
|
||||
)
|
||||
|
||||
(defbehavior remote-track remote ()
|
||||
(let ((gp-0 (handle->process (-> self focus handle)))
|
||||
(s5-0 (new 'stack-no-clear 'vector))
|
||||
)
|
||||
(set! (-> s5-0 quad) (-> self parent-override 0 trans quad))
|
||||
(let ((f30-0 (remote-method-24 self s5-0)))
|
||||
(let ((a1-2 (new 'stack-no-clear 'vector)))
|
||||
(set! (-> a1-2 quad) (-> self parent-override 0 trans quad))
|
||||
(vector-lerp! (-> self root trans) a1-2 s5-0 (-> self blend))
|
||||
)
|
||||
(+! (-> self root trans y)
|
||||
(* 1638.4 (sin (* 54.613335 (the float (mod (-> self clock frame-counter) 1200)))))
|
||||
)
|
||||
(let ((s5-1 (new 'stack-no-clear 'quaternion)))
|
||||
(forward-up->quaternion
|
||||
s5-1
|
||||
(vector-normalize! (vector-! (new 'stack-no-clear 'vector) (target-pos 8) (-> self root trans)) 1.0)
|
||||
(new 'static 'vector :y 1.0 :w 1.0)
|
||||
)
|
||||
(rotate-toward-orientation!
|
||||
(-> self root)
|
||||
s5-1
|
||||
65536.0
|
||||
5461.3335
|
||||
150
|
||||
0.00000000000000000000000000000000000000000021
|
||||
0.0
|
||||
)
|
||||
)
|
||||
(when gp-0
|
||||
(let* ((gp-1 (-> (the-as process-drawable gp-0) root))
|
||||
(s4-1 (-> self root trans))
|
||||
(f0-6
|
||||
(deg-diff (y-angle gp-1) (vector-y-angle (vector-! (new 'stack-no-clear 'vector) s4-1 (-> gp-1 trans))))
|
||||
)
|
||||
)
|
||||
(if (< 0.0 f0-6)
|
||||
(seek! (-> self twist) -0.4 (* 0.3 (-> self clock seconds-per-frame)))
|
||||
(seek! (-> self twist) 0.4 (* 0.3 (-> self clock seconds-per-frame)))
|
||||
)
|
||||
)
|
||||
(let ((a1-9 (new 'stack-no-clear 'event-message-block)))
|
||||
(set! (-> a1-9 from) (process->ppointer self))
|
||||
(set! (-> a1-9 num-params) 0)
|
||||
(set! (-> a1-9 message) 'blocked-side?)
|
||||
(case (send-event-function (ppointer->process (-> self parent-override)) a1-9)
|
||||
((1)
|
||||
(set! (-> self twist) 0.5)
|
||||
)
|
||||
((2)
|
||||
(set! (-> self twist) -0.5)
|
||||
)
|
||||
((3)
|
||||
(set! (-> self twist) 0.0)
|
||||
)
|
||||
)
|
||||
)
|
||||
(send-event (ppointer->process (-> self parent-override)) 'joystick (-> self twist) -1082130432)
|
||||
)
|
||||
(set! (-> self root scale x) f30-0)
|
||||
(set! (-> self root scale y) f30-0)
|
||||
(set! (-> self root scale z) f30-0)
|
||||
)
|
||||
)
|
||||
0
|
||||
(none)
|
||||
)
|
||||
|
||||
(defstate enter (remote)
|
||||
:virtual #t
|
||||
:event (behavior ((proc process) (arg1 int) (event-type symbol) (event event-message-block))
|
||||
(case event-type
|
||||
(('die)
|
||||
(go-virtual exit)
|
||||
)
|
||||
(('speak-effect)
|
||||
(let ((v0-0 (the-as object (-> event param 0))))
|
||||
(set! (-> self speak-effect?) (the-as basic v0-0))
|
||||
v0-0
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
:enter (behavior ()
|
||||
(set! (-> self start-time) (-> *display* game-clock frame-counter))
|
||||
(let* ((gp-0 (ppointer->process (-> self parent-override 0 parent)))
|
||||
(a1-1 (if (type? gp-0 process-focusable)
|
||||
gp-0
|
||||
)
|
||||
)
|
||||
)
|
||||
(if a1-1
|
||||
(try-update-focus (-> self focus) (the-as process-focusable a1-1))
|
||||
)
|
||||
)
|
||||
(none)
|
||||
)
|
||||
:trans (behavior ()
|
||||
(remote-track)
|
||||
(let ((a0-1 (handle->process (-> self focus handle))))
|
||||
(if (and a0-1 (< 0.1 (-> self blend)))
|
||||
(point-toward-point-clear-roll-pitch! (-> self root) (get-trans (the-as process-focusable a0-1) 0))
|
||||
)
|
||||
)
|
||||
(none)
|
||||
)
|
||||
:code (behavior ()
|
||||
(let* ((gp-0 (ppointer->process (-> self parent-override 0 parent)))
|
||||
(a0-1 (if (type? gp-0 process-focusable)
|
||||
(the-as process-focusable gp-0)
|
||||
)
|
||||
)
|
||||
)
|
||||
(if (and a0-1 (logtest? (focus-status pilot) (-> a0-1 focus-status)))
|
||||
(send-event
|
||||
(ppointer->process (-> self parent-override))
|
||||
'set-dist
|
||||
(new 'static 'vector :z 8192.0 :w 1.0)
|
||||
(new 'static 'vector :y 20480.0 :z 12288.0 :w 1.0)
|
||||
)
|
||||
(send-event
|
||||
(ppointer->process (-> self parent-override))
|
||||
'set-dist
|
||||
(new 'static 'vector :z 16384.0 :w 1.0)
|
||||
(new 'static 'vector :y 20480.0 :z 40960.0 :w 1.0)
|
||||
)
|
||||
)
|
||||
)
|
||||
(init (-> self seeker) 1.0 0.01 0.022222223 0.1)
|
||||
(set! (-> self seeker target) 0.0)
|
||||
(while (< 0.0001 (-> self blend))
|
||||
(update! (-> self seeker) 0.0)
|
||||
(set! (-> self blend) (-> self seeker value))
|
||||
(suspend)
|
||||
)
|
||||
(set! (-> self blend) 0.0)
|
||||
(go-virtual idle)
|
||||
(none)
|
||||
)
|
||||
:post (behavior ()
|
||||
(remote-method-25 self)
|
||||
(none)
|
||||
)
|
||||
)
|
||||
|
||||
(defstate idle (remote)
|
||||
:virtual #t
|
||||
:event (-> (method-of-type remote enter) event)
|
||||
:trans remote-track
|
||||
:code (behavior ()
|
||||
(while (handle->process (-> self focus handle))
|
||||
(suspend)
|
||||
(ja :num! (loop!))
|
||||
)
|
||||
(go-virtual exit)
|
||||
(none)
|
||||
)
|
||||
:post (-> (method-of-type remote enter) post)
|
||||
)
|
||||
|
||||
(defstate exit (remote)
|
||||
:virtual #t
|
||||
:trans remote-track
|
||||
:code (behavior ()
|
||||
(set! (-> self blend) 1.0)
|
||||
(send-event (ppointer->process (-> self parent-override)) 'change-state empty-state)
|
||||
(suspend)
|
||||
0
|
||||
(none)
|
||||
)
|
||||
:post (-> (method-of-type remote enter) post)
|
||||
)
|
||||
|
||||
(defmethod remote-method-23 remote ((obj remote))
|
||||
(reset-to-collide-spec (-> obj focus) (collide-spec jak player-list))
|
||||
(initialize-skeleton
|
||||
obj
|
||||
(the-as skeleton-group (art-group-get-by-name *level* "skel-voicebox" (the-as (pointer uint32) #f)))
|
||||
(the-as pair 0)
|
||||
)
|
||||
(set! (-> obj blend) 1.0)
|
||||
(set! (-> obj draw light-index) (the-as uint 30))
|
||||
(set! (-> obj speak-effect?) #f)
|
||||
(set! (-> obj part) (create-launch-control (-> *part-group-id-table* 77) obj))
|
||||
(none)
|
||||
)
|
||||
|
||||
(defstate cam-remote (camera-slave)
|
||||
:event (-> cam-string event)
|
||||
:enter (-> cam-string enter)
|
||||
:trans (behavior ()
|
||||
(if (or (not *camera*) (not (logtest? (-> *camera* master-options) 1)) (not (-> self child)))
|
||||
(deactivate self)
|
||||
)
|
||||
(none)
|
||||
)
|
||||
:code (-> cam-string code)
|
||||
)
|
||||
|
||||
(deftype voicebox (remote)
|
||||
((hint handle :offset-assert 288)
|
||||
)
|
||||
:heap-base #xb0
|
||||
:method-count-assert 26
|
||||
:size-assert #x128
|
||||
:flag-assert #x1a00b00128
|
||||
)
|
||||
|
||||
(defmethod inspect voicebox ((obj voicebox))
|
||||
(when (not obj)
|
||||
(set! obj obj)
|
||||
(goto cfg-4)
|
||||
)
|
||||
(let ((t9-0 (method-of-type remote inspect)))
|
||||
(t9-0 obj)
|
||||
)
|
||||
(format #t "~2Thint: ~D~%" (-> obj hint))
|
||||
(label cfg-4)
|
||||
obj
|
||||
)
|
||||
|
||||
(defstate exit (voicebox)
|
||||
:virtual #t
|
||||
:code (behavior ()
|
||||
(remove-setting! 'sound-flava)
|
||||
(set! (-> self state-time) (-> self clock frame-counter))
|
||||
(set! (-> self seeker target) 1.0)
|
||||
(while (and (< (-> self blend) 0.9999)
|
||||
(not (and (not (handle->process (-> self hint)))
|
||||
(>= (- (-> self clock frame-counter) (-> self state-time)) (seconds 0.05))
|
||||
(-> *setting-control* user-current hint)
|
||||
)
|
||||
)
|
||||
)
|
||||
(update! (-> self seeker) 0.0)
|
||||
(set! (-> self blend) (-> self seeker value))
|
||||
(suspend)
|
||||
)
|
||||
(set! (-> self blend) 1.0)
|
||||
(send-event (ppointer->process (-> self parent-override)) 'change-state empty-state)
|
||||
(suspend)
|
||||
(process-drawable-method-17 self)
|
||||
(none)
|
||||
)
|
||||
)
|
||||
|
||||
(defbehavior voicebox-init-by-other voicebox ((arg0 vector) (arg1 handle))
|
||||
(set! (-> self hint) arg1)
|
||||
(set! (-> self root) (new 'process 'trsqv))
|
||||
(set! (-> self root trans quad) (-> arg0 quad))
|
||||
(set! (-> self base-trans quad) (-> arg0 quad))
|
||||
(remote-method-23 self)
|
||||
(set! (-> self event-hook) (-> (method-of-object self enter) event))
|
||||
(go-virtual enter)
|
||||
(none)
|
||||
)
|
||||
|
||||
(defun voicebox-spawn ((arg0 process-drawable) (arg1 vector))
|
||||
(with-pp
|
||||
(when *camera*
|
||||
(let ((s3-0 (process-spawn camera-remote :init cam-slave-init cam-remote #f :from *camera-dead-pool* :to arg0)))
|
||||
(if s3-0
|
||||
(process-spawn voicebox arg1 (process->handle pp) :to (ppointer->process s3-0))
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
|
||||
(deftype judge (remote)
|
||||
((total-time time-frame :offset-assert 288)
|
||||
(beep-time time-frame :offset-assert 296)
|
||||
(hud-timer handle :offset-assert 304)
|
||||
(score uint8 :offset-assert 312)
|
||||
)
|
||||
:heap-base #xc0
|
||||
:method-count-assert 28
|
||||
:size-assert #x139
|
||||
:flag-assert #x1c00c00139
|
||||
(:methods
|
||||
(wait () _type_ :state 26)
|
||||
(judge-method-27 (_type_) none 27)
|
||||
)
|
||||
)
|
||||
|
||||
(defmethod inspect judge ((obj judge))
|
||||
(when (not obj)
|
||||
(set! obj obj)
|
||||
(goto cfg-4)
|
||||
)
|
||||
(let ((t9-0 (method-of-type remote inspect)))
|
||||
(t9-0 obj)
|
||||
)
|
||||
(format #t "~2Ttotal-time: ~D~%" (-> obj total-time))
|
||||
(format #t "~2Tbeep-time: ~D~%" (-> obj beep-time))
|
||||
(format #t "~2Thud-timer: ~D~%" (-> obj hud-timer))
|
||||
(format #t "~2Tscore: ~D~%" (-> obj score))
|
||||
(label cfg-4)
|
||||
obj
|
||||
)
|
||||
|
||||
(defmethod remote-method-24 judge ((obj judge) (arg0 vector))
|
||||
(set! (-> arg0 quad) (-> obj base-trans quad))
|
||||
1.0
|
||||
)
|
||||
|
||||
(defmethod remote-method-25 judge ((obj judge))
|
||||
(ja-post)
|
||||
(if (type? (-> obj root) collide-shape)
|
||||
(collide-shape-method-46 (the-as collide-shape (-> obj root)))
|
||||
)
|
||||
(when (and (-> obj next-state) (let ((v1-6 (-> obj next-state name)))
|
||||
(or (= v1-6 'idle) (= v1-6 'enter))
|
||||
)
|
||||
)
|
||||
(if *target*
|
||||
(set! (-> *game-info* score) (-> *target* fact-info-override trick-point))
|
||||
)
|
||||
(let ((v1-15 (the-as int (- (-> obj total-time) (- (-> *display* game-clock frame-counter) (-> obj start-time))))))
|
||||
(if (< (the-as time-frame v1-15) 0)
|
||||
(set! v1-15 0)
|
||||
)
|
||||
(set! (-> *game-info* timer) (the-as time-frame v1-15))
|
||||
)
|
||||
)
|
||||
0
|
||||
(none)
|
||||
)
|
||||
|
||||
(defstate wait (judge)
|
||||
:virtual #t
|
||||
:event (behavior ((proc process) (arg1 int) (event-type symbol) (event event-message-block))
|
||||
(case event-type
|
||||
(('die)
|
||||
(sound-play "judge-stop")
|
||||
(go-virtual exit)
|
||||
)
|
||||
(('touch 'attack)
|
||||
(let ((s4-0 (process-spawn camera-remote :init cam-slave-init cam-remote #f :from *camera-dead-pool* :to proc))
|
||||
(s5-2 (if (type? proc process-focusable)
|
||||
(the-as process-focusable proc)
|
||||
)
|
||||
)
|
||||
)
|
||||
(when (and s4-0
|
||||
(begin (send-event s5-2 'change-mode 'board #f) (logtest? (focus-status board) (-> s5-2 focus-status)))
|
||||
)
|
||||
(change-parent self (ppointer->process s4-0))
|
||||
(try-update-focus (-> self focus) s5-2)
|
||||
(go-virtual enter)
|
||||
)
|
||||
)
|
||||
)
|
||||
(('waiting)
|
||||
#t
|
||||
)
|
||||
)
|
||||
)
|
||||
:code (behavior ()
|
||||
(transform-post)
|
||||
(logior! (-> self mask) (process-mask sleep))
|
||||
(suspend)
|
||||
0
|
||||
(none)
|
||||
)
|
||||
)
|
||||
|
||||
(defstate enter (judge)
|
||||
:virtual #t
|
||||
:enter (behavior ()
|
||||
(set! (-> self start-time) (-> *display* game-clock frame-counter))
|
||||
(send-event *target* 'get-pickup 20 (the float (-> self total-time)))
|
||||
(sound-play "judge-start")
|
||||
(set! (-> self hud-timer) (ppointer->handle (process-spawn hud-timer :init hud-init-by-other :to self)))
|
||||
(none)
|
||||
)
|
||||
)
|
||||
|
||||
(defstate idle (judge)
|
||||
:virtual #t
|
||||
:event (behavior ((proc process) (arg1 int) (event-type symbol) (event event-message-block))
|
||||
(case event-type
|
||||
(('die)
|
||||
(sound-play "judge-stop")
|
||||
(go-virtual exit)
|
||||
)
|
||||
)
|
||||
)
|
||||
:code (behavior ()
|
||||
(while (let ((a0-2 (handle->process (-> self focus handle))))
|
||||
(and a0-2 (!= (send-event a0-2 'test-pickup 20) 0.0))
|
||||
)
|
||||
(suspend)
|
||||
(ja :num! (loop!))
|
||||
)
|
||||
(send-event (handle->process (-> self hud-timer)) 'hide-and-die)
|
||||
(go-virtual exit)
|
||||
(none)
|
||||
)
|
||||
)
|
||||
|
||||
(defmethod judge-method-27 judge ((obj judge))
|
||||
(let ((s5-0 (new 'process 'collide-shape obj (collide-list-enum hit-by-player))))
|
||||
(let ((v1-2 (new 'process 'collide-shape-prim-sphere s5-0 (the-as uint 0))))
|
||||
(set! (-> v1-2 prim-core collide-as) (collide-spec collectable))
|
||||
(set! (-> v1-2 prim-core collide-with) (collide-spec jak player-list tobot))
|
||||
(set-vector! (-> v1-2 local-sphere) 0.0 0.0 0.0 16384.0)
|
||||
(set! (-> s5-0 total-prims) (the-as uint 1))
|
||||
(set! (-> s5-0 root-prim) v1-2)
|
||||
)
|
||||
(set! (-> s5-0 nav-radius) (* 0.75 (-> s5-0 root-prim local-sphere w)))
|
||||
(let ((v1-5 (-> s5-0 root-prim)))
|
||||
(set! (-> s5-0 backup-collide-as) (-> v1-5 prim-core collide-as))
|
||||
(set! (-> s5-0 backup-collide-with) (-> v1-5 prim-core collide-with))
|
||||
)
|
||||
(set! (-> obj root) s5-0)
|
||||
)
|
||||
0
|
||||
(none)
|
||||
)
|
||||
|
||||
(defmethod init-from-entity! judge ((obj judge) (arg0 entity-actor))
|
||||
(judge-method-27 obj)
|
||||
(remote-method-23 obj)
|
||||
(process-drawable-from-entity! obj arg0)
|
||||
(set! (-> obj root trans y) (+ 4096.0 (-> obj root trans y)))
|
||||
(set! (-> obj base-trans quad) (-> obj root trans quad))
|
||||
(set! (-> obj total-time) (seconds 90))
|
||||
(go (method-of-object obj wait))
|
||||
(none)
|
||||
)
|
||||
|
||||
(defbehavior judge-init-by-other judge ((arg0 vector) (arg1 uint))
|
||||
(process-entity-set! self (the-as entity-actor #f))
|
||||
(set! (-> self score) arg1)
|
||||
(judge-method-27 self)
|
||||
(remote-method-23 self)
|
||||
(vector-identity! (-> self root scale))
|
||||
(quaternion-identity! (-> self root quat))
|
||||
(set! (-> self root trans quad) (-> arg0 quad))
|
||||
(set! (-> self base-trans quad) (-> self root trans quad))
|
||||
(set! (-> self total-time) (seconds 90))
|
||||
(go-virtual wait)
|
||||
(none)
|
||||
)
|
||||
|
||||
(defun judge-spawn ((arg0 process-tree) (arg1 vector) (arg2 uint))
|
||||
(process-spawn judge arg1 arg2 :to arg0)
|
||||
)
|
||||
+1
-75
@@ -1,9 +1,5 @@
|
||||
;;-*-Lisp-*-
|
||||
(in-package goal)
|
||||
|
||||
;; definition for function check-water-level-drop
|
||||
;; INFO: Used lq/sq
|
||||
;; WARN: Return type mismatch int vs none.
|
||||
(defun check-water-level-drop ((arg0 sparticle-system) (arg1 sparticle-cpuinfo) (arg2 vector))
|
||||
(when (and (< (-> arg2 y) (-> arg1 user-float)) (< (-> arg1 vel-sxvel y) 0.0))
|
||||
(let ((gp-0 (new 'stack-no-clear 'vector)))
|
||||
@@ -24,8 +20,6 @@
|
||||
(none)
|
||||
)
|
||||
|
||||
;; definition for function check-water-level-drop-and-die
|
||||
;; WARN: Return type mismatch symbol vs none.
|
||||
(defun check-water-level-drop-and-die ((arg0 sparticle-system) (arg1 sparticle-cpuinfo) (arg2 vector))
|
||||
(if (and (< (-> arg2 y) (-> arg1 user-float)) (< (-> arg1 vel-sxvel y) 0.0))
|
||||
(sp-kill-particle arg0 arg1)
|
||||
@@ -33,7 +27,6 @@
|
||||
(none)
|
||||
)
|
||||
|
||||
;; definition for function check-water-level-drop-and-die-motion
|
||||
(defun check-water-level-drop-and-die-motion ((arg0 sparticle-system) (arg1 sparticle-cpuinfo) (arg2 vector))
|
||||
(if (and (< (-> arg2 y) (-> arg1 user-float)) (< (-> arg1 vel-sxvel y) 0.0))
|
||||
(sp-kill-particle arg0 arg1)
|
||||
@@ -42,8 +35,6 @@
|
||||
(none)
|
||||
)
|
||||
|
||||
;; definition for function check-water-level-above-and-die
|
||||
;; WARN: Return type mismatch symbol vs none.
|
||||
(defun check-water-level-above-and-die ((arg0 sparticle-system) (arg1 sparticle-cpuinfo) (arg2 vector))
|
||||
(if (or (>= (-> arg2 y) (-> arg1 user-float)) (and *target* (>= (-> arg2 y) (-> *target* water height))))
|
||||
(sp-kill-particle arg0 arg1)
|
||||
@@ -51,7 +42,6 @@
|
||||
(none)
|
||||
)
|
||||
|
||||
;; failed to figure out what this is:
|
||||
(defpart 502
|
||||
:init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x21 :page #xc))
|
||||
(sp-flt spt-num 9.0)
|
||||
@@ -76,7 +66,6 @@
|
||||
)
|
||||
)
|
||||
|
||||
;; failed to figure out what this is:
|
||||
(defpart 503
|
||||
:init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x21 :page #xc))
|
||||
(sp-flt spt-num 0.1)
|
||||
@@ -101,7 +90,6 @@
|
||||
)
|
||||
)
|
||||
|
||||
;; failed to figure out what this is:
|
||||
(defpart 504
|
||||
:init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x2c :page #xc))
|
||||
(sp-flt spt-num 0.05)
|
||||
@@ -121,7 +109,6 @@
|
||||
)
|
||||
)
|
||||
|
||||
;; failed to figure out what this is:
|
||||
(defpart 506
|
||||
:init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x2e :page #xc))
|
||||
(sp-flt spt-num 0.06)
|
||||
@@ -146,17 +133,14 @@
|
||||
)
|
||||
)
|
||||
|
||||
;; failed to figure out what this is:
|
||||
(defpart 507
|
||||
:init-specs ((sp-flt spt-fade-a 0.0) (sp-int-plain-rnd spt-next-time 90 119 1) (sp-launcher-by-id spt-next-launcher 508))
|
||||
)
|
||||
|
||||
;; failed to figure out what this is:
|
||||
(defpart 508
|
||||
:init-specs ((sp-flt spt-fade-a -0.21333334))
|
||||
)
|
||||
|
||||
;; failed to figure out what this is:
|
||||
(defpart 509
|
||||
:init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x33 :page #xc))
|
||||
(sp-rnd-flt spt-num 0.05 0.4 1.0)
|
||||
@@ -180,17 +164,14 @@
|
||||
)
|
||||
)
|
||||
|
||||
;; failed to figure out what this is:
|
||||
(defpart 510
|
||||
:init-specs ((sp-flt spt-fade-a 0.0) (sp-int spt-next-time 360) (sp-launcher-by-id spt-next-launcher 511))
|
||||
)
|
||||
|
||||
;; failed to figure out what this is:
|
||||
(defpart 511
|
||||
:init-specs ((sp-flt spt-fade-a -0.7111111))
|
||||
)
|
||||
|
||||
;; failed to figure out what this is:
|
||||
(defpartgroup group-part-water-splash
|
||||
:id 121
|
||||
:duration (seconds 3)
|
||||
@@ -232,7 +213,6 @@
|
||||
)
|
||||
)
|
||||
|
||||
;; failed to figure out what this is:
|
||||
(defpartgroup group-part-water-splash-small
|
||||
:id 122
|
||||
:duration (seconds 3)
|
||||
@@ -256,7 +236,6 @@
|
||||
)
|
||||
)
|
||||
|
||||
;; failed to figure out what this is:
|
||||
(defpart 512
|
||||
:init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x21 :page #xc))
|
||||
(sp-flt spt-num 0.2)
|
||||
@@ -278,7 +257,6 @@
|
||||
)
|
||||
)
|
||||
|
||||
;; failed to figure out what this is:
|
||||
(defpart 513
|
||||
:init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x21 :page #xc))
|
||||
(sp-flt spt-num 0.2)
|
||||
@@ -300,7 +278,6 @@
|
||||
)
|
||||
)
|
||||
|
||||
;; failed to figure out what this is:
|
||||
(defpart 519
|
||||
:init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x2c :page #xc))
|
||||
(sp-flt spt-num 0.05)
|
||||
@@ -321,7 +298,6 @@
|
||||
)
|
||||
)
|
||||
|
||||
;; failed to figure out what this is:
|
||||
(defpart 520
|
||||
:init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x21 :page #xc))
|
||||
(sp-flt spt-num 3.2)
|
||||
@@ -348,7 +324,6 @@
|
||||
)
|
||||
)
|
||||
|
||||
;; failed to figure out what this is:
|
||||
(defpart 518
|
||||
:init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x2d :page #xc))
|
||||
(sp-flt spt-num 1.0)
|
||||
@@ -369,7 +344,6 @@
|
||||
)
|
||||
)
|
||||
|
||||
;; failed to figure out what this is:
|
||||
(defpart 525
|
||||
:init-specs ((sp-flt spt-scalevel-y (meters 0.026666667))
|
||||
(sp-int spt-next-time 20)
|
||||
@@ -377,7 +351,6 @@
|
||||
)
|
||||
)
|
||||
|
||||
;; failed to figure out what this is:
|
||||
(defpart 526
|
||||
:init-specs ((sp-flt spt-scalevel-y (meters 0))
|
||||
(sp-flt spt-fade-a -0.64)
|
||||
@@ -386,7 +359,6 @@
|
||||
)
|
||||
)
|
||||
|
||||
;; failed to figure out what this is:
|
||||
(defpart 527
|
||||
:init-specs ((sp-flt spt-scalevel-x (meters 0.0016666667))
|
||||
(sp-flt spt-scalevel-y (meters -0.026666667))
|
||||
@@ -395,12 +367,10 @@
|
||||
)
|
||||
)
|
||||
|
||||
;; failed to figure out what this is:
|
||||
(defpart 528
|
||||
:init-specs ((sp-flt spt-scalevel-x (meters 0.0033333334)) (sp-flt spt-scalevel-y (meters -0.053333335)))
|
||||
)
|
||||
|
||||
;; failed to figure out what this is:
|
||||
(defpart 516
|
||||
:init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xc9 :page #xc))
|
||||
(sp-func spt-birth-func 'birth-func-texture-group)
|
||||
@@ -426,12 +396,10 @@
|
||||
)
|
||||
)
|
||||
|
||||
;; failed to figure out what this is:
|
||||
(defpart 505
|
||||
:init-specs ((sp-flt spt-fade-a -0.21333334))
|
||||
)
|
||||
|
||||
;; failed to figure out what this is:
|
||||
(defpart 517
|
||||
:init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x21 :page #xc))
|
||||
(sp-flt spt-num 3.2)
|
||||
@@ -457,12 +425,10 @@
|
||||
)
|
||||
)
|
||||
|
||||
;; failed to figure out what this is:
|
||||
(defpart 524
|
||||
:init-specs ((sp-flt spt-scalevel-x (meters 0)) (sp-copy-from-other spt-scalevel-y -4))
|
||||
)
|
||||
|
||||
;; failed to figure out what this is:
|
||||
(defpart 515
|
||||
:init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x21 :page #xc))
|
||||
(sp-flt spt-num 8.0)
|
||||
@@ -486,7 +452,6 @@
|
||||
)
|
||||
)
|
||||
|
||||
;; failed to figure out what this is:
|
||||
(defpart 514
|
||||
:init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x2d :page #xc))
|
||||
(sp-flt spt-num 1.5)
|
||||
@@ -512,7 +477,6 @@
|
||||
)
|
||||
)
|
||||
|
||||
;; failed to figure out what this is:
|
||||
(defpart 529
|
||||
:init-specs ((sp-flt spt-scalevel-x (meters 0))
|
||||
(sp-flt spt-rotvel-x (degrees 0.16666667))
|
||||
@@ -522,7 +486,6 @@
|
||||
)
|
||||
)
|
||||
|
||||
;; failed to figure out what this is:
|
||||
(defpart 530
|
||||
:init-specs ((sp-flt spt-rotvel-x (degrees 0.13333334))
|
||||
(sp-flt spt-scalevel-y (meters 0))
|
||||
@@ -532,7 +495,6 @@
|
||||
)
|
||||
)
|
||||
|
||||
;; failed to figure out what this is:
|
||||
(defpart 531
|
||||
:init-specs ((sp-flt spt-rotvel-x (degrees 0.1))
|
||||
(sp-flt spt-scalevel-y (meters -0.016666668))
|
||||
@@ -541,12 +503,10 @@
|
||||
)
|
||||
)
|
||||
|
||||
;; failed to figure out what this is:
|
||||
(defpart 532
|
||||
:init-specs ((sp-flt spt-rotvel-x (degrees 0.06666667)) (sp-flt spt-scalevel-y (meters -0.033333335)))
|
||||
)
|
||||
|
||||
;; failed to figure out what this is:
|
||||
(defpart 522
|
||||
:init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xca :page #xc))
|
||||
(sp-flt spt-num 1.0)
|
||||
@@ -569,12 +529,10 @@
|
||||
)
|
||||
)
|
||||
|
||||
;; failed to figure out what this is:
|
||||
(defpart 533
|
||||
:init-specs ((sp-flt spt-fade-a -0.64))
|
||||
)
|
||||
|
||||
;; failed to figure out what this is:
|
||||
(defpart 521
|
||||
:init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x21 :page #xc))
|
||||
(sp-flt spt-num 12.0)
|
||||
@@ -603,7 +561,6 @@
|
||||
)
|
||||
)
|
||||
|
||||
;; failed to figure out what this is:
|
||||
(defpart 63
|
||||
:init-specs ((sp-flt spt-r 255.0)
|
||||
(sp-flt spt-g 255.0)
|
||||
@@ -613,7 +570,6 @@
|
||||
)
|
||||
)
|
||||
|
||||
;; failed to figure out what this is:
|
||||
(defpart 534
|
||||
:init-specs ((sp-rnd-flt spt-r 32.0 32.0 1.0)
|
||||
(sp-rnd-flt spt-g 32.0 32.0 1.0)
|
||||
@@ -623,7 +579,6 @@
|
||||
)
|
||||
)
|
||||
|
||||
;; failed to figure out what this is:
|
||||
(defpart 501
|
||||
:init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xc9 :page #xc))
|
||||
(sp-flt spt-num 0.3)
|
||||
@@ -649,7 +604,6 @@
|
||||
)
|
||||
)
|
||||
|
||||
;; failed to figure out what this is:
|
||||
(defpart 536
|
||||
:init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x21 :page #xc))
|
||||
(sp-rnd-flt spt-num 0.0 0.5 1.0)
|
||||
@@ -676,8 +630,6 @@
|
||||
)
|
||||
)
|
||||
|
||||
;; definition for function check-water-level-drop-motion
|
||||
;; INFO: Used lq/sq
|
||||
(defun check-water-level-drop-motion ((arg0 sparticle-system) (arg1 sparticle-cpuinfo) (arg2 vector))
|
||||
(when (and (< (-> arg2 y) (-> arg1 user-float)) (< (-> arg1 vel-sxvel y) 0.0))
|
||||
(let ((s3-0 (new 'stack-no-clear 'vector)))
|
||||
@@ -707,7 +659,6 @@
|
||||
(none)
|
||||
)
|
||||
|
||||
;; failed to figure out what this is:
|
||||
(defpart 537
|
||||
:init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x21 :page #xc))
|
||||
(sp-flt spt-num 1.0)
|
||||
@@ -734,16 +685,11 @@
|
||||
)
|
||||
)
|
||||
|
||||
;; definition for method 9 of type water-control
|
||||
;; WARN: Return type mismatch int vs none.
|
||||
(defmethod water-control-method-9 water-control ((obj water-control))
|
||||
0
|
||||
(none)
|
||||
)
|
||||
|
||||
;; definition for method 10 of type water-control
|
||||
;; INFO: Used lq/sq
|
||||
;; WARN: Return type mismatch int vs none.
|
||||
(defmethod water-control-method-10 water-control ((obj water-control))
|
||||
(local-vars
|
||||
(sv-272 (function vector entity-actor skeleton-group vector none :behavior manipy))
|
||||
@@ -1260,8 +1206,6 @@
|
||||
)
|
||||
)
|
||||
|
||||
;; definition for method 11 of type water-control
|
||||
;; WARN: Return type mismatch int vs none.
|
||||
(defmethod start-bobbing! water-control ((obj water-control) (arg0 float) (arg1 int) (arg2 int))
|
||||
(with-pp
|
||||
(activate! (-> obj bob) (- arg0) arg1 arg2 0.9 1.0 (-> pp clock))
|
||||
@@ -1270,8 +1214,6 @@
|
||||
)
|
||||
)
|
||||
|
||||
;; definition for function part-water-splash-callback
|
||||
;; WARN: Return type mismatch int vs none.
|
||||
(defun part-water-splash-callback ((arg0 part-tracker))
|
||||
(let ((f1-0 (-> arg0 root trans y))
|
||||
(f0-0 (the-as float (-> arg0 userdata)))
|
||||
@@ -1353,8 +1295,6 @@
|
||||
(none)
|
||||
)
|
||||
|
||||
;; definition for method 15 of type water-control
|
||||
;; WARN: Return type mismatch int vs none.
|
||||
(defmethod enter-water water-control ((obj water-control))
|
||||
(with-pp
|
||||
(set! (-> obj flags) (logior (water-flags touch-water) (-> obj flags)))
|
||||
@@ -1387,8 +1327,6 @@
|
||||
)
|
||||
)
|
||||
|
||||
;; definition for method 16 of type water-control
|
||||
;; WARN: Return type mismatch int vs none.
|
||||
(defmethod water-control-method-16 water-control ((obj water-control))
|
||||
(logclear! (-> obj flags) (water-flags touch-water))
|
||||
(set-zero! (-> obj bob))
|
||||
@@ -1399,9 +1337,6 @@
|
||||
(none)
|
||||
)
|
||||
|
||||
;; definition for function splash-spawn
|
||||
;; INFO: Used lq/sq
|
||||
;; WARN: Return type mismatch int vs none.
|
||||
(defun splash-spawn ((arg0 float) (arg1 vector) (arg2 int))
|
||||
(let ((s5-0 (get-process *default-dead-pool* part-tracker #x4000)))
|
||||
(when s5-0
|
||||
@@ -1445,9 +1380,6 @@
|
||||
(none)
|
||||
)
|
||||
|
||||
;; definition for function rings-water-spawn
|
||||
;; INFO: Used lq/sq
|
||||
;; WARN: Return type mismatch int vs none.
|
||||
(defun rings-water-spawn ((arg0 float) (arg1 vector) (arg2 vector) (arg3 float) (arg4 float))
|
||||
(let* ((v1-0 arg2)
|
||||
(f30-0 (sqrtf (+ (* (-> v1-0 x) (-> v1-0 x)) (* (-> v1-0 z) (-> v1-0 z)))))
|
||||
@@ -1493,8 +1425,6 @@
|
||||
(none)
|
||||
)
|
||||
|
||||
;; definition for method 13 of type water-control
|
||||
;; WARN: Return type mismatch int vs none.
|
||||
(defmethod spawn-ripples water-control ((obj water-control) (arg0 float) (arg1 vector) (arg2 int) (arg3 vector) (arg4 symbol))
|
||||
(with-pp
|
||||
(when (and (logtest? (water-flags part-splash) (-> obj flags)) (logtest? (water-flags part-water) (-> obj flags)))
|
||||
@@ -1541,8 +1471,6 @@
|
||||
)
|
||||
)
|
||||
|
||||
;; definition for function water-info<-region
|
||||
;; INFO: Used lq/sq
|
||||
(defun water-info<-region ((arg0 water-info) (arg1 drawable-region-prim) (arg2 collide-shape) (arg3 collide-action))
|
||||
(with-pp
|
||||
(set! (-> arg0 flags) (water-flags))
|
||||
@@ -1577,7 +1505,7 @@
|
||||
)
|
||||
(('ocean)
|
||||
(set! (-> arg0 flags) (water-flags active use-ocean))
|
||||
(set! (-> arg0 trans y) (ocean-method-11 *ocean* (the-as (inline-array vector) (-> arg0 trans)) #f))
|
||||
(set! (-> arg0 trans y) (ocean-method-11 *ocean* (-> arg0 trans) #f))
|
||||
(set! (-> arg0 base-height) (ocean-map-method-10 *ocean-map*))
|
||||
(when (= (-> arg0 trans y) 4095996000.0)
|
||||
(set! (-> arg0 flags) (water-flags))
|
||||
@@ -1683,8 +1611,6 @@
|
||||
)
|
||||
)
|
||||
|
||||
;; definition for method 52 of type collide-shape
|
||||
;; INFO: Used lq/sq
|
||||
(defmethod water-info-init! collide-shape ((obj collide-shape) (arg0 water-info) (arg1 collide-action))
|
||||
"Initialize a [[water-info]] with the currently loaded regions."
|
||||
(local-vars (sv-80 int))
|
||||
|
||||
+41
-1
@@ -1748,7 +1748,47 @@
|
||||
)
|
||||
|
||||
;; definition for function sparticle-track-root-money
|
||||
;; ERROR: function has no type analysis. Cannot decompile.
|
||||
;; ERROR: failed type prop at 2: Unknown symbol: hud-money
|
||||
(defun sparticle-track-root-money ((a0-0 sparticle-system) (a1-0 sparticle-cpuinfo) (a2-0 vector))
|
||||
"Hopefully unused, it still uses a jak 1 symbol -- [[hud-money]] which no longer exists!"
|
||||
(local-vars
|
||||
(v0-0 none)
|
||||
(v1-0 sparticle-launch-control)
|
||||
(v1-1 process-drawable)
|
||||
(v1-2 none)
|
||||
(v1-3 none)
|
||||
(a0-1 none)
|
||||
(a0-3 none)
|
||||
(a1-1 none)
|
||||
(f0-0 none)
|
||||
(f0-1 none)
|
||||
(f0-2 none)
|
||||
(f0-3 none)
|
||||
(f1-0 none)
|
||||
)
|
||||
(when (begin
|
||||
(set! v1-0 (-> a1-0 key))
|
||||
(set! v1-1 (-> v1-0 proc))
|
||||
(set! a0-1 (the-as none hud-money))
|
||||
(set! a1-1 (the-as none (-> v1-1 type)))
|
||||
(!= a1-1 a0-1)
|
||||
)
|
||||
(set! v1-2 (the-as none (l.wu (+ v1-1 124))))
|
||||
(set! v1-3 (the-as none (+ v1-2 12)))
|
||||
(set! f0-0 (the-as none (l.f v1-3)))
|
||||
(s.f! a2-0 f0-0)
|
||||
(set! a0-3 (the-as none #x45000000))
|
||||
(set! f0-1 (the-as none (gpr->fpr a0-3)))
|
||||
(set! f1-0 (the-as none (l.f (+ v1-3 4))))
|
||||
(set! f0-2 (the-as none (+.s f0-1 f1-0)))
|
||||
(s.f! (+ a2-0 4) f0-2)
|
||||
(set! f0-3 (the-as none (l.f (+ v1-3 8))))
|
||||
(s.f! (+ a2-0 8) f0-3)
|
||||
(set! v1-4 (the-as none (fpr->gpr f0-3)))
|
||||
)
|
||||
(set! v0-0 (the-as none 0))
|
||||
(ret-none)
|
||||
)
|
||||
|
||||
;; failed to figure out what this is:
|
||||
(defpart 412
|
||||
|
||||
-12
@@ -1,7 +1,5 @@
|
||||
;;-*-Lisp-*-
|
||||
(in-package goal)
|
||||
|
||||
;; definition of type process-drawable
|
||||
(deftype process-drawable (process)
|
||||
((root trsqv :offset-assert 128)
|
||||
(node-list cspace-array :offset-assert 132)
|
||||
@@ -35,7 +33,6 @@
|
||||
)
|
||||
)
|
||||
|
||||
;; definition for method 3 of type process-drawable
|
||||
(defmethod inspect process-drawable ((obj process-drawable))
|
||||
(when (not obj)
|
||||
(set! obj obj)
|
||||
@@ -65,7 +62,6 @@
|
||||
obj
|
||||
)
|
||||
|
||||
;; definition of type process-drawable-reserved
|
||||
(deftype process-drawable-reserved (process-drawable)
|
||||
()
|
||||
:heap-base #x50
|
||||
@@ -234,7 +230,6 @@
|
||||
)
|
||||
)
|
||||
|
||||
;; definition for method 3 of type process-drawable-reserved
|
||||
(defmethod inspect process-drawable-reserved ((obj process-drawable-reserved))
|
||||
(when (not obj)
|
||||
(set! obj obj)
|
||||
@@ -247,7 +242,6 @@
|
||||
obj
|
||||
)
|
||||
|
||||
;; definition of type attack-dir-info
|
||||
(deftype attack-dir-info (structure)
|
||||
((dir vector :inline :offset-assert 0)
|
||||
(xz-dir vector :inline :offset-assert 16)
|
||||
@@ -259,7 +253,6 @@
|
||||
:flag-assert #x900000040
|
||||
)
|
||||
|
||||
;; definition for method 3 of type attack-dir-info
|
||||
(defmethod inspect attack-dir-info ((obj attack-dir-info))
|
||||
(when (not obj)
|
||||
(set! obj obj)
|
||||
@@ -274,7 +267,6 @@
|
||||
obj
|
||||
)
|
||||
|
||||
;; definition of type attack-info
|
||||
(deftype attack-info (structure)
|
||||
((trans vector :inline :offset-assert 0)
|
||||
(vector vector :inline :offset-assert 16)
|
||||
@@ -311,7 +303,6 @@
|
||||
)
|
||||
)
|
||||
|
||||
;; definition for method 3 of type attack-info
|
||||
(defmethod inspect attack-info ((obj attack-info))
|
||||
(when (not obj)
|
||||
(set! obj obj)
|
||||
@@ -418,7 +409,6 @@
|
||||
obj
|
||||
)
|
||||
|
||||
;; definition of type ground-tween-info
|
||||
(deftype ground-tween-info (structure)
|
||||
((chan uint8 3 :offset-assert 0)
|
||||
(blend float 3 :offset-assert 4)
|
||||
@@ -430,7 +420,6 @@
|
||||
:flag-assert #x900000024
|
||||
)
|
||||
|
||||
;; definition for method 3 of type ground-tween-info
|
||||
(defmethod inspect ground-tween-info ((obj ground-tween-info))
|
||||
(when (not obj)
|
||||
(set! obj obj)
|
||||
@@ -444,5 +433,4 @@
|
||||
obj
|
||||
)
|
||||
|
||||
;; failed to figure out what this is:
|
||||
0
|
||||
|
||||
+1
-59
@@ -1,7 +1,5 @@
|
||||
;;-*-Lisp-*-
|
||||
(in-package goal)
|
||||
|
||||
;; failed to figure out what this is:
|
||||
(defpartgroup group-rain-screend-drop-real
|
||||
:id 1
|
||||
:flags (screen-space)
|
||||
@@ -75,10 +73,8 @@
|
||||
)
|
||||
)
|
||||
|
||||
;; definition for symbol group-rain-screend-drop, type sparticle-launch-group
|
||||
(define group-rain-screend-drop (-> *part-group-id-table* 1))
|
||||
|
||||
;; failed to figure out what this is:
|
||||
(defpart 46
|
||||
:init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x29 :page #xc))
|
||||
(sp-flt spt-num 0.1)
|
||||
@@ -99,7 +95,6 @@
|
||||
)
|
||||
)
|
||||
|
||||
;; failed to figure out what this is:
|
||||
(defpart 43
|
||||
:init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x21 :page #xc))
|
||||
(sp-flt spt-num 1.0)
|
||||
@@ -120,7 +115,6 @@
|
||||
)
|
||||
)
|
||||
|
||||
;; failed to figure out what this is:
|
||||
(defpart 47
|
||||
:init-specs ((sp-flt spt-scalevel-x (meters 0.004166667))
|
||||
(sp-copy-from-other spt-scalevel-y -4)
|
||||
@@ -128,7 +122,6 @@
|
||||
)
|
||||
)
|
||||
|
||||
;; failed to figure out what this is:
|
||||
(defpart 44
|
||||
:init-specs ((sp-flt spt-num 1.0)
|
||||
(sp-int spt-rot-x 12)
|
||||
@@ -146,12 +139,10 @@
|
||||
)
|
||||
)
|
||||
|
||||
;; failed to figure out what this is:
|
||||
(defpart 48
|
||||
:init-specs ((sp-flt spt-fade-g -5.1200004))
|
||||
)
|
||||
|
||||
;; failed to figure out what this is:
|
||||
(defpart 45
|
||||
:init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x29 :page #xc))
|
||||
(sp-flt spt-num 0.1)
|
||||
@@ -172,7 +163,6 @@
|
||||
)
|
||||
)
|
||||
|
||||
;; failed to figure out what this is:
|
||||
(defpart 41
|
||||
:init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x21 :page #xc))
|
||||
(sp-flt spt-num 1.0)
|
||||
@@ -193,7 +183,6 @@
|
||||
)
|
||||
)
|
||||
|
||||
;; failed to figure out what this is:
|
||||
(defpart 49
|
||||
:init-specs ((sp-flt spt-scalevel-x (meters 0.008333334))
|
||||
(sp-copy-from-other spt-scalevel-y -4)
|
||||
@@ -201,7 +190,6 @@
|
||||
)
|
||||
)
|
||||
|
||||
;; failed to figure out what this is:
|
||||
(defpart 42
|
||||
:init-specs ((sp-flt spt-num 1.0)
|
||||
(sp-int spt-rot-x 24)
|
||||
@@ -219,12 +207,10 @@
|
||||
)
|
||||
)
|
||||
|
||||
;; failed to figure out what this is:
|
||||
(defpart 50
|
||||
:init-specs ((sp-flt spt-fade-g -10.240001))
|
||||
)
|
||||
|
||||
;; failed to figure out what this is:
|
||||
(defpartgroup group-stars
|
||||
:id 2
|
||||
:flags (always-draw)
|
||||
@@ -232,7 +218,6 @@
|
||||
:parts ((sp-item 51 :flags (bit6)) (sp-item 52 :flags (bit6)) (sp-item 53 :flags (bit6)))
|
||||
)
|
||||
|
||||
;; failed to figure out what this is:
|
||||
(defpart 51
|
||||
:init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xc9 :page #xc))
|
||||
(sp-flt spt-num 1.0)
|
||||
@@ -254,17 +239,14 @@
|
||||
)
|
||||
)
|
||||
|
||||
;; failed to figure out what this is:
|
||||
(defpart 54
|
||||
:init-specs ((sp-flt spt-fade-a 0.0) (sp-int spt-next-time 29999700) (sp-launcher-by-id spt-next-launcher 55))
|
||||
)
|
||||
|
||||
;; failed to figure out what this is:
|
||||
(defpart 55
|
||||
:init-specs ((sp-flt spt-fade-a -0.42666668))
|
||||
)
|
||||
|
||||
;; failed to figure out what this is:
|
||||
(defpart 52
|
||||
:init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xc9 :page #xc))
|
||||
(sp-flt spt-num 1.0)
|
||||
@@ -286,7 +268,6 @@
|
||||
)
|
||||
)
|
||||
|
||||
;; failed to figure out what this is:
|
||||
(defpart 53
|
||||
:init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xc9 :page #xc))
|
||||
(sp-flt spt-num 1.0)
|
||||
@@ -308,7 +289,6 @@
|
||||
)
|
||||
)
|
||||
|
||||
;; failed to figure out what this is:
|
||||
(defpart 56
|
||||
:init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xc9 :page #xc))
|
||||
(sp-flt spt-num 4.0)
|
||||
@@ -333,7 +313,6 @@
|
||||
)
|
||||
)
|
||||
|
||||
;; failed to figure out what this is:
|
||||
(defpart 58
|
||||
:init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xc9 :page #xc))
|
||||
(sp-flt spt-num 0.0)
|
||||
@@ -358,19 +337,14 @@
|
||||
)
|
||||
)
|
||||
|
||||
;; failed to figure out what this is:
|
||||
(defpart 57
|
||||
:init-specs ((sp-flt spt-fade-a 0.0) (sp-int spt-next-time 1200) (sp-launcher-by-id spt-next-launcher 59))
|
||||
)
|
||||
|
||||
;; failed to figure out what this is:
|
||||
(defpart 59
|
||||
:init-specs ((sp-flt spt-fade-a -0.85333335))
|
||||
)
|
||||
|
||||
;; definition for function update-snow
|
||||
;; INFO: Used lq/sq
|
||||
;; WARN: Return type mismatch int vs none.
|
||||
(defun update-snow ((arg0 float) (arg1 vector) (arg2 vector))
|
||||
(let ((f0-0 (lerp-scale 0.0 1.0 (vector-length arg2) 2048.0 40960.0)))
|
||||
(set! (-> *part-id-table* 58 init-specs 1 initial-valuef) (- 1.0 f0-0))
|
||||
@@ -397,7 +371,6 @@
|
||||
(none)
|
||||
)
|
||||
|
||||
;; failed to figure out what this is:
|
||||
(defpart 60
|
||||
:init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x21 :page #xc))
|
||||
(sp-func spt-birth-func 'birth-func-rain)
|
||||
@@ -419,7 +392,6 @@
|
||||
)
|
||||
)
|
||||
|
||||
;; failed to figure out what this is:
|
||||
(defpart 61
|
||||
:init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x21 :page #xc))
|
||||
(sp-func spt-birth-func 'birth-func-rain)
|
||||
@@ -441,7 +413,6 @@
|
||||
)
|
||||
)
|
||||
|
||||
;; failed to figure out what this is:
|
||||
(defpart 62
|
||||
:init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x21 :page #xc))
|
||||
(sp-rnd-flt spt-num 1.0 3.0 1.0)
|
||||
@@ -470,7 +441,6 @@
|
||||
)
|
||||
)
|
||||
|
||||
;; failed to figure out what this is:
|
||||
(defpart 64
|
||||
:init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xc9 :page #xc))
|
||||
(sp-func spt-birth-func 'birth-func-omega-normal-orient)
|
||||
@@ -497,7 +467,6 @@
|
||||
)
|
||||
)
|
||||
|
||||
;; failed to figure out what this is:
|
||||
(defpart 65
|
||||
:init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x92 :page #xc))
|
||||
(sp-rnd-flt spt-num 2.0 4.0 1.0)
|
||||
@@ -522,7 +491,6 @@
|
||||
)
|
||||
)
|
||||
|
||||
;; failed to figure out what this is:
|
||||
(defpart 66
|
||||
:init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xbb :page #xc))
|
||||
(sp-flt spt-num 1.0)
|
||||
@@ -546,8 +514,6 @@
|
||||
)
|
||||
)
|
||||
|
||||
;; definition for function birth-func-omega-normal-orient
|
||||
;; WARN: Return type mismatch int vs none.
|
||||
(defun birth-func-omega-normal-orient ((arg0 sparticle-system)
|
||||
(arg1 sparticle-cpuinfo)
|
||||
(arg2 sprite-vec-data-3d)
|
||||
@@ -590,9 +556,6 @@
|
||||
)
|
||||
)
|
||||
|
||||
;; definition for function birth-func-rain
|
||||
;; INFO: Used lq/sq
|
||||
;; WARN: Return type mismatch int vs none.
|
||||
(defun birth-func-rain ((arg0 sparticle-system)
|
||||
(arg1 sparticle-cpuinfo)
|
||||
(arg2 sprite-vec-data-3d)
|
||||
@@ -630,7 +593,7 @@
|
||||
)
|
||||
)
|
||||
)
|
||||
(let ((f0-21 (ocean-method-11 *ocean* (the-as (inline-array vector) (-> arg2 x-y-z-sx)) #f)))
|
||||
(let ((f0-21 (ocean-method-11 *ocean* (-> arg2 x-y-z-sx) #f)))
|
||||
(when (!= f0-21 4095996000.0)
|
||||
(when (< (-> arg1 user-float) f0-21)
|
||||
(set! (-> arg1 user-float) f0-21)
|
||||
@@ -646,8 +609,6 @@
|
||||
(none)
|
||||
)
|
||||
|
||||
;; definition for function check-drop-level-rain
|
||||
;; INFO: Used lq/sq
|
||||
(defun check-drop-level-rain ((arg0 sparticle-system) (arg1 sparticle-cpuinfo) (arg2 vector))
|
||||
(when (< (-> arg2 y) (-> arg1 user-float))
|
||||
(let ((s4-0 (new 'stack-no-clear 'vector))
|
||||
@@ -717,8 +678,6 @@
|
||||
(none)
|
||||
)
|
||||
|
||||
;; definition for function check-drop-level-rain2
|
||||
;; WARN: Return type mismatch symbol vs none.
|
||||
(defun check-drop-level-rain2 ((arg0 sparticle-system) (arg1 sparticle-cpuinfo) (arg2 vector))
|
||||
(if (< (-> arg2 y) (-> arg1 user-float))
|
||||
(sp-kill-particle arg0 arg1)
|
||||
@@ -726,8 +685,6 @@
|
||||
(none)
|
||||
)
|
||||
|
||||
;; definition for function check-drop-level-splash
|
||||
;; WARN: Return type mismatch symbol vs none.
|
||||
(defun check-drop-level-splash ((arg0 sparticle-system) (arg1 sparticle-cpuinfo) (arg2 vector))
|
||||
(sparticle-motion-blur arg0 arg1 arg2)
|
||||
(if (< (-> arg2 y) (-> arg1 user-float))
|
||||
@@ -736,9 +693,6 @@
|
||||
(none)
|
||||
)
|
||||
|
||||
;; definition for function update-rain
|
||||
;; INFO: Used lq/sq
|
||||
;; WARN: Return type mismatch int vs none.
|
||||
(defun update-rain ((arg0 float) (arg1 vector) (arg2 vector))
|
||||
(let ((v1-0 (new 'stack-no-clear 'vector)))
|
||||
(set! (-> v1-0 x) (-> arg2 x))
|
||||
@@ -794,8 +748,6 @@
|
||||
(none)
|
||||
)
|
||||
|
||||
;; definition for function cam-master-effect
|
||||
;; WARN: Return type mismatch int vs none.
|
||||
(defbehavior cam-master-effect camera-master ()
|
||||
(when (not (or (movie?) (>= (+ (-> self clock frame-counter) (seconds -10)) (-> self water-drip-time))))
|
||||
(set! (-> *part-id-table* 46 init-specs 1 initial-valuef) (-> self water-drip-mult))
|
||||
@@ -810,8 +762,6 @@
|
||||
(none)
|
||||
)
|
||||
|
||||
;; definition for function sparticle-track-sun
|
||||
;; WARN: Return type mismatch int vs none.
|
||||
(defun sparticle-track-sun ((arg0 int) (arg1 sparticle-cpuinfo) (arg2 matrix))
|
||||
(-> arg1 key)
|
||||
(let* ((s3-0 (the int (-> arg1 user-float)))
|
||||
@@ -838,7 +788,6 @@
|
||||
(none)
|
||||
)
|
||||
|
||||
;; failed to figure out what this is:
|
||||
(defpartgroup group-sun
|
||||
:id 3
|
||||
:flags (always-draw)
|
||||
@@ -846,7 +795,6 @@
|
||||
:parts ((sp-item 67 :flags (bit6)) (sp-item 68 :flags (bit6)))
|
||||
)
|
||||
|
||||
;; failed to figure out what this is:
|
||||
(defpart 67
|
||||
:init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xbb :page #xc))
|
||||
(sp-flt spt-num 1.0)
|
||||
@@ -866,7 +814,6 @@
|
||||
)
|
||||
)
|
||||
|
||||
;; failed to figure out what this is:
|
||||
(defpart 68
|
||||
:init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xbb :page #xc))
|
||||
(sp-flt spt-num 1.0)
|
||||
@@ -886,7 +833,6 @@
|
||||
)
|
||||
)
|
||||
|
||||
;; failed to figure out what this is:
|
||||
(defpartgroup group-green-sun
|
||||
:id 4
|
||||
:flags (always-draw)
|
||||
@@ -894,7 +840,6 @@
|
||||
:parts ((sp-item 69 :flags (bit6)) (sp-item 70 :flags (bit6)))
|
||||
)
|
||||
|
||||
;; failed to figure out what this is:
|
||||
(defpart 69
|
||||
:init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xbb :page #xc))
|
||||
(sp-flt spt-num 1.0)
|
||||
@@ -914,7 +859,6 @@
|
||||
)
|
||||
)
|
||||
|
||||
;; failed to figure out what this is:
|
||||
(defpart 70
|
||||
:init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xbb :page #xc))
|
||||
(sp-flt spt-num 1.0)
|
||||
@@ -934,7 +878,6 @@
|
||||
)
|
||||
)
|
||||
|
||||
;; failed to figure out what this is:
|
||||
(defpartgroup group-moon
|
||||
:id 5
|
||||
:flags (always-draw)
|
||||
@@ -942,7 +885,6 @@
|
||||
:parts ((sp-item 71 :flags (bit6)))
|
||||
)
|
||||
|
||||
;; failed to figure out what this is:
|
||||
(defpart 71
|
||||
:init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xca :page #xc))
|
||||
(sp-flt spt-num 1.0)
|
||||
|
||||
+2
-72
@@ -1,7 +1,5 @@
|
||||
;;-*-Lisp-*-
|
||||
(in-package goal)
|
||||
|
||||
;; definition of type ocean-corner
|
||||
(deftype ocean-corner (structure)
|
||||
((bsphere sphere :inline :offset-assert 0)
|
||||
(start-corner vector :inline :offset-assert 16)
|
||||
@@ -14,7 +12,6 @@
|
||||
:flag-assert #x900000050
|
||||
)
|
||||
|
||||
;; definition for method 3 of type ocean-corner
|
||||
(defmethod inspect ocean-corner ((obj ocean-corner))
|
||||
(when (not obj)
|
||||
(set! obj obj)
|
||||
@@ -30,7 +27,6 @@
|
||||
obj
|
||||
)
|
||||
|
||||
;; definition of type ocean-wave-info
|
||||
(deftype ocean-wave-info (structure)
|
||||
((frequency float :offset-assert 0)
|
||||
(amplitude float :offset-assert 4)
|
||||
@@ -46,7 +42,6 @@
|
||||
:flag-assert #x900000020
|
||||
)
|
||||
|
||||
;; definition for method 3 of type ocean-wave-info
|
||||
(defmethod inspect ocean-wave-info ((obj ocean-wave-info))
|
||||
(when (not obj)
|
||||
(set! obj obj)
|
||||
@@ -65,7 +60,6 @@
|
||||
obj
|
||||
)
|
||||
|
||||
;; definition of type ocean-vertex
|
||||
(deftype ocean-vertex (structure)
|
||||
((pos vector :inline :offset-assert 0)
|
||||
(stq vector :inline :offset-assert 16)
|
||||
@@ -76,7 +70,6 @@
|
||||
:flag-assert #x900000030
|
||||
)
|
||||
|
||||
;; definition for method 3 of type ocean-vertex
|
||||
(defmethod inspect ocean-vertex ((obj ocean-vertex))
|
||||
(when (not obj)
|
||||
(set! obj obj)
|
||||
@@ -90,7 +83,6 @@
|
||||
obj
|
||||
)
|
||||
|
||||
;; definition of type ocean-spheres
|
||||
(deftype ocean-spheres (structure)
|
||||
((spheres sphere 36 :inline :offset-assert 0)
|
||||
)
|
||||
@@ -99,7 +91,6 @@
|
||||
:flag-assert #x900000240
|
||||
)
|
||||
|
||||
;; definition for method 3 of type ocean-spheres
|
||||
(defmethod inspect ocean-spheres ((obj ocean-spheres))
|
||||
(when (not obj)
|
||||
(set! obj obj)
|
||||
@@ -111,7 +102,6 @@
|
||||
obj
|
||||
)
|
||||
|
||||
;; definition of type ocean-colors
|
||||
(deftype ocean-colors (structure)
|
||||
((colors rgba 2548 :offset-assert 0)
|
||||
)
|
||||
@@ -120,7 +110,6 @@
|
||||
:flag-assert #x9000027d0
|
||||
)
|
||||
|
||||
;; definition for method 3 of type ocean-colors
|
||||
(defmethod inspect ocean-colors ((obj ocean-colors))
|
||||
(when (not obj)
|
||||
(set! obj obj)
|
||||
@@ -132,7 +121,6 @@
|
||||
obj
|
||||
)
|
||||
|
||||
;; definition of type ocean-colors-float
|
||||
(deftype ocean-colors-float (structure)
|
||||
((colors vector 2548 :inline :offset-assert 0)
|
||||
)
|
||||
@@ -141,7 +129,6 @@
|
||||
:flag-assert #x900009f40
|
||||
)
|
||||
|
||||
;; definition for method 3 of type ocean-colors-float
|
||||
(defmethod inspect ocean-colors-float ((obj ocean-colors-float))
|
||||
(when (not obj)
|
||||
(set! obj obj)
|
||||
@@ -153,7 +140,6 @@
|
||||
obj
|
||||
)
|
||||
|
||||
;; definition of type ocean-mid-mask
|
||||
(deftype ocean-mid-mask (structure)
|
||||
((mask uint8 8 :offset-assert 0)
|
||||
(dword uint64 :offset 0)
|
||||
@@ -164,7 +150,6 @@
|
||||
:flag-assert #x900000008
|
||||
)
|
||||
|
||||
;; definition for method 3 of type ocean-mid-mask
|
||||
(defmethod inspect ocean-mid-mask ((obj ocean-mid-mask))
|
||||
(when (not obj)
|
||||
(set! obj obj)
|
||||
@@ -177,7 +162,6 @@
|
||||
obj
|
||||
)
|
||||
|
||||
;; definition of type ocean-mid-indices
|
||||
(deftype ocean-mid-indices (basic)
|
||||
((data uint16 36 :offset-assert 4)
|
||||
)
|
||||
@@ -186,7 +170,6 @@
|
||||
:flag-assert #x90000004c
|
||||
)
|
||||
|
||||
;; definition for method 3 of type ocean-mid-indices
|
||||
(defmethod inspect ocean-mid-indices ((obj ocean-mid-indices))
|
||||
(when (not obj)
|
||||
(set! obj obj)
|
||||
@@ -198,7 +181,6 @@
|
||||
obj
|
||||
)
|
||||
|
||||
;; definition of type ocean-mid-masks
|
||||
(deftype ocean-mid-masks (basic)
|
||||
((data (inline-array ocean-mid-mask) :offset-assert 4)
|
||||
)
|
||||
@@ -207,7 +189,6 @@
|
||||
:flag-assert #x900000008
|
||||
)
|
||||
|
||||
;; definition for method 3 of type ocean-mid-masks
|
||||
(defmethod inspect ocean-mid-masks ((obj ocean-mid-masks))
|
||||
(when (not obj)
|
||||
(set! obj obj)
|
||||
@@ -219,7 +200,6 @@
|
||||
obj
|
||||
)
|
||||
|
||||
;; definition of type ocean-trans-mask
|
||||
(deftype ocean-trans-mask (structure)
|
||||
((mask uint8 4 :offset-assert 0)
|
||||
(word int32 :offset 0)
|
||||
@@ -229,7 +209,6 @@
|
||||
:flag-assert #x900000004
|
||||
)
|
||||
|
||||
;; definition for method 3 of type ocean-trans-mask
|
||||
(defmethod inspect ocean-trans-mask ((obj ocean-trans-mask))
|
||||
(when (not obj)
|
||||
(set! obj obj)
|
||||
@@ -242,7 +221,6 @@
|
||||
obj
|
||||
)
|
||||
|
||||
;; definition of type ocean-trans-index
|
||||
(deftype ocean-trans-index (structure)
|
||||
((parent int16 :offset-assert 0)
|
||||
(child int16 :offset-assert 2)
|
||||
@@ -253,7 +231,6 @@
|
||||
:flag-assert #x900000004
|
||||
)
|
||||
|
||||
;; definition for method 3 of type ocean-trans-index
|
||||
(defmethod inspect ocean-trans-index ((obj ocean-trans-index))
|
||||
(when (not obj)
|
||||
(set! obj obj)
|
||||
@@ -266,7 +243,6 @@
|
||||
obj
|
||||
)
|
||||
|
||||
;; definition of type ocean-trans-indices
|
||||
(deftype ocean-trans-indices (basic)
|
||||
((data ocean-trans-index 2304 :inline :offset-assert 4)
|
||||
)
|
||||
@@ -275,7 +251,6 @@
|
||||
:flag-assert #x900002404
|
||||
)
|
||||
|
||||
;; definition for method 3 of type ocean-trans-indices
|
||||
(defmethod inspect ocean-trans-indices ((obj ocean-trans-indices))
|
||||
(when (not obj)
|
||||
(set! obj obj)
|
||||
@@ -287,7 +262,6 @@
|
||||
obj
|
||||
)
|
||||
|
||||
;; definition of type ocean-near-index
|
||||
(deftype ocean-near-index (structure)
|
||||
((data uint16 16 :offset-assert 0)
|
||||
)
|
||||
@@ -296,7 +270,6 @@
|
||||
:flag-assert #x900000020
|
||||
)
|
||||
|
||||
;; definition for method 3 of type ocean-near-index
|
||||
(defmethod inspect ocean-near-index ((obj ocean-near-index))
|
||||
(when (not obj)
|
||||
(set! obj obj)
|
||||
@@ -308,7 +281,6 @@
|
||||
obj
|
||||
)
|
||||
|
||||
;; definition of type ocean-near-indices
|
||||
(deftype ocean-near-indices (basic)
|
||||
((data (inline-array ocean-near-index) :offset-assert 4)
|
||||
)
|
||||
@@ -317,7 +289,6 @@
|
||||
:flag-assert #x900000008
|
||||
)
|
||||
|
||||
;; definition for method 3 of type ocean-near-indices
|
||||
(defmethod inspect ocean-near-indices ((obj ocean-near-indices))
|
||||
(when (not obj)
|
||||
(set! obj obj)
|
||||
@@ -329,7 +300,6 @@
|
||||
obj
|
||||
)
|
||||
|
||||
;; definition of type ocean-near-colors
|
||||
(deftype ocean-near-colors (structure)
|
||||
((color0 vector :inline :offset-assert 0)
|
||||
(color1 vector :inline :offset-assert 16)
|
||||
@@ -341,7 +311,6 @@
|
||||
:flag-assert #x900000040
|
||||
)
|
||||
|
||||
;; definition for method 3 of type ocean-near-colors
|
||||
(defmethod inspect ocean-near-colors ((obj ocean-near-colors))
|
||||
(when (not obj)
|
||||
(set! obj obj)
|
||||
@@ -356,7 +325,6 @@
|
||||
obj
|
||||
)
|
||||
|
||||
;; definition of type ocean-trans-strip
|
||||
(deftype ocean-trans-strip (structure)
|
||||
((verts uint128 10 :offset-assert 0)
|
||||
)
|
||||
@@ -365,7 +333,6 @@
|
||||
:flag-assert #x9000000a0
|
||||
)
|
||||
|
||||
;; definition for method 3 of type ocean-trans-strip
|
||||
(defmethod inspect ocean-trans-strip ((obj ocean-trans-strip))
|
||||
(when (not obj)
|
||||
(set! obj obj)
|
||||
@@ -377,7 +344,6 @@
|
||||
obj
|
||||
)
|
||||
|
||||
;; definition of type ocean-trans-strip-array
|
||||
(deftype ocean-trans-strip-array (structure)
|
||||
((data ocean-trans-strip 4 :inline :offset-assert 0)
|
||||
)
|
||||
@@ -386,7 +352,6 @@
|
||||
:flag-assert #x900000280
|
||||
)
|
||||
|
||||
;; definition for method 3 of type ocean-trans-strip-array
|
||||
(defmethod inspect ocean-trans-strip-array ((obj ocean-trans-strip-array))
|
||||
(when (not obj)
|
||||
(set! obj obj)
|
||||
@@ -398,7 +363,6 @@
|
||||
obj
|
||||
)
|
||||
|
||||
;; definition of type ocean-wave-data
|
||||
(deftype ocean-wave-data (structure)
|
||||
((data uint8 1024 :offset-assert 0)
|
||||
)
|
||||
@@ -407,7 +371,6 @@
|
||||
:flag-assert #x900000400
|
||||
)
|
||||
|
||||
;; definition for method 3 of type ocean-wave-data
|
||||
(defmethod inspect ocean-wave-data ((obj ocean-wave-data))
|
||||
(when (not obj)
|
||||
(set! obj obj)
|
||||
@@ -419,7 +382,6 @@
|
||||
obj
|
||||
)
|
||||
|
||||
;; definition of type ocean-wave-frames
|
||||
(deftype ocean-wave-frames (structure)
|
||||
((frame ocean-wave-data 64 :inline :offset-assert 0)
|
||||
)
|
||||
@@ -428,7 +390,6 @@
|
||||
:flag-assert #x900000000
|
||||
)
|
||||
|
||||
;; definition for method 3 of type ocean-wave-frames
|
||||
(defmethod inspect ocean-wave-frames ((obj ocean-wave-frames))
|
||||
(when (not obj)
|
||||
(set! obj obj)
|
||||
@@ -440,7 +401,6 @@
|
||||
obj
|
||||
)
|
||||
|
||||
;; definition of type ocean-texture-constants
|
||||
(deftype ocean-texture-constants (structure)
|
||||
((giftag gs-gif-tag :inline :offset-assert 0)
|
||||
(buffers vector4w :inline :offset-assert 16)
|
||||
@@ -455,7 +415,6 @@
|
||||
:flag-assert #x900000070
|
||||
)
|
||||
|
||||
;; definition for method 3 of type ocean-texture-constants
|
||||
(defmethod inspect ocean-texture-constants ((obj ocean-texture-constants))
|
||||
(when (not obj)
|
||||
(set! obj obj)
|
||||
@@ -473,7 +432,6 @@
|
||||
obj
|
||||
)
|
||||
|
||||
;; definition of type ocean-mid-vertex
|
||||
(deftype ocean-mid-vertex (structure)
|
||||
((stq vector :inline :offset-assert 0)
|
||||
(col vector :inline :offset-assert 16)
|
||||
@@ -484,7 +442,6 @@
|
||||
:flag-assert #x900000030
|
||||
)
|
||||
|
||||
;; definition for method 3 of type ocean-mid-vertex
|
||||
(defmethod inspect ocean-mid-vertex ((obj ocean-mid-vertex))
|
||||
(when (not obj)
|
||||
(set! obj obj)
|
||||
@@ -498,7 +455,6 @@
|
||||
obj
|
||||
)
|
||||
|
||||
;; definition of type ocean-mid-constants
|
||||
(deftype ocean-mid-constants (structure)
|
||||
((hmge-scale vector :inline :offset-assert 0)
|
||||
(inv-hmge-scale vector :inline :offset-assert 16)
|
||||
@@ -527,7 +483,6 @@
|
||||
:flag-assert #x900000240
|
||||
)
|
||||
|
||||
;; definition for method 3 of type ocean-mid-constants
|
||||
(defmethod inspect ocean-mid-constants ((obj ocean-mid-constants))
|
||||
(when (not obj)
|
||||
(set! obj obj)
|
||||
@@ -559,7 +514,6 @@
|
||||
obj
|
||||
)
|
||||
|
||||
;; definition of type ocean-mid-upload
|
||||
(deftype ocean-mid-upload (structure)
|
||||
((rot matrix :inline :offset-assert 0)
|
||||
(matrix matrix :inline :offset-assert 64)
|
||||
@@ -571,7 +525,6 @@
|
||||
:flag-assert #x900000760
|
||||
)
|
||||
|
||||
;; definition for method 3 of type ocean-mid-upload
|
||||
(defmethod inspect ocean-mid-upload ((obj ocean-mid-upload))
|
||||
(when (not obj)
|
||||
(set! obj obj)
|
||||
@@ -586,7 +539,6 @@
|
||||
obj
|
||||
)
|
||||
|
||||
;; definition of type ocean-mid-upload2
|
||||
(deftype ocean-mid-upload2 (structure)
|
||||
((rot matrix :inline :offset-assert 0)
|
||||
(matrix matrix :inline :offset-assert 64)
|
||||
@@ -606,7 +558,6 @@
|
||||
:flag-assert #x900000230
|
||||
)
|
||||
|
||||
;; definition for method 3 of type ocean-mid-upload2
|
||||
(defmethod inspect ocean-mid-upload2 ((obj ocean-mid-upload2))
|
||||
(when (not obj)
|
||||
(set! obj obj)
|
||||
@@ -629,7 +580,6 @@
|
||||
obj
|
||||
)
|
||||
|
||||
;; definition of type ocean-mid-work
|
||||
(deftype ocean-mid-work (structure)
|
||||
((env0 vector :inline :offset-assert 0)
|
||||
(env1 vector :inline :offset-assert 16)
|
||||
@@ -644,7 +594,6 @@
|
||||
:flag-assert #x900000160
|
||||
)
|
||||
|
||||
;; definition for method 3 of type ocean-mid-work
|
||||
(defmethod inspect ocean-mid-work ((obj ocean-mid-work))
|
||||
(when (not obj)
|
||||
(set! obj obj)
|
||||
@@ -662,7 +611,6 @@
|
||||
obj
|
||||
)
|
||||
|
||||
;; definition of type ocean-near-constants
|
||||
(deftype ocean-near-constants (structure)
|
||||
((hmge-scale vector :inline :offset-assert 0)
|
||||
(inv-hmge-scale vector :inline :offset-assert 16)
|
||||
@@ -696,7 +644,6 @@
|
||||
:flag-assert #x900000250
|
||||
)
|
||||
|
||||
;; definition for method 3 of type ocean-near-constants
|
||||
(defmethod inspect ocean-near-constants ((obj ocean-near-constants))
|
||||
(when (not obj)
|
||||
(set! obj obj)
|
||||
@@ -733,7 +680,6 @@
|
||||
obj
|
||||
)
|
||||
|
||||
;; definition of type ocean-near-upload
|
||||
(deftype ocean-near-upload (structure)
|
||||
((rot matrix :inline :offset-assert 0)
|
||||
(matrix matrix :inline :offset-assert 64)
|
||||
@@ -747,7 +693,6 @@
|
||||
:flag-assert #x900000100
|
||||
)
|
||||
|
||||
;; definition for method 3 of type ocean-near-upload
|
||||
(defmethod inspect ocean-near-upload ((obj ocean-near-upload))
|
||||
(when (not obj)
|
||||
(set! obj obj)
|
||||
@@ -764,7 +709,6 @@
|
||||
obj
|
||||
)
|
||||
|
||||
;; definition of type ocean-near-vertex
|
||||
(deftype ocean-near-vertex (structure)
|
||||
((stq vector :inline :offset-assert 0)
|
||||
(clr vector :inline :offset-assert 16)
|
||||
@@ -775,7 +719,6 @@
|
||||
:flag-assert #x900000030
|
||||
)
|
||||
|
||||
;; definition for method 3 of type ocean-near-vertex
|
||||
(defmethod inspect ocean-near-vertex ((obj ocean-near-vertex))
|
||||
(when (not obj)
|
||||
(set! obj obj)
|
||||
@@ -789,7 +732,6 @@
|
||||
obj
|
||||
)
|
||||
|
||||
;; definition of type ocean-near-work
|
||||
(deftype ocean-near-work (structure)
|
||||
((verts-ptr vector :inline :offset-assert 0)
|
||||
(indices uint128 16 :offset-assert 16)
|
||||
@@ -799,7 +741,6 @@
|
||||
:flag-assert #x900000110
|
||||
)
|
||||
|
||||
;; definition for method 3 of type ocean-near-work
|
||||
(defmethod inspect ocean-near-work ((obj ocean-near-work))
|
||||
(when (not obj)
|
||||
(set! obj obj)
|
||||
@@ -812,7 +753,6 @@
|
||||
obj
|
||||
)
|
||||
|
||||
;; definition of type ocean-height-array
|
||||
(deftype ocean-height-array (structure)
|
||||
((data float 1024 :offset-assert 0)
|
||||
)
|
||||
@@ -821,7 +761,6 @@
|
||||
:flag-assert #x900001000
|
||||
)
|
||||
|
||||
;; definition for method 3 of type ocean-height-array
|
||||
(defmethod inspect ocean-height-array ((obj ocean-height-array))
|
||||
(when (not obj)
|
||||
(set! obj obj)
|
||||
@@ -833,7 +772,6 @@
|
||||
obj
|
||||
)
|
||||
|
||||
;; definition of type ocean-vert-array
|
||||
(deftype ocean-vert-array (structure)
|
||||
((data vector 2048 :inline :offset-assert 0)
|
||||
)
|
||||
@@ -842,7 +780,6 @@
|
||||
:flag-assert #x900008000
|
||||
)
|
||||
|
||||
;; definition for method 3 of type ocean-vert-array
|
||||
(defmethod inspect ocean-vert-array ((obj ocean-vert-array))
|
||||
(when (not obj)
|
||||
(set! obj obj)
|
||||
@@ -854,7 +791,6 @@
|
||||
obj
|
||||
)
|
||||
|
||||
;; definition of type ocean-map
|
||||
(deftype ocean-map (structure)
|
||||
((start-corner vector :inline :offset-assert 0)
|
||||
(far-color vector :inline :offset-assert 16)
|
||||
@@ -874,7 +810,6 @@
|
||||
)
|
||||
)
|
||||
|
||||
;; definition for method 3 of type ocean-map
|
||||
(defmethod inspect ocean-map ((obj ocean-map))
|
||||
(when (not obj)
|
||||
(set! obj obj)
|
||||
@@ -893,7 +828,6 @@
|
||||
obj
|
||||
)
|
||||
|
||||
;; definition of type ocean
|
||||
(deftype ocean (ocean-map)
|
||||
((off basic :offset-assert 56)
|
||||
(near-off basic :offset-assert 60)
|
||||
@@ -994,7 +928,7 @@
|
||||
:size-assert #x206c
|
||||
:flag-assert #x5c0000206c
|
||||
(:methods
|
||||
(ocean-method-11 (_type_ (inline-array vector) symbol) float 11)
|
||||
(ocean-method-11 (_type_ vector symbol) float 11)
|
||||
(draw! (_type_) none 12)
|
||||
(update-map (_type_) none 13)
|
||||
(ocean-method-14 () none 14)
|
||||
@@ -1004,7 +938,7 @@
|
||||
(ocean-method-18 () none 18)
|
||||
(ocean-method-19 () none 19)
|
||||
(ocean-method-20 () none 20)
|
||||
(ocean-method-21 () none 21)
|
||||
(ocean-method-21 (_type_ float float) float 21)
|
||||
(ocean-method-22 () none 22)
|
||||
(ocean-method-23 () none 23)
|
||||
(ocean-method-24 () none 24)
|
||||
@@ -1078,7 +1012,6 @@
|
||||
)
|
||||
)
|
||||
|
||||
;; definition for method 3 of type ocean
|
||||
(defmethod inspect ocean ((obj ocean))
|
||||
(when (not obj)
|
||||
(set! obj obj)
|
||||
@@ -1191,10 +1124,8 @@
|
||||
obj
|
||||
)
|
||||
|
||||
;; definition for symbol *ocean-map*, type ocean-map
|
||||
(define *ocean-map* (the-as ocean-map #f))
|
||||
|
||||
;; definition for symbol *ocean*, type ocean
|
||||
(define *ocean*
|
||||
(new 'static 'ocean
|
||||
:sprite-tmpl (new 'static 'dma-gif-packet
|
||||
@@ -1535,5 +1466,4 @@
|
||||
)
|
||||
)
|
||||
|
||||
;; failed to figure out what this is:
|
||||
0
|
||||
|
||||
Generated
Vendored
+3
-153
@@ -1,9 +1,5 @@
|
||||
;;-*-Lisp-*-
|
||||
(in-package goal)
|
||||
|
||||
;; definition for method 3 of type sparticle-launcher
|
||||
;; INFO: this function exists in multiple non-identical object files
|
||||
;; WARN: Return type mismatch int vs sparticle-launcher.
|
||||
(defmethod inspect sparticle-launcher ((obj sparticle-launcher))
|
||||
(format #t "~X: sparticle-launcher~%" obj)
|
||||
(let ((s5-0 0))
|
||||
@@ -252,22 +248,16 @@
|
||||
(the-as sparticle-launcher 0)
|
||||
)
|
||||
|
||||
;; failed to figure out what this is:
|
||||
(kmemopen global "part-tables")
|
||||
|
||||
;; definition for symbol *part-id-table*, type (array sparticle-launcher)
|
||||
(define *part-id-table* (new 'global 'boxed-array sparticle-launcher 5760))
|
||||
|
||||
;; definition for symbol *part-group-id-table*, type (array sparticle-launch-group)
|
||||
(define *part-group-id-table* (new 'global 'boxed-array sparticle-launch-group 1408))
|
||||
|
||||
;; definition for symbol *sp-temp*, type int
|
||||
(define *sp-temp* 0)
|
||||
|
||||
;; failed to figure out what this is:
|
||||
(kmemclose)
|
||||
|
||||
;; definition for function lookup-part-group-by-name
|
||||
(defun lookup-part-group-by-name ((arg0 string))
|
||||
"Iterate through the [[*part-group-id-table*]] and return the matching [[sparticle-launch-group]], or [[#f]] otherwise"
|
||||
(let* ((s5-0 *part-group-id-table*)
|
||||
@@ -284,8 +274,6 @@
|
||||
(the-as sparticle-launch-group #f)
|
||||
)
|
||||
|
||||
;; definition for function lookup-part-group-pointer-by-name
|
||||
;; WARN: Return type mismatch (pointer sparticle-launch-group) vs (pointer object).
|
||||
(defun lookup-part-group-pointer-by-name ((arg0 string))
|
||||
"Similar to [[lookup-part-group-by-name]] but returns a pointer instead"
|
||||
(let* ((s4-0 *part-group-id-table*)
|
||||
@@ -302,7 +290,6 @@
|
||||
(the-as (pointer sparticle-launch-group) #f)
|
||||
)
|
||||
|
||||
;; definition for function part-group-pointer?
|
||||
(defun part-group-pointer? ((arg0 pointer))
|
||||
"Verifies if the given pointer, points to a [[sparticle-launch-group]]"
|
||||
(let ((v1-0 *part-group-id-table*))
|
||||
@@ -310,7 +297,6 @@
|
||||
)
|
||||
)
|
||||
|
||||
;; definition for function unlink-part-group-by-heap
|
||||
(defun unlink-part-group-by-heap ((arg0 kheap))
|
||||
(let* ((v1-0 *part-group-id-table*)
|
||||
(a2-0 (-> v1-0 length))
|
||||
@@ -330,10 +316,7 @@
|
||||
0
|
||||
)
|
||||
|
||||
;; definition for function sp-init-fields!
|
||||
;; ERROR: function was not converted to expressions. Cannot decompile.
|
||||
|
||||
;; definition of type sp-queued-launch-particles
|
||||
(deftype sp-queued-launch-particles (structure)
|
||||
((sp-system sparticle-system :offset-assert 0)
|
||||
(sp-launcher sparticle-launcher :offset-assert 4)
|
||||
@@ -344,7 +327,6 @@
|
||||
:flag-assert #x900000020
|
||||
)
|
||||
|
||||
;; definition for method 3 of type sp-queued-launch-particles
|
||||
(defmethod inspect sp-queued-launch-particles ((obj sp-queued-launch-particles))
|
||||
(when (not obj)
|
||||
(set! obj obj)
|
||||
@@ -358,7 +340,6 @@
|
||||
obj
|
||||
)
|
||||
|
||||
;; definition of type sp-launch-queue
|
||||
(deftype sp-launch-queue (basic)
|
||||
((in-use int32 :offset-assert 4)
|
||||
(queue sp-queued-launch-particles 256 :inline :offset-assert 16)
|
||||
@@ -368,7 +349,6 @@
|
||||
:flag-assert #x900002010
|
||||
)
|
||||
|
||||
;; definition for method 3 of type sp-launch-queue
|
||||
(defmethod inspect sp-launch-queue ((obj sp-launch-queue))
|
||||
(when (not obj)
|
||||
(set! obj obj)
|
||||
@@ -381,23 +361,16 @@
|
||||
obj
|
||||
)
|
||||
|
||||
;; failed to figure out what this is:
|
||||
(kmemopen global "launcher-queue")
|
||||
|
||||
;; definition for symbol *sp-launcher-lock*, type symbol
|
||||
(define *sp-launcher-lock* #f)
|
||||
|
||||
;; definition for symbol *sp-launch-queue*, type sp-launch-queue
|
||||
(define *sp-launch-queue* (new 'global 'sp-launch-queue))
|
||||
|
||||
;; definition for symbol *sp-launcher-enable*, type symbol
|
||||
(define *sp-launcher-enable* #t)
|
||||
|
||||
;; failed to figure out what this is:
|
||||
(kmemclose)
|
||||
|
||||
;; definition for function particle-setup-adgif
|
||||
;; WARN: Return type mismatch int vs none.
|
||||
(defun particle-setup-adgif ((arg0 adgif-shader) (arg1 int))
|
||||
(let ((a1-1 (lookup-texture-by-id-fast (the-as texture-id arg1)))
|
||||
(s5-0 #f)
|
||||
@@ -424,7 +397,6 @@
|
||||
(none)
|
||||
)
|
||||
|
||||
;; definition of type particle-adgif-cache
|
||||
(deftype particle-adgif-cache (basic)
|
||||
((used int32 :offset-assert 4)
|
||||
(last uint16 :offset-assert 8)
|
||||
@@ -437,7 +409,6 @@
|
||||
:flag-assert #x9000019b0
|
||||
)
|
||||
|
||||
;; definition for method 3 of type particle-adgif-cache
|
||||
(defmethod inspect particle-adgif-cache ((obj particle-adgif-cache))
|
||||
(when (not obj)
|
||||
(set! obj obj)
|
||||
@@ -453,20 +424,14 @@
|
||||
obj
|
||||
)
|
||||
|
||||
;; failed to figure out what this is:
|
||||
(kmemopen global "part-adgif-cache")
|
||||
|
||||
;; definition for symbol *particle-adgif-cache*, type particle-adgif-cache
|
||||
(define *particle-adgif-cache* (new 'global 'particle-adgif-cache))
|
||||
|
||||
;; failed to figure out what this is:
|
||||
(set! (-> *particle-adgif-cache* used) 0)
|
||||
|
||||
;; failed to figure out what this is:
|
||||
(kmemclose)
|
||||
|
||||
;; definition for function particle-adgif-cache-flush
|
||||
;; WARN: Return type mismatch int vs none.
|
||||
(defun particle-adgif-cache-flush ()
|
||||
"Clear [[*particle-adgif-cache*]]"
|
||||
(set! (-> *particle-adgif-cache* used) 0)
|
||||
@@ -475,16 +440,7 @@
|
||||
(none)
|
||||
)
|
||||
|
||||
;; definition for function particle-adgif
|
||||
;; ERROR: function was not converted to expressions. Cannot decompile.
|
||||
|
||||
;; definition for function particle-adgif-callback
|
||||
;; WARN: Return type mismatch int vs none.
|
||||
;; ERROR: Bad vector register dependency: vf16
|
||||
;; ERROR: Bad vector register dependency: vf17
|
||||
;; ERROR: Bad vector register dependency: vf18
|
||||
;; ERROR: Bad vector register dependency: vf19
|
||||
;; ERROR: Bad vector register dependency: vf20
|
||||
(defun particle-adgif-callback ((arg0 adgif-shader) (arg1 texture-id))
|
||||
(local-vars (v1-0 float))
|
||||
(rlet ((vf16 :class vf)
|
||||
@@ -518,8 +474,6 @@
|
||||
)
|
||||
)
|
||||
|
||||
;; definition for function sp-queue-launch
|
||||
;; INFO: Used lq/sq
|
||||
(defun sp-queue-launch ((arg0 sparticle-system) (arg1 sparticle-launcher) (arg2 matrix))
|
||||
(let ((v1-0 *sp-launch-queue*))
|
||||
(when (= (-> v1-0 in-use) 256)
|
||||
@@ -538,8 +492,6 @@
|
||||
)
|
||||
)
|
||||
|
||||
;; definition for function sp-adjust-launch
|
||||
;; WARN: Return type mismatch int vs none.
|
||||
(defun sp-adjust-launch ((arg0 sparticle-launchinfo)
|
||||
(arg1 sparticle-cpuinfo)
|
||||
(arg2 (inline-array sp-field-init-spec))
|
||||
@@ -589,8 +541,6 @@
|
||||
(none)
|
||||
)
|
||||
|
||||
;; definition for function sp-euler-convert
|
||||
;; WARN: Return type mismatch int vs none.
|
||||
(defun sp-euler-convert ((arg0 sparticle-launchinfo) (arg1 sparticle-cpuinfo))
|
||||
(local-vars (v1-1 float) (v1-2 float))
|
||||
(rlet ((vf0 :class vf)
|
||||
@@ -638,8 +588,6 @@
|
||||
)
|
||||
)
|
||||
|
||||
;; definition for function sp-rotate-system
|
||||
;; WARN: Return type mismatch int vs none.
|
||||
(defun sp-rotate-system ((arg0 sparticle-launchinfo) (arg1 sparticle-cpuinfo) (arg2 transformq))
|
||||
(let ((s5-0 (new 'stack-no-clear 'matrix)))
|
||||
(let ((a1-1 (new 'stack-no-clear 'quaternion)))
|
||||
@@ -666,7 +614,6 @@
|
||||
(none)
|
||||
)
|
||||
|
||||
;; definition of type sp-launch-stack
|
||||
(deftype sp-launch-stack (structure)
|
||||
((ra basic :offset-assert 0)
|
||||
(dummy0 basic :offset-assert 4)
|
||||
@@ -690,8 +637,6 @@
|
||||
:flag-assert #x900000130
|
||||
)
|
||||
|
||||
;; definition for method 3 of type sp-launch-stack
|
||||
;; INFO: Used lq/sq
|
||||
(defmethod inspect sp-launch-stack ((obj sp-launch-stack))
|
||||
(when (not obj)
|
||||
(set! obj obj)
|
||||
@@ -718,16 +663,9 @@
|
||||
obj
|
||||
)
|
||||
|
||||
;; definition for function sp-launch-particles-var
|
||||
;; ERROR: function was not converted to expressions. Cannot decompile.
|
||||
|
||||
;; definition for symbol *death-adgif*, type adgif-shader
|
||||
(define *death-adgif* (the-as adgif-shader #f))
|
||||
|
||||
;; definition for function sp-launch-particles-death
|
||||
;; INFO: Used lq/sq
|
||||
;; WARN: Return type mismatch int vs none.
|
||||
;; WARN: Function sp-launch-particles-death has a return type of none, but the expression builder found a return statement.
|
||||
(defun sp-launch-particles-death ((arg0 sparticle-system) (arg1 sparticle-launcher) (arg2 vector))
|
||||
(local-vars (v1-26 float) (v1-28 float))
|
||||
(rlet ((vf0 :class vf)
|
||||
@@ -827,9 +765,6 @@
|
||||
)
|
||||
)
|
||||
|
||||
;; definition for function sp-clear-queue
|
||||
;; INFO: Used lq/sq
|
||||
;; WARN: Return type mismatch int vs none.
|
||||
(defun sp-clear-queue ()
|
||||
(let ((gp-0 *sp-launch-queue*)
|
||||
(s5-0 *launch-matrix*)
|
||||
@@ -856,8 +791,6 @@
|
||||
(none)
|
||||
)
|
||||
|
||||
;; definition for function sp-relaunch-setup-fields
|
||||
;; WARN: Return type mismatch int vs none.
|
||||
(defun sp-relaunch-setup-fields ((arg0 object) (arg1 sparticle-launcher) (arg2 sparticle-cpuinfo) (arg3 sprite-vec-data-3d))
|
||||
(let ((a1-1 (-> arg1 init-specs 0))
|
||||
(s4-0 (logand (-> arg2 flags) (sp-cpuinfo-flag sp-cpuinfo-flag-9 level0 level1)))
|
||||
@@ -955,8 +888,6 @@
|
||||
(none)
|
||||
)
|
||||
|
||||
;; definition for function sp-relaunch-particle-2d
|
||||
;; WARN: Return type mismatch int vs none.
|
||||
(defun sp-relaunch-particle-2d ((arg0 object) (arg1 sparticle-launcher) (arg2 sparticle-cpuinfo) (arg3 sprite-vec-data-3d))
|
||||
(sp-relaunch-setup-fields arg0 arg1 arg2 arg3)
|
||||
(when (logtest? (-> arg2 flags) (sp-cpuinfo-flag distort))
|
||||
@@ -970,8 +901,6 @@
|
||||
(none)
|
||||
)
|
||||
|
||||
;; definition for function sp-relaunch-particle-3d
|
||||
;; WARN: Return type mismatch int vs none.
|
||||
(defun sp-relaunch-particle-3d ((arg0 object) (arg1 sparticle-launcher) (arg2 sparticle-cpuinfo) (arg3 sprite-vec-data-3d))
|
||||
(local-vars (v1-9 float) (v1-10 float))
|
||||
(rlet ((vf0 :class vf)
|
||||
@@ -1049,8 +978,6 @@
|
||||
)
|
||||
)
|
||||
|
||||
;; definition for method 9 of type sparticle-launch-control
|
||||
;; WARN: Return type mismatch int vs none.
|
||||
(defmethod initialize sparticle-launch-control ((obj sparticle-launch-control) (arg0 sparticle-launch-group) (arg1 process))
|
||||
(with-pp
|
||||
(let ((s5-0 0))
|
||||
@@ -1135,8 +1062,6 @@
|
||||
)
|
||||
)
|
||||
|
||||
;; definition for method 9 of type sparticle-launch-group
|
||||
;; WARN: Return type mismatch object vs sparticle-launch-control.
|
||||
(defmethod create-launch-control sparticle-launch-group ((obj sparticle-launch-group) (arg0 process))
|
||||
(let ((gp-0 (the-as object (new 'process 'sparticle-launch-control (-> obj length)))))
|
||||
(when (zero? (the-as sparticle-launch-control gp-0))
|
||||
@@ -1150,8 +1075,6 @@
|
||||
)
|
||||
)
|
||||
|
||||
;; definition for method 14 of type sparticle-launch-control
|
||||
;; WARN: Return type mismatch int vs none.
|
||||
(defmethod kill-and-free-particles sparticle-launch-control ((obj sparticle-launch-control))
|
||||
(countdown (v1-0 (-> obj length))
|
||||
(let ((a0-4 (-> obj data v1-0)))
|
||||
@@ -1168,15 +1091,12 @@
|
||||
(none)
|
||||
)
|
||||
|
||||
;; definition for method 15 of type sparticle-launch-control
|
||||
;; WARN: Return type mismatch int vs none.
|
||||
(defmethod kill-particles sparticle-launch-control ((obj sparticle-launch-control))
|
||||
(kill-all-particles-with-key obj)
|
||||
0
|
||||
(none)
|
||||
)
|
||||
|
||||
;; definition for method 10 of type sparticle-launch-control
|
||||
(defmethod is-visible? sparticle-launch-control ((obj sparticle-launch-control) (arg0 vector))
|
||||
(let* ((v1-0 (-> obj group))
|
||||
(f0-0 (-> v1-0 bounds r))
|
||||
@@ -1208,8 +1128,6 @@
|
||||
)
|
||||
)
|
||||
|
||||
;; definition for method 12 of type sparticle-launch-control
|
||||
;; INFO: Used lq/sq
|
||||
(defmethod spawn-with-matrix sparticle-launch-control ((obj sparticle-launch-control) (arg0 matrix))
|
||||
(let* ((a2-0 (-> obj origin))
|
||||
(a3-0 arg0)
|
||||
@@ -1256,8 +1174,6 @@
|
||||
(none)
|
||||
)
|
||||
|
||||
;; definition for method 13 of type sparticle-launch-control
|
||||
;; INFO: Used lq/sq
|
||||
(defmethod spawn-with-cspace sparticle-launch-control ((obj sparticle-launch-control) (arg0 cspace))
|
||||
(let* ((v1-0 (-> obj origin))
|
||||
(a3-0 (-> arg0 bone transform))
|
||||
@@ -1304,10 +1220,6 @@
|
||||
(none)
|
||||
)
|
||||
|
||||
;; definition for method 11 of type sparticle-launch-control
|
||||
;; INFO: Used lq/sq
|
||||
;; WARN: Return type mismatch int vs none.
|
||||
;; WARN: Function (method 11 sparticle-launch-control) has a return type of none, but the expression builder found a return statement.
|
||||
(defmethod spawn sparticle-launch-control ((obj sparticle-launch-control) (arg0 vector))
|
||||
(with-pp
|
||||
(set! (-> obj origin trans quad) (-> arg0 quad))
|
||||
@@ -1495,9 +1407,6 @@
|
||||
)
|
||||
)
|
||||
|
||||
;; definition for function execute-part-engine
|
||||
;; INFO: Used lq/sq
|
||||
;; WARN: Return type mismatch int vs none.
|
||||
(defun execute-part-engine ()
|
||||
(local-vars (sv-96 sparticle-launcher) (sv-104 int))
|
||||
(let ((gp-0 *sp-particle-system-2d*))
|
||||
@@ -1603,8 +1512,6 @@
|
||||
(none)
|
||||
)
|
||||
|
||||
;; definition for function sparticle-track-root
|
||||
;; WARN: Return type mismatch int vs none.
|
||||
(defun sparticle-track-root ((arg0 object) (arg1 sparticle-cpuinfo) (arg2 vector))
|
||||
(let ((v1-3 (-> arg1 key proc root trans)))
|
||||
(set! (-> arg2 x) (-> v1-3 x))
|
||||
@@ -1615,8 +1522,6 @@
|
||||
(none)
|
||||
)
|
||||
|
||||
;; definition for function sparticle-track-root-prim
|
||||
;; WARN: Return type mismatch int vs none.
|
||||
(defun sparticle-track-root-prim ((arg0 object) (arg1 sparticle-cpuinfo) (arg2 vector))
|
||||
(let ((v1-4 (-> (the-as collide-shape (-> arg1 key proc root)) root-prim prim-core)))
|
||||
(set! (-> arg2 x) (-> v1-4 world-sphere x))
|
||||
@@ -1627,8 +1532,6 @@
|
||||
(none)
|
||||
)
|
||||
|
||||
;; definition for function sparticle-track-joint
|
||||
;; WARN: Return type mismatch int vs none.
|
||||
(defun sparticle-track-joint ((arg0 sparticle-system) (arg1 sparticle-cpuinfo) (arg2 vector))
|
||||
(let* ((v1-1 (-> arg1 key proc))
|
||||
(a1-1 (the int (-> arg1 user-float)))
|
||||
@@ -1642,8 +1545,6 @@
|
||||
(none)
|
||||
)
|
||||
|
||||
;; definition for function sparticle-turn-to-vel
|
||||
;; WARN: Return type mismatch int vs none.
|
||||
(defun sparticle-turn-to-vel ((arg0 sparticle-system) (arg1 sparticle-cpuinfo) (arg2 sprite-vec-data-3d))
|
||||
(local-vars (v1-1 float) (v1-2 float))
|
||||
(rlet ((vf0 :class vf)
|
||||
@@ -1675,8 +1576,6 @@
|
||||
)
|
||||
)
|
||||
|
||||
;; definition for function birth-func-copy-rot-color
|
||||
;; WARN: Return type mismatch int vs none.
|
||||
(defun birth-func-copy-rot-color ((arg0 sparticle-system)
|
||||
(arg1 sparticle-cpuinfo)
|
||||
(arg2 sprite-vec-data-3d)
|
||||
@@ -1730,12 +1629,8 @@
|
||||
)
|
||||
)
|
||||
|
||||
;; definition for symbol *global-toggle*, type int
|
||||
(define *global-toggle* 0)
|
||||
|
||||
;; definition for function birth-func-copy2-rot-color
|
||||
;; INFO: Used lq/sq
|
||||
;; WARN: Return type mismatch int vs none.
|
||||
(defun birth-func-copy2-rot-color ((arg0 sparticle-system)
|
||||
(arg1 sparticle-cpuinfo)
|
||||
(arg2 sprite-vec-data-3d)
|
||||
@@ -1798,8 +1693,6 @@
|
||||
)
|
||||
)
|
||||
|
||||
;; definition for function birth-func-copy-omega-to-z
|
||||
;; WARN: Return type mismatch int vs none.
|
||||
(defun birth-func-copy-omega-to-z ((arg0 sparticle-system)
|
||||
(arg1 sparticle-cpuinfo)
|
||||
(arg2 sprite-vec-data-3d)
|
||||
@@ -1813,8 +1706,6 @@
|
||||
(none)
|
||||
)
|
||||
|
||||
;; definition for function birth-func-random-next-time
|
||||
;; WARN: Return type mismatch int vs none.
|
||||
(defun birth-func-random-next-time ((arg0 sparticle-system)
|
||||
(arg1 sparticle-cpuinfo)
|
||||
(arg2 sprite-vec-data-3d)
|
||||
@@ -1826,9 +1717,6 @@
|
||||
(none)
|
||||
)
|
||||
|
||||
;; definition for function sparticle-respawn-heights
|
||||
;; INFO: Used lq/sq
|
||||
;; WARN: Return type mismatch int vs none.
|
||||
(defun sparticle-respawn-heights ((arg0 sparticle-system) (arg1 sparticle-cpuinfo) (arg2 vector))
|
||||
(let ((gp-0 (the-as (array int32) (-> arg1 user-float))))
|
||||
(when (and (nonzero? gp-0)
|
||||
@@ -1869,9 +1757,6 @@
|
||||
(none)
|
||||
)
|
||||
|
||||
;; definition for function sparticle-respawn-timer
|
||||
;; INFO: Used lq/sq
|
||||
;; WARN: Return type mismatch int vs none.
|
||||
(defun sparticle-respawn-timer ((arg0 sparticle-system) (arg1 sparticle-cpuinfo) (arg2 vector))
|
||||
(when (<= (-> arg1 timer) 0)
|
||||
(let ((gp-0 (the-as object (-> arg1 user-float))))
|
||||
@@ -1910,8 +1795,6 @@
|
||||
(none)
|
||||
)
|
||||
|
||||
;; definition for function sparticle-texture-animate
|
||||
;; WARN: Return type mismatch symbol vs none.
|
||||
(defun sparticle-texture-animate ((arg0 sparticle-system) (arg1 sparticle-cpuinfo) (arg2 vector))
|
||||
(let ((v1-0 (the-as (array int32) (-> arg1 user-float))))
|
||||
(when (nonzero? v1-0)
|
||||
@@ -1949,11 +1832,6 @@
|
||||
(none)
|
||||
)
|
||||
|
||||
;; definition for function sparticle-texture-day-night
|
||||
;; INFO: Used lq/sq
|
||||
;; WARN: Return type mismatch symbol vs none.
|
||||
;; ERROR: Bad vector register dependency: vf1
|
||||
;; ERROR: Bad vector register dependency: vf2
|
||||
(defun sparticle-texture-day-night ((arg0 sparticle-system) (arg1 sparticle-cpuinfo) (arg2 sprite-vec-data-2d))
|
||||
(local-vars
|
||||
(v1-9 uint128)
|
||||
@@ -2073,8 +1951,6 @@
|
||||
)
|
||||
)
|
||||
|
||||
;; definition for function sparticle-mode-animate
|
||||
;; WARN: Return type mismatch int vs none.
|
||||
(defun sparticle-mode-animate ((arg0 sparticle-system) (arg1 sparticle-cpuinfo) (arg2 sprite-vec-data-2d))
|
||||
(let ((a0-1 (-> arg1 key))
|
||||
(v1-0 (the-as object (-> arg1 user-float)))
|
||||
@@ -2122,11 +1998,7 @@
|
||||
(none)
|
||||
)
|
||||
|
||||
;; definition for function sparticle-motion-blur
|
||||
;; ERROR: function was not converted to expressions. Cannot decompile.
|
||||
|
||||
;; definition (debug) for function sparticle-motion-blur-old
|
||||
;; WARN: Return type mismatch int vs object.
|
||||
(defun-debug sparticle-motion-blur-old ((arg0 object) (arg1 sparticle-cpuinfo) (arg2 sprite-vec-data-3d))
|
||||
"Unused"
|
||||
(let ((s2-0 (new 'stack-no-clear 'vector))
|
||||
@@ -2172,8 +2044,6 @@
|
||||
0
|
||||
)
|
||||
|
||||
;; definition for function sparticle-set-conerot
|
||||
;; WARN: Return type mismatch int vs none.
|
||||
(defun sparticle-set-conerot ((arg0 sparticle-launcher) (arg1 vector))
|
||||
(let ((s5-0 (get-field-spec-by-id arg0 (sp-field-id spt-conerot-x)))
|
||||
(s4-0 (get-field-spec-by-id arg0 (sp-field-id spt-conerot-y)))
|
||||
@@ -2187,7 +2057,6 @@
|
||||
(none)
|
||||
)
|
||||
|
||||
;; definition for function sparticle-next-on-mode-1
|
||||
(defun sparticle-next-on-mode-1 ((arg0 sparticle-system) (arg1 sparticle-cpuinfo) (arg2 sparticle-launchinfo))
|
||||
(if (zero? (-> arg1 key state-mode 0))
|
||||
(set! (-> arg1 next-time)
|
||||
@@ -2197,7 +2066,6 @@
|
||||
0.0
|
||||
)
|
||||
|
||||
;; definition for function check-ground-bounce
|
||||
(defun check-ground-bounce ((arg0 sparticle-system) (arg1 sparticle-cpuinfo) (arg2 sparticle-launchinfo))
|
||||
(let ((f0-1 (+ (-> arg1 key origin trans y) (-> arg1 user-float))))
|
||||
(when (and (< (-> arg2 launchrot y) f0-1) (< (-> arg1 vel-sxvel y) 0.0))
|
||||
@@ -2207,8 +2075,6 @@
|
||||
)
|
||||
)
|
||||
|
||||
;; definition for function check-drop-group-center
|
||||
;; WARN: Return type mismatch symbol vs none.
|
||||
(defun check-drop-group-center ((arg0 sparticle-system) (arg1 sparticle-cpuinfo) (arg2 sparticle-launchinfo))
|
||||
(let ((f0-0 (-> arg1 key origin trans y)))
|
||||
(if (< (-> arg2 launchrot y) f0-0)
|
||||
@@ -2218,24 +2084,20 @@
|
||||
(none)
|
||||
)
|
||||
|
||||
;; definition for function birth-func-y->userdata
|
||||
;; WARN: Return type mismatch int vs none.
|
||||
(defun birth-func-y->userdata ((arg0 sparticle-system) (arg1 sparticle-cpuinfo) (arg2 matrix))
|
||||
(+! (-> arg1 user-float) (-> arg2 vector 0 y))
|
||||
0
|
||||
(none)
|
||||
)
|
||||
|
||||
;; definition for function birth-func-ocean-height
|
||||
;; WARN: Return type mismatch int vs none.
|
||||
(defun birth-func-ocean-height ((arg0 sparticle-system) (arg1 sparticle-cpuinfo) (arg2 matrix))
|
||||
(set! (-> arg2 vector 0 y) (+ (ocean-method-11 *ocean* (-> arg2 vector) #t) (-> arg1 user-float)))
|
||||
(set! (-> arg2 vector 0 y)
|
||||
(+ (ocean-method-11 *ocean* (the-as vector (-> arg2 vector)) #t) (-> arg1 user-float))
|
||||
)
|
||||
0
|
||||
(none)
|
||||
)
|
||||
|
||||
;; definition for function birth-func-camera-orient
|
||||
;; WARN: Return type mismatch int vs none.
|
||||
(defun birth-func-camera-orient ((arg0 int) (arg1 sparticle-cpuinfo) (arg2 sparticle-launchinfo))
|
||||
(local-vars (v1-0 float) (v1-1 float))
|
||||
(rlet ((vf0 :class vf)
|
||||
@@ -2273,11 +2135,8 @@
|
||||
)
|
||||
)
|
||||
|
||||
;; definition for symbol *particle-quat*, type quaternion
|
||||
(define *particle-quat* (new 'static 'quaternion :w 1.0))
|
||||
|
||||
;; definition for function birth-func-set-quat
|
||||
;; WARN: Return type mismatch int vs none.
|
||||
(defun birth-func-set-quat ((arg0 int) (arg1 sparticle-cpuinfo) (arg2 sparticle-launchinfo))
|
||||
(local-vars (a0-2 float) (a0-3 float))
|
||||
(rlet ((vf0 :class vf)
|
||||
@@ -2310,11 +2169,8 @@
|
||||
)
|
||||
)
|
||||
|
||||
;; definition for symbol *particle-vel*, type vector
|
||||
(define *particle-vel* (new 'static 'vector :w 1.0))
|
||||
|
||||
;; definition for function birth-func-set-vel
|
||||
;; WARN: Return type mismatch int vs none.
|
||||
(defun birth-func-set-vel ((arg0 object) (arg1 sparticle-cpuinfo) (arg2 sparticle-launchinfo))
|
||||
(let ((v1-0 *particle-vel*))
|
||||
(set! (-> arg1 vel-sxvel x) (-> v1-0 x))
|
||||
@@ -2325,8 +2181,6 @@
|
||||
(none)
|
||||
)
|
||||
|
||||
;; definition for function birth-func-texture-group
|
||||
;; WARN: Return type mismatch int vs none.
|
||||
(defun birth-func-texture-group ((arg0 int) (arg1 sparticle-cpuinfo) (arg2 sparticle-launchinfo))
|
||||
(let ((s5-0 (the-as (array int32) (-> arg1 user-float))))
|
||||
(when (nonzero? s5-0)
|
||||
@@ -2343,8 +2197,6 @@
|
||||
(none)
|
||||
)
|
||||
|
||||
;; definition for method 9 of type sparticle-launcher
|
||||
;; WARN: new jak 2 until loop case, check carefully
|
||||
(defmethod get-field-spec-by-id sparticle-launcher ((obj sparticle-launcher) (arg0 sp-field-id))
|
||||
"Returns the [[sp-field-init-spec]] that has the matching [[sp-field-id]]"
|
||||
(let ((v1-0 0))
|
||||
@@ -2367,8 +2219,6 @@
|
||||
(the-as sp-field-init-spec #f)
|
||||
)
|
||||
|
||||
;; definition for method 10 of type sparticle-launcher
|
||||
;; WARN: Return type mismatch int vs none.
|
||||
(defmethod setup-user-array sparticle-launcher ((obj sparticle-launcher) (arg0 string))
|
||||
(let ((s5-0 (get-field-spec-by-id obj (sp-field-id spt-texture)))
|
||||
(v1-1 (lookup-texture-id-by-name arg0 (the-as string #f)))
|
||||
|
||||
+1
-38
@@ -1,7 +1,5 @@
|
||||
;;-*-Lisp-*-
|
||||
(in-package goal)
|
||||
|
||||
;; definition of type rigid-body-info
|
||||
(deftype rigid-body-info (structure)
|
||||
((mass float :offset-assert 0)
|
||||
(inv-mass float :offset-assert 4)
|
||||
@@ -23,7 +21,6 @@
|
||||
)
|
||||
)
|
||||
|
||||
;; definition for method 3 of type rigid-body-info
|
||||
(defmethod inspect rigid-body-info ((obj rigid-body-info))
|
||||
(when (not obj)
|
||||
(set! obj obj)
|
||||
@@ -45,7 +42,6 @@
|
||||
obj
|
||||
)
|
||||
|
||||
;; definition of type rigid-body-object-extra-info
|
||||
(deftype rigid-body-object-extra-info (structure)
|
||||
((max-time-step float :offset-assert 0)
|
||||
(gravity meters :offset-assert 4)
|
||||
@@ -58,7 +54,6 @@
|
||||
:flag-assert #x900000010
|
||||
)
|
||||
|
||||
;; definition for method 3 of type rigid-body-object-extra-info
|
||||
(defmethod inspect rigid-body-object-extra-info ((obj rigid-body-object-extra-info))
|
||||
(when (not obj)
|
||||
(set! obj obj)
|
||||
@@ -73,7 +68,6 @@
|
||||
obj
|
||||
)
|
||||
|
||||
;; definition of type rigid-body-object-constants
|
||||
(deftype rigid-body-object-constants (structure)
|
||||
((info rigid-body-info :inline :offset-assert 0)
|
||||
(mass float :offset 0)
|
||||
@@ -101,7 +95,6 @@
|
||||
:flag-assert #x9000000d0
|
||||
)
|
||||
|
||||
;; definition for method 3 of type rigid-body-object-constants
|
||||
(defmethod inspect rigid-body-object-constants ((obj rigid-body-object-constants))
|
||||
(when (not obj)
|
||||
(set! obj obj)
|
||||
@@ -131,7 +124,6 @@
|
||||
obj
|
||||
)
|
||||
|
||||
;; definition of type rigid-body-impact
|
||||
(deftype rigid-body-impact (structure)
|
||||
((point vector :inline :offset-assert 0)
|
||||
(normal vector :inline :offset-assert 16)
|
||||
@@ -146,7 +138,6 @@
|
||||
:flag-assert #x900000040
|
||||
)
|
||||
|
||||
;; definition for method 3 of type rigid-body-impact
|
||||
(defmethod inspect rigid-body-impact ((obj rigid-body-impact))
|
||||
(when (not obj)
|
||||
(set! obj obj)
|
||||
@@ -164,7 +155,6 @@
|
||||
obj
|
||||
)
|
||||
|
||||
;; definition of type rigid-body
|
||||
(deftype rigid-body (structure)
|
||||
((work rigid-body-work :offset-assert 0)
|
||||
(info rigid-body-info :offset-assert 4)
|
||||
@@ -215,7 +205,6 @@
|
||||
)
|
||||
)
|
||||
|
||||
;; definition for method 3 of type rigid-body
|
||||
(defmethod inspect rigid-body ((obj rigid-body))
|
||||
(when (not obj)
|
||||
(set! obj obj)
|
||||
@@ -265,7 +254,6 @@
|
||||
obj
|
||||
)
|
||||
|
||||
;; definition of type rigid-body-control
|
||||
(deftype rigid-body-control (basic)
|
||||
((process process :offset-assert 4)
|
||||
(state rigid-body :inline :offset-assert 16)
|
||||
@@ -313,7 +301,6 @@
|
||||
)
|
||||
)
|
||||
|
||||
;; definition for method 3 of type rigid-body-control
|
||||
(defmethod inspect rigid-body-control ((obj rigid-body-control))
|
||||
(when (not obj)
|
||||
(set! obj obj)
|
||||
@@ -365,108 +352,88 @@
|
||||
obj
|
||||
)
|
||||
|
||||
;; definition for method 9 of type rigid-body-control
|
||||
(defmethod rigid-body-control-method-9 rigid-body-control ((obj rigid-body-control) (arg0 collide-shape-moving) (arg1 float))
|
||||
(rigid-body-method-9 (-> obj state) arg0 arg1)
|
||||
(none)
|
||||
)
|
||||
|
||||
;; definition for method 10 of type rigid-body-control
|
||||
;; INFO: this function exists in multiple non-identical object files
|
||||
;; WARN: Return type mismatch none vs object.
|
||||
(defmethod rigid-body-control-method-10 rigid-body-control ((obj rigid-body-control) (arg0 rigid-body-object) (arg1 float) (arg2 float))
|
||||
(the-as object (rigid-body-method-10 (-> obj state)))
|
||||
)
|
||||
|
||||
;; definition for method 11 of type rigid-body-control
|
||||
(defmethod rigid-body-control-method-11 rigid-body-control ((obj rigid-body-control) (arg0 collide-shape-moving))
|
||||
(rigid-body-method-11 (-> obj state) arg0)
|
||||
(none)
|
||||
)
|
||||
|
||||
;; definition for method 12 of type rigid-body-control
|
||||
(defmethod rigid-body-control-method-12 rigid-body-control ((obj rigid-body-control) (arg0 float))
|
||||
(rigid-body-method-12 (-> obj state) arg0)
|
||||
(none)
|
||||
)
|
||||
|
||||
;; definition for method 13 of type rigid-body-control
|
||||
(defmethod rigid-body-control-method-13 rigid-body-control ((obj rigid-body-control))
|
||||
(rigid-body-method-13 (-> obj state))
|
||||
(none)
|
||||
)
|
||||
|
||||
;; definition for method 14 of type rigid-body-control
|
||||
(defmethod rigid-body-control-method-14 rigid-body-control ((obj rigid-body-control) (arg0 float))
|
||||
(rigid-body-method-14 (-> obj state) arg0)
|
||||
(none)
|
||||
)
|
||||
|
||||
;; definition for method 15 of type rigid-body-control
|
||||
(defmethod clear-force-torque! rigid-body-control ((obj rigid-body-control))
|
||||
(clear-force-torque! (-> obj state))
|
||||
(none)
|
||||
)
|
||||
|
||||
;; definition for method 16 of type rigid-body-control
|
||||
(defmethod clear-momentum! rigid-body-control ((obj rigid-body-control))
|
||||
(clear-momentum! (-> obj state))
|
||||
(none)
|
||||
)
|
||||
|
||||
;; definition for method 17 of type rigid-body-control
|
||||
(defmethod rigid-body-control-method-17 rigid-body-control ((obj rigid-body-control) (arg0 vector) (arg1 vector))
|
||||
(rigid-body-method-18 (-> obj state) arg0 arg1)
|
||||
(none)
|
||||
)
|
||||
|
||||
;; definition for method 18 of type rigid-body-control
|
||||
(defmethod rigid-body-control-method-18 rigid-body-control ((obj rigid-body-control) (arg0 vector) (arg1 vector))
|
||||
(rigid-body-method-19 (-> obj state) arg0 arg1)
|
||||
(none)
|
||||
)
|
||||
|
||||
;; definition for method 19 of type rigid-body-control
|
||||
(defmethod rigid-body-control-method-19 rigid-body-control ((obj rigid-body-control) (arg0 vector))
|
||||
(rigid-body-method-20 (-> obj state) arg0)
|
||||
(none)
|
||||
)
|
||||
|
||||
;; definition for method 20 of type rigid-body-control
|
||||
(defmethod rigid-body-control-method-20 rigid-body-control ((obj rigid-body-control) (arg0 vector) (arg1 vector) (arg2 float))
|
||||
(rigid-body-method-21 (-> obj state) arg0 arg1 arg2)
|
||||
(none)
|
||||
)
|
||||
|
||||
;; definition for method 21 of type rigid-body-control
|
||||
(defmethod rigid-body-control-method-21 rigid-body-control ((obj rigid-body-control) (arg0 vector) (arg1 vector))
|
||||
(rigid-body-method-22 (-> obj state) arg0 arg1)
|
||||
)
|
||||
|
||||
;; definition for method 22 of type rigid-body-control
|
||||
(defmethod rigid-body-control-method-22 rigid-body-control ((obj rigid-body-control) (arg0 vector))
|
||||
(rigid-body-method-23 (-> obj state) arg0)
|
||||
)
|
||||
|
||||
;; definition for method 23 of type rigid-body-control
|
||||
(defmethod rigid-body-control-method-23 rigid-body-control ((obj rigid-body-control))
|
||||
(rigid-body-method-24 (-> obj state))
|
||||
(none)
|
||||
)
|
||||
|
||||
;; definition for method 24 of type rigid-body-control
|
||||
(defmethod rigid-body-control-method-24 rigid-body-control ((obj rigid-body-control) (arg0 rigid-body-info) (arg1 vector) (arg2 quaternion) (arg3 basic))
|
||||
(rigid-body-method-25 (-> obj state) arg0 arg1 arg2 (the-as function arg3))
|
||||
(none)
|
||||
)
|
||||
|
||||
;; definition for method 25 of type rigid-body-control
|
||||
(defmethod rigid-body-control-method-25 rigid-body-control ((obj rigid-body-control) (arg0 vector) (arg1 quaternion))
|
||||
(rigid-body-method-26 (-> obj state) arg0 arg1)
|
||||
(none)
|
||||
)
|
||||
|
||||
;; definition of type rigid-body-object
|
||||
(deftype rigid-body-object (process-focusable)
|
||||
((root-override-2 collide-shape-moving :offset 128)
|
||||
(info rigid-body-object-constants :offset-assert 204)
|
||||
@@ -485,7 +452,7 @@
|
||||
(:methods
|
||||
(idle () _type_ :state 27)
|
||||
(active () _type_ :state 28)
|
||||
(rigid-body-object-method-29 (_type_) none 29)
|
||||
(rigid-body-object-method-29 (_type_ float) none 29)
|
||||
(rigid-body-object-method-30 (_type_) none 30)
|
||||
(rigid-body-object-method-31 (_type_ rigid-body-object-constants) none 31)
|
||||
(rigid-body-object-method-32 (_type_) none 32)
|
||||
@@ -512,7 +479,6 @@
|
||||
)
|
||||
)
|
||||
|
||||
;; definition for method 3 of type rigid-body-object
|
||||
(defmethod inspect rigid-body-object ((obj rigid-body-object))
|
||||
(when (not obj)
|
||||
(set! obj obj)
|
||||
@@ -563,7 +529,6 @@
|
||||
obj
|
||||
)
|
||||
|
||||
;; definition of type rigid-body-queue
|
||||
(deftype rigid-body-queue (structure)
|
||||
((count int8 :offset-assert 0)
|
||||
(array uint64 128 :offset 8)
|
||||
@@ -583,7 +548,6 @@
|
||||
)
|
||||
)
|
||||
|
||||
;; definition for method 3 of type rigid-body-queue
|
||||
(defmethod inspect rigid-body-queue ((obj rigid-body-queue))
|
||||
(when (not obj)
|
||||
(set! obj obj)
|
||||
@@ -596,5 +560,4 @@
|
||||
obj
|
||||
)
|
||||
|
||||
;; failed to figure out what this is:
|
||||
0
|
||||
|
||||
+6
-131
@@ -1,7 +1,5 @@
|
||||
;;-*-Lisp-*-
|
||||
(in-package goal)
|
||||
|
||||
;; definition of type rigid-body-work
|
||||
(deftype rigid-body-work (structure)
|
||||
((max-ang-momentum float :offset-assert 0)
|
||||
(max-ang-velocity float :offset-assert 4)
|
||||
@@ -11,7 +9,6 @@
|
||||
:flag-assert #x900000008
|
||||
)
|
||||
|
||||
;; definition for method 3 of type rigid-body-work
|
||||
(defmethod inspect rigid-body-work ((obj rigid-body-work))
|
||||
(when (not obj)
|
||||
(set! obj obj)
|
||||
@@ -24,10 +21,8 @@
|
||||
obj
|
||||
)
|
||||
|
||||
;; definition for symbol *rigid-body-work*, type rigid-body-work
|
||||
(define *rigid-body-work* (new 'static 'rigid-body-work))
|
||||
|
||||
;; definition for method 0 of type rigid-body-control
|
||||
(defmethod new rigid-body-control ((allocation symbol) (type-to-make type) (arg0 process))
|
||||
(let ((v0-0 (object-new allocation type-to-make (the-as int (-> type-to-make size)))))
|
||||
(set! (-> v0-0 process) arg0)
|
||||
@@ -35,14 +30,11 @@
|
||||
)
|
||||
)
|
||||
|
||||
;; definition for method 7 of type rigid-body-control
|
||||
(defmethod relocate rigid-body-control ((obj rigid-body-control) (arg0 int))
|
||||
(&+! (-> obj process) arg0)
|
||||
obj
|
||||
)
|
||||
|
||||
;; definition for method 9 of type rigid-body-info
|
||||
;; WARN: Return type mismatch int vs none.
|
||||
(defmethod rigid-body-info-method-9 rigid-body-info ((obj rigid-body-info))
|
||||
(let ((f24-0 (-> obj mass))
|
||||
(f28-0 (-> obj inertial-tensor-box 0))
|
||||
@@ -80,9 +72,6 @@
|
||||
(none)
|
||||
)
|
||||
|
||||
;; definition for method 16 of type rigid-body
|
||||
;; INFO: Used lq/sq
|
||||
;; WARN: Return type mismatch int vs none.
|
||||
(defmethod clear-force-torque! rigid-body ((obj rigid-body))
|
||||
(set! (-> obj force quad) (the-as uint128 0))
|
||||
(set! (-> obj torque quad) (the-as uint128 0))
|
||||
@@ -90,9 +79,6 @@
|
||||
(none)
|
||||
)
|
||||
|
||||
;; definition for method 17 of type rigid-body
|
||||
;; INFO: Used lq/sq
|
||||
;; WARN: Return type mismatch int vs none.
|
||||
(defmethod clear-momentum! rigid-body ((obj rigid-body))
|
||||
(set! (-> obj lin-momentum quad) (the-as uint128 0))
|
||||
(set! (-> obj ang-momentum quad) (the-as uint128 0))
|
||||
@@ -100,8 +86,6 @@
|
||||
(none)
|
||||
)
|
||||
|
||||
;; definition for method 24 of type rigid-body
|
||||
;; WARN: Return type mismatch int vs none.
|
||||
(defmethod rigid-body-method-24 rigid-body ((obj rigid-body))
|
||||
(when #t
|
||||
(quaternion->matrix (-> obj matrix) (-> obj rotation))
|
||||
@@ -114,8 +98,6 @@
|
||||
(none)
|
||||
)
|
||||
|
||||
;; definition for method 26 of type rigid-body
|
||||
;; WARN: Return type mismatch int vs none.
|
||||
(defmethod rigid-body-method-26 rigid-body ((obj rigid-body) (arg0 vector) (arg1 quaternion))
|
||||
(let ((s3-0 (new 'stack-no-clear 'inline-array 'vector 8)))
|
||||
(quaternion->matrix (the-as matrix (-> s3-0 1)) arg1)
|
||||
@@ -129,9 +111,6 @@
|
||||
(none)
|
||||
)
|
||||
|
||||
;; definition for method 25 of type rigid-body
|
||||
;; INFO: Used lq/sq
|
||||
;; WARN: Return type mismatch int vs none.
|
||||
(defmethod rigid-body-method-25 rigid-body ((obj rigid-body) (arg0 rigid-body-info) (arg1 vector) (arg2 quaternion) (arg3 function))
|
||||
(set! (-> obj work) *rigid-body-work*)
|
||||
(set! (-> obj info) arg0)
|
||||
@@ -149,7 +128,6 @@
|
||||
(none)
|
||||
)
|
||||
|
||||
;; definition for method 22 of type rigid-body
|
||||
(defmethod rigid-body-method-22 rigid-body ((obj rigid-body) (arg0 vector) (arg1 vector))
|
||||
(let ((v1-1 (vector-! (new 'stack-no-clear 'vector) arg0 (-> obj position))))
|
||||
(vector-cross! arg1 (-> obj ang-velocity) v1-1)
|
||||
@@ -158,8 +136,6 @@
|
||||
arg1
|
||||
)
|
||||
|
||||
;; definition for function matrix-3x3-triple-transpose-product
|
||||
;; INFO: Used lq/sq
|
||||
(defun matrix-3x3-triple-transpose-product ((arg0 matrix) (arg1 matrix) (arg2 matrix))
|
||||
(let ((s5-0 (new 'stack-no-clear 'inline-array 'matrix 3)))
|
||||
(let* ((v1-0 (-> s5-0 0))
|
||||
@@ -182,9 +158,6 @@
|
||||
arg0
|
||||
)
|
||||
|
||||
;; definition for method 12 of type rigid-body
|
||||
;; INFO: Used lq/sq
|
||||
;; WARN: Return type mismatch int vs none.
|
||||
(defmethod rigid-body-method-12 rigid-body ((obj rigid-body) (arg0 float))
|
||||
(local-vars (v1-6 float))
|
||||
(rlet ((acc :class vf)
|
||||
@@ -250,8 +223,6 @@
|
||||
)
|
||||
)
|
||||
|
||||
;; definition for method 13 of type rigid-body
|
||||
;; WARN: Return type mismatch int vs none.
|
||||
(defmethod rigid-body-method-13 rigid-body ((obj rigid-body))
|
||||
(let ((v1-0 (-> obj info)))
|
||||
(vector-float*! (-> obj lin-velocity) (-> obj lin-momentum) (-> v1-0 inv-mass))
|
||||
@@ -262,9 +233,6 @@
|
||||
(none)
|
||||
)
|
||||
|
||||
;; definition for method 14 of type rigid-body
|
||||
;; INFO: Used lq/sq
|
||||
;; WARN: Return type mismatch int vs none.
|
||||
(defmethod rigid-body-method-14 rigid-body ((obj rigid-body) (arg0 float))
|
||||
(rlet ((acc :class vf)
|
||||
(vf0 :class vf)
|
||||
@@ -306,7 +274,6 @@
|
||||
)
|
||||
)
|
||||
|
||||
;; definition for function damping-time-adjust
|
||||
(defun damping-time-adjust ((arg0 float) (arg1 float))
|
||||
(let ((f0-0 0.0)
|
||||
(f1-0 1.0)
|
||||
@@ -317,8 +284,6 @@
|
||||
)
|
||||
)
|
||||
|
||||
;; definition for method 9 of type rigid-body
|
||||
;; WARN: Return type mismatch int vs none.
|
||||
(defmethod rigid-body-method-9 rigid-body ((obj rigid-body) (arg0 collide-shape-moving) (arg1 float))
|
||||
(rigid-body-method-12 obj arg1)
|
||||
(let ((v1-2 (-> obj info)))
|
||||
@@ -354,10 +319,7 @@
|
||||
(none)
|
||||
)
|
||||
|
||||
;; definition for method 67 of type collide-shape-moving
|
||||
;; ERROR: function was not converted to expressions. Cannot decompile.
|
||||
|
||||
;; definition for function transform-rigid-body-prims
|
||||
(defun transform-rigid-body-prims ((arg0 collide-shape-prim) (arg1 matrix))
|
||||
(rlet ((acc :class vf)
|
||||
(vf0 :class vf)
|
||||
@@ -396,14 +358,8 @@
|
||||
)
|
||||
)
|
||||
|
||||
;; definition for method 63 of type collide-shape-moving
|
||||
;; ERROR: function was not converted to expressions. Cannot decompile.
|
||||
|
||||
;; definition for method 15 of type rigid-body
|
||||
;; ERROR: function was not converted to expressions. Cannot decompile.
|
||||
|
||||
;; definition for method 18 of type rigid-body
|
||||
;; WARN: Return type mismatch int vs none.
|
||||
(defmethod rigid-body-method-18 rigid-body ((obj rigid-body) (arg0 vector) (arg1 vector))
|
||||
(vector+! (-> obj force) (-> obj force) arg1)
|
||||
(let ((a3-1 (new 'stack-no-clear 'vector))
|
||||
@@ -417,8 +373,6 @@
|
||||
(none)
|
||||
)
|
||||
|
||||
;; definition for method 21 of type rigid-body
|
||||
;; WARN: Return type mismatch int vs none.
|
||||
(defmethod rigid-body-method-21 rigid-body ((obj rigid-body) (arg0 vector) (arg1 vector) (arg2 float))
|
||||
(vector+! (-> obj force) (-> obj force) arg1)
|
||||
(let* ((t0-2 (vector-! (new 'stack-no-clear 'vector) arg0 (-> obj position)))
|
||||
@@ -435,8 +389,6 @@
|
||||
(none)
|
||||
)
|
||||
|
||||
;; definition for method 19 of type rigid-body
|
||||
;; WARN: Return type mismatch int vs none.
|
||||
(defmethod rigid-body-method-19 rigid-body ((obj rigid-body) (arg0 vector) (arg1 vector))
|
||||
(let ((s5-0 (new 'stack-no-clear 'vector))
|
||||
(s4-0 (new 'stack-no-clear 'vector))
|
||||
@@ -451,15 +403,12 @@
|
||||
(none)
|
||||
)
|
||||
|
||||
;; definition for method 20 of type rigid-body
|
||||
;; WARN: Return type mismatch int vs none.
|
||||
(defmethod rigid-body-method-20 rigid-body ((obj rigid-body) (arg0 vector))
|
||||
(vector+! (-> obj force) (-> obj force) arg0)
|
||||
0
|
||||
(none)
|
||||
)
|
||||
|
||||
;; definition for method 23 of type rigid-body
|
||||
(defmethod rigid-body-method-23 rigid-body ((obj rigid-body) (arg0 vector))
|
||||
(let ((gp-0 (new 'stack-no-clear 'vector)))
|
||||
(vector-rotate*! gp-0 (-> obj info cm-offset-joint) (-> obj matrix))
|
||||
@@ -468,8 +417,6 @@
|
||||
arg0
|
||||
)
|
||||
|
||||
;; definition for method 28 of type rigid-body
|
||||
;; WARN: Return type mismatch int vs none.
|
||||
(defmethod print-force-torque rigid-body ((obj rigid-body) (arg0 object))
|
||||
(format arg0 " force ~M ~M ~M" (-> obj force x) (-> obj force y) (-> obj force z))
|
||||
(format arg0 " torque ~M ~M ~M~%" (-> obj torque x) (-> obj torque y) (-> obj torque z))
|
||||
@@ -477,8 +424,6 @@
|
||||
(none)
|
||||
)
|
||||
|
||||
;; definition for method 30 of type rigid-body
|
||||
;; WARN: Return type mismatch int vs none.
|
||||
(defmethod print-momentum rigid-body ((obj rigid-body) (arg0 object))
|
||||
(format arg0 " lin-mom ~M ~M ~M" (-> obj lin-momentum x) (-> obj lin-momentum y) (-> obj lin-momentum z))
|
||||
(format arg0 " ang-mom ~M ~M ~M~%" (-> obj ang-momentum x) (-> obj ang-momentum y) (-> obj ang-momentum z))
|
||||
@@ -486,8 +431,6 @@
|
||||
(none)
|
||||
)
|
||||
|
||||
;; definition for method 31 of type rigid-body
|
||||
;; WARN: Return type mismatch int vs none.
|
||||
(defmethod print-velocity rigid-body ((obj rigid-body) (arg0 object))
|
||||
(format arg0 " lin-vel ~M ~M ~M" (-> obj lin-velocity x) (-> obj lin-velocity y) (-> obj lin-velocity z))
|
||||
(format arg0 " ang-vel ~f ~f ~f~%" (-> obj ang-velocity x) (-> obj ang-velocity y) (-> obj ang-velocity z))
|
||||
@@ -495,8 +438,6 @@
|
||||
(none)
|
||||
)
|
||||
|
||||
;; definition for method 29 of type rigid-body
|
||||
;; WARN: Return type mismatch int vs none.
|
||||
(defmethod print-position-rotation rigid-body ((obj rigid-body) (arg0 object))
|
||||
(format arg0 " position ~M ~M ~M" (-> obj position x) (-> obj position y) (-> obj position z))
|
||||
(format
|
||||
@@ -511,8 +452,6 @@
|
||||
(none)
|
||||
)
|
||||
|
||||
;; definition for method 27 of type rigid-body
|
||||
;; WARN: Return type mismatch int vs none.
|
||||
(defmethod print-physics rigid-body ((obj rigid-body) (arg0 object))
|
||||
(print-force-torque obj arg0)
|
||||
(print-position-rotation obj arg0)
|
||||
@@ -522,9 +461,6 @@
|
||||
(none)
|
||||
)
|
||||
|
||||
;; definition for method 10 of type rigid-body-control
|
||||
;; INFO: this function exists in multiple non-identical object files
|
||||
;; WARN: Return type mismatch int vs object.
|
||||
(defmethod rigid-body-control-method-10 rigid-body-control ((obj rigid-body-control) (arg0 rigid-body-object) (arg1 float) (arg2 float))
|
||||
(let* ((s4-1 (max 1 (min 4 (+ (the int (* 0.9999 (/ arg1 arg2))) 1))))
|
||||
(f30-0 (/ arg1 (the float s4-1)))
|
||||
@@ -544,9 +480,6 @@
|
||||
(the-as object 0)
|
||||
)
|
||||
|
||||
;; definition for method 11 of type rigid-body
|
||||
;; INFO: Used lq/sq
|
||||
;; WARN: Return type mismatch int vs none.
|
||||
(defmethod rigid-body-method-11 rigid-body ((obj rigid-body) (arg0 collide-shape-moving))
|
||||
(quaternion-copy! (-> arg0 quat) (-> obj rotation))
|
||||
(rigid-body-method-23 obj (-> arg0 trans))
|
||||
@@ -555,13 +488,10 @@
|
||||
(none)
|
||||
)
|
||||
|
||||
;; definition for method 26 of type rigid-body-object
|
||||
(defmethod process-focusable-method-26 rigid-body-object ((obj rigid-body-object))
|
||||
(-> obj info inv-mass)
|
||||
)
|
||||
|
||||
;; definition for method 35 of type rigid-body-object
|
||||
;; WARN: Return type mismatch int vs none.
|
||||
(defmethod rigid-body-object-method-35 rigid-body-object ((obj rigid-body-object))
|
||||
(let ((a0-1 (-> obj info name)))
|
||||
(when (nonzero? a0-1)
|
||||
@@ -570,15 +500,11 @@
|
||||
)
|
||||
)
|
||||
((method-of-type rigid-body-info rigid-body-info-method-9) (the-as rigid-body-info (&-> (-> obj info) mass)))
|
||||
(set! (-> obj rbody state force-callback)
|
||||
(the-as (function object float none) (method-of-object obj rigid-body-object-method-29))
|
||||
)
|
||||
(set! (-> obj rbody state force-callback) (method-of-object obj rigid-body-object-method-29))
|
||||
0
|
||||
(none)
|
||||
)
|
||||
|
||||
;; definition for method 50 of type rigid-body-object
|
||||
;; WARN: Return type mismatch int vs none.
|
||||
(defmethod rigid-body-object-method-50 rigid-body-object ((obj rigid-body-object) (arg0 float))
|
||||
(when (logtest? (-> obj flags) (rigid-body-object-flag player-impulse-force player-contact-force))
|
||||
(when (logtest? (-> obj flags) (rigid-body-object-flag player-impulse-force))
|
||||
@@ -596,20 +522,16 @@
|
||||
(none)
|
||||
)
|
||||
|
||||
;; definition for method 29 of type rigid-body-object
|
||||
;; WARN: Return type mismatch int vs none.
|
||||
(defmethod rigid-body-object-method-29 rigid-body-object ((obj rigid-body-object))
|
||||
(let ((a1-0 (new 'stack-no-clear 'vector)))
|
||||
(vector-reset! a1-0)
|
||||
(set! (-> a1-0 y) (* -1.0 (-> obj info gravity) (-> obj rbody state info mass)))
|
||||
(rigid-body-method-20 (-> obj rbody state) a1-0)
|
||||
(defmethod rigid-body-object-method-29 rigid-body-object ((obj rigid-body-object) (arg0 float))
|
||||
(let ((a1-1 (new 'stack-no-clear 'vector)))
|
||||
(vector-reset! a1-1)
|
||||
(set! (-> a1-1 y) (* -1.0 (-> obj info gravity) (-> obj rbody state info mass)))
|
||||
(rigid-body-method-20 (-> obj rbody state) a1-1)
|
||||
)
|
||||
0
|
||||
(none)
|
||||
)
|
||||
|
||||
;; definition for method 30 of type rigid-body-object
|
||||
;; WARN: Return type mismatch int vs none.
|
||||
(defmethod rigid-body-object-method-30 rigid-body-object ((obj rigid-body-object))
|
||||
(with-pp
|
||||
(rigid-body-control-method-10 (-> obj rbody) obj (-> pp clock seconds-per-frame) (-> obj max-time-step))
|
||||
@@ -619,32 +541,24 @@
|
||||
)
|
||||
)
|
||||
|
||||
;; definition for method 51 of type rigid-body-object
|
||||
;; WARN: Return type mismatch int vs none.
|
||||
(defmethod rigid-body-object-method-51 rigid-body-object ((obj rigid-body-object))
|
||||
(rigid-body-control-method-10 (-> obj rbody) obj (-> obj rbody state time-remaining) (-> obj max-time-step))
|
||||
0
|
||||
(none)
|
||||
)
|
||||
|
||||
;; definition for method 52 of type rigid-body-object
|
||||
;; WARN: Return type mismatch int vs none.
|
||||
(defmethod rigid-body-object-method-52 rigid-body-object ((obj rigid-body-object))
|
||||
(logclear! (-> obj flags) (rigid-body-object-flag player-impulse-force player-contact-force))
|
||||
0
|
||||
(none)
|
||||
)
|
||||
|
||||
;; definition for method 34 of type rigid-body-object
|
||||
;; WARN: Return type mismatch int vs none.
|
||||
(defmethod rigid-body-object-method-34 rigid-body-object ((obj rigid-body-object))
|
||||
(go (method-of-object obj idle))
|
||||
0
|
||||
(none)
|
||||
)
|
||||
|
||||
;; definition for method 31 of type rigid-body-object
|
||||
;; WARN: Return type mismatch int vs none.
|
||||
(defmethod rigid-body-object-method-31 rigid-body-object ((obj rigid-body-object) (arg0 rigid-body-object-constants))
|
||||
(set! (-> obj info) arg0)
|
||||
(set! (-> obj rbody) (new 'process 'rigid-body-control obj))
|
||||
@@ -667,8 +581,6 @@
|
||||
(none)
|
||||
)
|
||||
|
||||
;; definition for method 32 of type rigid-body-object
|
||||
;; WARN: Return type mismatch int vs none.
|
||||
(defmethod rigid-body-object-method-32 rigid-body-object ((obj rigid-body-object))
|
||||
(let ((s5-0 (new 'process 'collide-shape-moving obj (collide-list-enum hit-by-player))))
|
||||
(set! (-> s5-0 dynam) (copy *standard-dynamics* 'process))
|
||||
@@ -695,7 +607,6 @@
|
||||
(none)
|
||||
)
|
||||
|
||||
;; definition for symbol *rigid-body-object-constants*, type rigid-body-object-constants
|
||||
(define *rigid-body-object-constants* (new 'static 'rigid-body-object-constants
|
||||
:mass 2.0
|
||||
:inv-mass 0.5
|
||||
@@ -715,16 +626,12 @@
|
||||
)
|
||||
)
|
||||
|
||||
;; definition for method 33 of type rigid-body-object
|
||||
;; WARN: Return type mismatch int vs none.
|
||||
(defmethod rigid-body-object-method-33 rigid-body-object ((obj rigid-body-object))
|
||||
(rigid-body-object-method-31 obj *rigid-body-object-constants*)
|
||||
0
|
||||
(none)
|
||||
)
|
||||
|
||||
;; definition for method 11 of type rigid-body-object
|
||||
;; WARN: Return type mismatch int vs none.
|
||||
(defmethod init-from-entity! rigid-body-object ((obj rigid-body-object) (arg0 entity-actor))
|
||||
(rigid-body-object-method-32 obj)
|
||||
(process-drawable-from-entity! obj arg0)
|
||||
@@ -734,15 +641,11 @@
|
||||
(none)
|
||||
)
|
||||
|
||||
;; definition for method 36 of type rigid-body-object
|
||||
;; WARN: Return type mismatch int vs none.
|
||||
(defmethod rigid-body-object-method-36 rigid-body-object ()
|
||||
0
|
||||
(none)
|
||||
)
|
||||
|
||||
;; definition for method 37 of type rigid-body-object
|
||||
;; WARN: Return type mismatch int vs none.
|
||||
(defmethod rigid-body-object-method-37 rigid-body-object ((obj rigid-body-object))
|
||||
(rigid-body-object-method-30 obj)
|
||||
((method-of-object obj rigid-body-object-method-36))
|
||||
@@ -756,8 +659,6 @@
|
||||
(none)
|
||||
)
|
||||
|
||||
;; definition for method 40 of type rigid-body-object
|
||||
;; WARN: Return type mismatch int vs none.
|
||||
(defmethod rigid-body-object-method-40 rigid-body-object ((obj rigid-body-object))
|
||||
(logior! (-> obj flags) (rigid-body-object-flag enable-collision))
|
||||
(let ((v1-3 (-> obj root-override-2 root-prim)))
|
||||
@@ -768,8 +669,6 @@
|
||||
(none)
|
||||
)
|
||||
|
||||
;; definition for method 41 of type rigid-body-object
|
||||
;; WARN: Return type mismatch int vs none.
|
||||
(defmethod rigid-body-object-method-41 rigid-body-object ((obj rigid-body-object))
|
||||
(logclear! (-> obj flags) (rigid-body-object-flag enable-collision))
|
||||
(let ((v1-3 (-> obj root-override-2 root-prim)))
|
||||
@@ -781,8 +680,6 @@
|
||||
(none)
|
||||
)
|
||||
|
||||
;; definition for method 38 of type rigid-body-object
|
||||
;; WARN: Return type mismatch int vs none.
|
||||
(defmethod rigid-body-object-method-38 rigid-body-object ((obj rigid-body-object))
|
||||
(when (not (logtest? (-> obj rbody state flags) (rigid-body-flag enable-physics)))
|
||||
(logior! (-> obj rbody state flags) (rigid-body-flag enable-physics))
|
||||
@@ -794,16 +691,12 @@
|
||||
(none)
|
||||
)
|
||||
|
||||
;; definition for method 39 of type rigid-body-object
|
||||
;; WARN: Return type mismatch int vs none.
|
||||
(defmethod rigid-body-object-method-39 rigid-body-object ((obj rigid-body-object))
|
||||
(logclear! (-> obj rbody state flags) (rigid-body-flag enable-physics))
|
||||
0
|
||||
(none)
|
||||
)
|
||||
|
||||
;; definition for method 42 of type rigid-body-object
|
||||
;; WARN: Return type mismatch int vs none.
|
||||
(defmethod rigid-body-object-method-42 rigid-body-object ((obj rigid-body-object))
|
||||
(logior! (-> obj flags) (rigid-body-object-flag disturbed))
|
||||
(set! (-> obj disturbed-time) (-> self clock frame-counter))
|
||||
@@ -814,31 +707,22 @@
|
||||
(none)
|
||||
)
|
||||
|
||||
;; definition for method 43 of type rigid-body-object
|
||||
;; WARN: Return type mismatch int vs none.
|
||||
(defmethod rigid-body-object-method-43 rigid-body-object ((obj rigid-body-object))
|
||||
(go (method-of-object obj active))
|
||||
0
|
||||
(none)
|
||||
)
|
||||
|
||||
;; definition for method 44 of type rigid-body-object
|
||||
;; WARN: Return type mismatch int vs none.
|
||||
(defmethod rigid-body-object-method-44 rigid-body-object ((obj rigid-body-object) (arg0 float))
|
||||
0
|
||||
(none)
|
||||
)
|
||||
|
||||
;; definition for method 45 of type rigid-body-object
|
||||
;; WARN: Return type mismatch int vs none.
|
||||
(defmethod rigid-body-object-method-45 rigid-body-object ()
|
||||
0
|
||||
(none)
|
||||
)
|
||||
|
||||
;; definition for method 49 of type rigid-body-object
|
||||
;; INFO: Used lq/sq
|
||||
;; WARN: Return type mismatch int vs none.
|
||||
(defmethod rigid-body-object-method-49 rigid-body-object ((obj rigid-body-object) (arg0 matrix) (arg1 touching-shapes-entry))
|
||||
(set! (-> arg0 trans z) (the-as float #f))
|
||||
(set! (-> arg0 trans w) 0.0)
|
||||
@@ -869,8 +753,6 @@
|
||||
(none)
|
||||
)
|
||||
|
||||
;; definition for method 47 of type rigid-body-object
|
||||
;; INFO: Used lq/sq
|
||||
(defmethod rigid-body-object-method-47 rigid-body-object ((obj rigid-body-object) (arg0 process-drawable) (arg1 attack-info) (arg2 object) (arg3 penetrate))
|
||||
(local-vars (f0-2 float))
|
||||
(when arg2
|
||||
@@ -955,11 +837,7 @@
|
||||
)
|
||||
)
|
||||
|
||||
;; definition for method 48 of type rigid-body-object
|
||||
;; ERROR: function was not converted to expressions. Cannot decompile.
|
||||
|
||||
;; definition for method 46 of type rigid-body-object
|
||||
;; INFO: Used lq/sq
|
||||
(defmethod rigid-body-object-method-46 rigid-body-object ((obj rigid-body-object) (arg0 process-drawable) (arg1 int) (arg2 symbol) (arg3 event-message-block))
|
||||
(case arg2
|
||||
(('impact-impulse)
|
||||
@@ -1081,13 +959,11 @@
|
||||
(none)
|
||||
)
|
||||
|
||||
;; definition for function rigid-body-object-event-handler
|
||||
(defbehavior rigid-body-object-event-handler rigid-body-object ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block))
|
||||
(rigid-body-object-method-46 self (the-as process-drawable arg0) arg1 arg2 arg3)
|
||||
(none)
|
||||
)
|
||||
|
||||
;; failed to figure out what this is:
|
||||
(defstate idle (rigid-body-object)
|
||||
:virtual #t
|
||||
:trans (behavior ()
|
||||
@@ -1105,7 +981,6 @@
|
||||
:post (the-as (function none :behavior rigid-body-object) ja-post)
|
||||
)
|
||||
|
||||
;; failed to figure out what this is:
|
||||
(defstate active (rigid-body-object)
|
||||
:virtual #t
|
||||
:event (the-as
|
||||
|
||||
+2
-6
@@ -1,7 +1,5 @@
|
||||
;;-*-Lisp-*-
|
||||
(in-package goal)
|
||||
|
||||
;; definition of type process-taskable
|
||||
(deftype process-taskable (process-focusable)
|
||||
((task game-task-control :offset-assert 204)
|
||||
(ambient ambient-control :inline :offset-assert 208)
|
||||
@@ -29,15 +27,14 @@
|
||||
(play-game (game-task-event) _type_ :state 30)
|
||||
(process-taskable-method-31 (_type_) none 31)
|
||||
(process-taskable-method-32 (_type_) none 32)
|
||||
(process-taskable-method-33 (_type_) none 33)
|
||||
(init-skeleton! (_type_) none 33)
|
||||
(process-taskable-method-34 (_type_) symbol 34)
|
||||
(process-taskable-method-35 (_type_) art-joint-anim 35)
|
||||
(get-art-elem (_type_) art-element 35)
|
||||
(process-taskable-method-36 (_type_) none 36)
|
||||
(process-taskable-method-37 (_type_) none 37)
|
||||
)
|
||||
)
|
||||
|
||||
;; definition for method 3 of type process-taskable
|
||||
(defmethod inspect process-taskable ((obj process-taskable))
|
||||
(when (not obj)
|
||||
(set! obj obj)
|
||||
@@ -64,5 +61,4 @@
|
||||
obj
|
||||
)
|
||||
|
||||
;; failed to figure out what this is:
|
||||
0
|
||||
|
||||
+18
-11
@@ -7,12 +7,15 @@
|
||||
(the-as process-taskable ((method-of-type process-focusable relocate) obj arg0))
|
||||
)
|
||||
|
||||
(defbehavior process-taskable-anim-loop process-taskable ((arg0 (function symbol)))
|
||||
(while (begin self (arg0))
|
||||
(let ((s5-0 (process-taskable-method-35 self)))
|
||||
(defbehavior process-taskable-anim-loop process-taskable ((arg0 (function process-taskable object)))
|
||||
"Takes in a function and loops as long as it's return value is truthy
|
||||
Seen take in - `true-func` which takes no args TODO - seems fishy
|
||||
- a `(process-taskable process) lambda"
|
||||
(while (arg0 self)
|
||||
(let ((s5-0 (get-art-elem self)))
|
||||
(when (!= (ja-group) s5-0)
|
||||
(ja-channel-push! 1 0)
|
||||
(set! (-> self skel root-channel 0 frame-group) s5-0)
|
||||
(set! (-> self skel root-channel 0 frame-group) (the-as art-joint-anim s5-0))
|
||||
)
|
||||
)
|
||||
(suspend)
|
||||
@@ -29,10 +32,13 @@
|
||||
#t
|
||||
)
|
||||
|
||||
(defmethod process-taskable-method-35 process-taskable ((obj process-taskable))
|
||||
(if (> (-> obj skel active-channels) 0)
|
||||
(-> obj skel root-channel 0 frame-group)
|
||||
)
|
||||
(defmethod get-art-elem process-taskable ((obj process-taskable))
|
||||
"Checks various things such the current actor, task status, etc to determine the right art-group data to use
|
||||
@returns the appropriate [[art-element]] for the given NPC"
|
||||
(the-as art-element (if (> (-> obj skel active-channels) 0)
|
||||
(-> obj skel root-channel 0 frame-group)
|
||||
)
|
||||
)
|
||||
)
|
||||
|
||||
(defmethod process-taskable-method-36 process-taskable ((obj process-taskable))
|
||||
@@ -242,7 +248,7 @@
|
||||
(none)
|
||||
)
|
||||
:code (behavior ()
|
||||
(process-taskable-anim-loop true-func)
|
||||
(process-taskable-anim-loop (the-as (function process-taskable object) true-func))
|
||||
(none)
|
||||
)
|
||||
:post (behavior ()
|
||||
@@ -392,7 +398,8 @@
|
||||
(none)
|
||||
)
|
||||
|
||||
(defmethod process-taskable-method-33 process-taskable ((obj process-taskable))
|
||||
(defmethod init-skeleton! process-taskable ((obj process-taskable))
|
||||
"@see [[initialize-skeleton]]"
|
||||
0
|
||||
(none)
|
||||
)
|
||||
@@ -404,7 +411,7 @@
|
||||
(set! (-> obj task)
|
||||
(new 'process 'game-task-control (res-lump-value arg0 'task-actor game-task-actor :time -1000000000.0))
|
||||
)
|
||||
(process-taskable-method-33 obj)
|
||||
(init-skeleton! obj)
|
||||
(process-taskable-method-32 obj)
|
||||
(when (logtest? #x1000000 (res-lump-value arg0 'options uint128 :time -1000000000.0))
|
||||
(let* ((s5-1 *level*)
|
||||
|
||||
+15
-20
@@ -1,10 +1,8 @@
|
||||
;;-*-Lisp-*-
|
||||
(in-package goal)
|
||||
|
||||
;; definition of type scene-actor
|
||||
(deftype scene-actor (basic)
|
||||
((name string :offset-assert 4)
|
||||
(level basic :offset-assert 8)
|
||||
(level symbol :offset-assert 8)
|
||||
(art-group string :offset-assert 12)
|
||||
(prefix string :offset-assert 16)
|
||||
(draw-frames pair :offset-assert 20)
|
||||
@@ -29,7 +27,6 @@
|
||||
)
|
||||
)
|
||||
|
||||
;; definition for method 3 of type scene-actor
|
||||
(defmethod inspect scene-actor ((obj scene-actor))
|
||||
(when (not obj)
|
||||
(set! obj obj)
|
||||
@@ -57,31 +54,34 @@
|
||||
obj
|
||||
)
|
||||
|
||||
;; definition of type scene
|
||||
(deftype scene (art-group)
|
||||
((mask-to-clear uint32 :offset-assert 32)
|
||||
(entity string :offset-assert 36)
|
||||
(art-group string :offset-assert 40)
|
||||
(anim string :offset-assert 44)
|
||||
(parts int32 :offset-assert 48)
|
||||
(command-list basic :offset-assert 52)
|
||||
(command-list pair :offset-assert 52)
|
||||
(cut-list pair :offset-assert 56)
|
||||
(wait-max-time time-frame :offset-assert 64)
|
||||
(wait-air-time time-frame :offset-assert 72)
|
||||
(wait-ground-time time-frame :offset-assert 80)
|
||||
(draw-target level-load-info :offset-assert 88)
|
||||
(abort basic :offset-assert 92)
|
||||
(abort symbol :offset-assert 92)
|
||||
(actor (array scene-actor) :offset-assert 96)
|
||||
(load-point string :offset-assert 100)
|
||||
(end-point string :offset-assert 104)
|
||||
(borrow basic :offset-assert 108)
|
||||
(load-point-obj object :offset-assert 100)
|
||||
(load-point continue-point :offset 100)
|
||||
(load-point-name string :offset 100)
|
||||
(end-point-obj object :offset-assert 104)
|
||||
(end-point continue-point :offset 104)
|
||||
(end-point-name string :offset 104)
|
||||
(borrow pair :offset-assert 108)
|
||||
(sfx-volume float :offset-assert 112)
|
||||
(ambient-volume float :offset-assert 116)
|
||||
(music-volume float :offset-assert 120)
|
||||
(blackout-end basic :offset-assert 124)
|
||||
(peaceful basic :offset-assert 128)
|
||||
(blackout-end symbol :offset-assert 124)
|
||||
(peaceful symbol :offset-assert 128)
|
||||
(music-delay float :offset-assert 132)
|
||||
(save basic :offset-assert 136)
|
||||
(save symbol :offset-assert 136)
|
||||
(scene-task uint16 :offset-assert 140)
|
||||
)
|
||||
:method-count-assert 17
|
||||
@@ -93,7 +93,6 @@
|
||||
)
|
||||
)
|
||||
|
||||
;; definition for method 3 of type scene
|
||||
(defmethod inspect scene ((obj scene))
|
||||
(when (not obj)
|
||||
(set! obj obj)
|
||||
@@ -118,8 +117,8 @@
|
||||
(format #t "~1Tdraw-target: ~A~%" (-> obj draw-target))
|
||||
(format #t "~1Tabort: ~A~%" (-> obj abort))
|
||||
(format #t "~1Tactor: ~A~%" (-> obj actor))
|
||||
(format #t "~1Tload-point: ~A~%" (-> obj load-point))
|
||||
(format #t "~1Tend-point: ~A~%" (-> obj end-point))
|
||||
(format #t "~1Tload-point: ~A~%" (-> obj load-point-obj))
|
||||
(format #t "~1Tend-point: ~A~%" (-> obj end-point-obj))
|
||||
(format #t "~1Tborrow: ~A~%" (-> obj borrow))
|
||||
(format #t "~1Tsfx-volume: ~f~%" (-> obj sfx-volume))
|
||||
(format #t "~1Tambient-volume: ~f~%" (-> obj ambient-volume))
|
||||
@@ -133,7 +132,6 @@
|
||||
obj
|
||||
)
|
||||
|
||||
;; definition of type scene-player
|
||||
(deftype scene-player (process-drawable)
|
||||
((scene-list (array scene) :offset-assert 200)
|
||||
(scene scene :offset-assert 204)
|
||||
@@ -172,7 +170,6 @@
|
||||
)
|
||||
)
|
||||
|
||||
;; definition for method 3 of type scene-player
|
||||
(defmethod inspect scene-player ((obj scene-player))
|
||||
(when (not obj)
|
||||
(set! obj obj)
|
||||
@@ -207,8 +204,6 @@
|
||||
obj
|
||||
)
|
||||
|
||||
;; definition for symbol *scene-player*, type scene-player
|
||||
(define *scene-player* (the-as scene-player #f))
|
||||
|
||||
;; failed to figure out what this is:
|
||||
0
|
||||
|
||||
+11
-47
@@ -1,7 +1,5 @@
|
||||
;;-*-Lisp-*-
|
||||
(in-package goal)
|
||||
|
||||
;; definition of type scene-stage
|
||||
(deftype scene-stage (process-hidden)
|
||||
()
|
||||
:method-count-assert 15
|
||||
@@ -9,7 +7,6 @@
|
||||
:flag-assert #xf00000080
|
||||
)
|
||||
|
||||
;; definition for method 3 of type scene-stage
|
||||
(defmethod inspect scene-stage ((obj scene-stage))
|
||||
(when (not obj)
|
||||
(set! obj obj)
|
||||
@@ -147,24 +144,19 @@
|
||||
obj
|
||||
)
|
||||
|
||||
;; definition for method 2 of type scene
|
||||
(defmethod print scene ((obj scene))
|
||||
(format #t "#<scene ~A ~A @ #x~X>" (-> obj art-group) (-> obj anim) obj)
|
||||
obj
|
||||
)
|
||||
|
||||
;; definition for method 15 of type scene
|
||||
;; WARN: Return type mismatch spool-anim vs none.
|
||||
(defmethod scene-method-15 scene ((obj scene) (arg0 spool-anim))
|
||||
(set! (-> arg0 name) (-> obj anim))
|
||||
(set! (-> arg0 anim-name) (-> obj anim))
|
||||
(set! (-> arg0 parts) (the-as int (-> obj parts)))
|
||||
(set! (-> arg0 command-list) (the-as pair (-> obj command-list)))
|
||||
(set! (-> arg0 command-list) (-> obj command-list))
|
||||
(none)
|
||||
)
|
||||
|
||||
;; definition for function scene-decode-continue
|
||||
;; WARN: Return type mismatch basic vs continue-point.
|
||||
(defun scene-decode-continue ((arg0 basic))
|
||||
(the-as continue-point (cond
|
||||
((not arg0)
|
||||
@@ -183,12 +175,10 @@
|
||||
)
|
||||
)
|
||||
|
||||
;; definition for method 9 of type scene-actor
|
||||
;; INFO: Used lq/sq
|
||||
(defmethod scene-actor-method-9 scene-actor ((obj scene-actor) (arg0 scene-player))
|
||||
(local-vars (s4-0 (pointer process)) (sv-96 process) (sv-112 process))
|
||||
(let ((s1-0 (if (-> obj level)
|
||||
(level-get *level* (the-as symbol (-> obj level)))
|
||||
(level-get *level* (-> obj level))
|
||||
(-> *level* default-level)
|
||||
)
|
||||
)
|
||||
@@ -385,7 +375,6 @@
|
||||
s4-0
|
||||
)
|
||||
|
||||
;; definition for method 10 of type scene-player
|
||||
(defmethod deactivate scene-player ((obj scene-player))
|
||||
(set! *scene-player* #f)
|
||||
(kill-persister *setting-control* (the-as engine-pers 'blackout) 'bg-a-force)
|
||||
@@ -393,8 +382,6 @@
|
||||
(none)
|
||||
)
|
||||
|
||||
;; definition for method 7 of type scene-player
|
||||
;; WARN: Return type mismatch process-drawable vs scene-player.
|
||||
(defmethod relocate scene-player ((obj scene-player) (arg0 int))
|
||||
(let ((v1-0 *kernel-context*))
|
||||
(set! (-> v1-0 relocating-process) obj)
|
||||
@@ -414,8 +401,6 @@
|
||||
(the-as scene-player ((method-of-type process-drawable relocate) obj arg0))
|
||||
)
|
||||
|
||||
;; definition for method 25 of type scene-player
|
||||
;; WARN: Return type mismatch int vs none.
|
||||
(defmethod scene-player-method-25 scene-player ((obj scene-player) (arg0 float))
|
||||
(local-vars (v1-11 symbol) (v1-40 symbol) (s0-0 object) (s0-1 object))
|
||||
(dotimes (s4-0 (-> obj scene actor length))
|
||||
@@ -484,8 +469,6 @@
|
||||
(none)
|
||||
)
|
||||
|
||||
;; definition for function scene-lookup
|
||||
;; WARN: Return type mismatch basic vs scene.
|
||||
(defun scene-lookup ((arg0 basic))
|
||||
"TODO - basic can be a string or a scene"
|
||||
(let ((v1-0 (-> arg0 type)))
|
||||
@@ -528,8 +511,6 @@
|
||||
)
|
||||
)
|
||||
|
||||
;; definition for method 24 of type scene-player
|
||||
;; WARN: Return type mismatch basic vs scene.
|
||||
(defmethod scene-player-method-24 scene-player ((obj scene-player) (arg0 basic) (arg1 symbol))
|
||||
"TODO - arg1 can be string/scene"
|
||||
(when (= (-> arg0 type) string)
|
||||
@@ -553,8 +534,6 @@
|
||||
(the-as scene arg0)
|
||||
)
|
||||
|
||||
;; definition for method 23 of type scene-player
|
||||
;; WARN: Return type mismatch int vs none.
|
||||
(defmethod scene-player-method-23 scene-player ((obj scene-player) (arg0 string) (arg1 symbol))
|
||||
(let ((gp-0 (scene-player-method-24 obj arg0 #t)))
|
||||
(when (-> gp-0 peaceful)
|
||||
@@ -623,7 +602,7 @@
|
||||
(let ((s2-0 (-> gp-0 actor s3-3)))
|
||||
(set! (-> s2-0 process) (the-as handle #f))
|
||||
(let ((s1-0 (if (-> s2-0 level)
|
||||
(level-get *level* (the-as symbol (-> s2-0 level)))
|
||||
(level-get *level* (-> s2-0 level))
|
||||
(-> *level* default-level)
|
||||
)
|
||||
)
|
||||
@@ -705,7 +684,6 @@
|
||||
(none)
|
||||
)
|
||||
|
||||
;; definition of type subtitle-work
|
||||
(deftype subtitle-work (structure)
|
||||
((draw-tmpl dma-gif-packet :inline :offset-assert 0)
|
||||
(color0 vector4w :inline :offset-assert 32)
|
||||
@@ -716,7 +694,6 @@
|
||||
:flag-assert #x900000040
|
||||
)
|
||||
|
||||
;; definition for method 3 of type subtitle-work
|
||||
(defmethod inspect subtitle-work ((obj subtitle-work))
|
||||
(when (not obj)
|
||||
(set! obj obj)
|
||||
@@ -730,7 +707,6 @@
|
||||
obj
|
||||
)
|
||||
|
||||
;; definition for symbol *subtitle-work*, type subtitle-work
|
||||
(define *subtitle-work*
|
||||
(new 'static 'subtitle-work
|
||||
:draw-tmpl (new 'static 'dma-gif-packet
|
||||
@@ -758,8 +734,6 @@
|
||||
)
|
||||
)
|
||||
|
||||
;; definition for function draw-subtitle-image
|
||||
;; INFO: Used lq/sq
|
||||
(defun draw-subtitle-image ((arg0 subtitle-image) (arg1 font-context))
|
||||
(local-vars (sv-16 pointer) (sv-32 int))
|
||||
(let ((gp-0 (-> arg0 width))
|
||||
@@ -948,8 +922,6 @@
|
||||
)
|
||||
)
|
||||
|
||||
;; definition for function process-drawable-draw-subtitles
|
||||
;; WARN: Return type mismatch int vs none.
|
||||
(defbehavior process-drawable-draw-subtitles process-drawable ()
|
||||
(when (and (nonzero? (-> self skel))
|
||||
(> (-> self skel active-channels) 0)
|
||||
@@ -1045,16 +1017,16 @@
|
||||
(none)
|
||||
)
|
||||
|
||||
;; failed to figure out what this is:
|
||||
(defstate wait (scene-player)
|
||||
:virtual #t
|
||||
:enter (behavior ((arg0 symbol))
|
||||
(set! (-> self state-time) (-> self clock frame-counter))
|
||||
(when (or (-> self scene) (-> self preload-continue))
|
||||
(let ((gp-0 (scene-decode-continue (if (-> self scene)
|
||||
(-> self scene load-point)
|
||||
(-> self preload-continue)
|
||||
)
|
||||
(let ((gp-0 (scene-decode-continue (the-as basic (if (-> self scene)
|
||||
(-> self scene load-point-obj)
|
||||
(-> self preload-continue)
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
@@ -1265,7 +1237,6 @@
|
||||
)
|
||||
)
|
||||
|
||||
;; failed to figure out what this is:
|
||||
(defstate release (scene-player)
|
||||
:virtual #t
|
||||
:code (behavior ()
|
||||
@@ -1347,8 +1318,8 @@
|
||||
)
|
||||
)
|
||||
(cond
|
||||
((and *target* (-> self scene) (-> self scene end-point))
|
||||
(let ((gp-3 (scene-decode-continue (-> self scene end-point))))
|
||||
((and *target* (-> self scene) (-> self scene end-point-obj))
|
||||
(let ((gp-3 (scene-decode-continue (the-as basic (-> self scene end-point-obj)))))
|
||||
(when gp-3
|
||||
(set-continue! *game-info* gp-3 #f)
|
||||
(send-event *target* 'continue gp-3)
|
||||
@@ -1366,7 +1337,6 @@
|
||||
)
|
||||
)
|
||||
|
||||
;; failed to figure out what this is:
|
||||
(defstate play-anim (scene-player)
|
||||
:virtual #t
|
||||
:event (behavior ((proc process) (arg1 int) (event-type symbol) (event event-message-block))
|
||||
@@ -1476,7 +1446,7 @@
|
||||
(when (and (< (-> self scene-index) (-> self scene-list length)) (not (-> self aborted?)))
|
||||
(let ((v1-41 (scene-player-method-24 self (-> self scene-list (-> self scene-index)) #t)))
|
||||
(when v1-41
|
||||
(let ((a0-21 (scene-decode-continue (-> v1-41 load-point))))
|
||||
(let ((a0-21 (scene-decode-continue (the-as basic (-> v1-41 load-point-obj)))))
|
||||
(set! a0-24 (when (and a0-21 (logtest? (-> a0-21 flags) (continue-flags cf1)))
|
||||
(go-virtual wait a0-24)
|
||||
a0-24
|
||||
@@ -1787,11 +1757,6 @@
|
||||
)
|
||||
)
|
||||
|
||||
;; definition for function scene-player-init
|
||||
;; WARN: Return type mismatch object vs none.
|
||||
;; WARN: Using new Jak 2 rtype-of
|
||||
;; WARN: Using new Jak 2 rtype-of
|
||||
;; WARN: Using new Jak 2 rtype-of
|
||||
(defbehavior scene-player-init scene-player ((arg0 object) (arg1 symbol) (arg2 string))
|
||||
"`object` arg can be an `(array scene)`, `pair of scene` or a `scene`"
|
||||
(process-entity-set! self (the-as entity-actor #f))
|
||||
@@ -1881,7 +1846,6 @@
|
||||
(none)
|
||||
)
|
||||
|
||||
;; definition for method 16 of type scene
|
||||
(defmethod scene-method-16 scene ((obj scene))
|
||||
(let ((v1-1 (-> *level* loading-level)))
|
||||
(if v1-1
|
||||
|
||||
+17
-45
@@ -1,7 +1,5 @@
|
||||
;;-*-Lisp-*-
|
||||
(in-package goal)
|
||||
|
||||
;; definition for function vector-vector-angle
|
||||
(defun vector-vector-angle ((arg0 vector) (arg1 vector))
|
||||
(let ((s4-0 (new 'stack-no-clear 'matrix))
|
||||
(gp-0 (new 'stack-no-clear 'matrix))
|
||||
@@ -14,8 +12,6 @@
|
||||
)
|
||||
)
|
||||
|
||||
;; definition for function target-board-anim-trans
|
||||
;; WARN: Return type mismatch float vs none.
|
||||
(defbehavior target-board-anim-trans target ()
|
||||
(let ((f26-0 (deg-
|
||||
(quaternion-vector-y-angle (-> self control dir-targ) (-> self control local-normal))
|
||||
@@ -96,9 +92,6 @@
|
||||
(none)
|
||||
)
|
||||
|
||||
;; definition for function target-board-spin-check
|
||||
;; INFO: Used lq/sq
|
||||
;; WARN: Return type mismatch object vs none.
|
||||
(defbehavior target-board-spin-check target ()
|
||||
(when (and (or (cpad-pressed? (-> self control unknown-cpad-info00 number) r1)
|
||||
(and (cpad-hold? (-> self control unknown-cpad-info00 number) r1)
|
||||
@@ -261,8 +254,6 @@
|
||||
(none)
|
||||
)
|
||||
|
||||
;; definition for function target-board-halfpipe-trans
|
||||
;; WARN: Return type mismatch int vs none.
|
||||
(defbehavior target-board-halfpipe-trans target ()
|
||||
(when (and (logtest? (focus-status halfpipe) (-> self focus-status)) *camera*)
|
||||
(let ((gp-0 (new 'stack-no-clear 'vector)))
|
||||
@@ -293,8 +284,6 @@
|
||||
(none)
|
||||
)
|
||||
|
||||
;; definition for function target-board-resolve-points
|
||||
;; WARN: Return type mismatch int vs none.
|
||||
(defbehavior target-board-resolve-points target ()
|
||||
(when (= (-> self board main mode) (joint-mod-mode rotate))
|
||||
(let ((f0-1 (fabs (-> self board troty-cum))))
|
||||
@@ -320,9 +309,6 @@
|
||||
(none)
|
||||
)
|
||||
|
||||
;; definition for function target-board-ground-check
|
||||
;; INFO: Used lq/sq
|
||||
;; WARN: Return type mismatch symbol vs none.
|
||||
(defbehavior target-board-ground-check target ()
|
||||
(when (board-on-ground?)
|
||||
(when (!= (-> self board troty-cum) 0.0)
|
||||
@@ -433,8 +419,6 @@
|
||||
(none)
|
||||
)
|
||||
|
||||
;; definition for function target-board-halfpipe-check
|
||||
;; INFO: Used lq/sq
|
||||
(defbehavior target-board-halfpipe-check target ()
|
||||
(local-vars (v0-3 collide-action))
|
||||
(let ((gp-0 (vector-flatten!
|
||||
@@ -474,7 +458,6 @@
|
||||
)
|
||||
)
|
||||
|
||||
;; definition for function target-board-jump-trans
|
||||
(defbehavior target-board-jump-trans target ()
|
||||
(when (and (!= (-> self state-time) (-> self clock frame-counter)) (jump-hit-ground-stuck?))
|
||||
(set! (-> self board jump-land-time) (-> self clock frame-counter))
|
||||
@@ -497,7 +480,6 @@
|
||||
(none)
|
||||
)
|
||||
|
||||
;; failed to figure out what this is:
|
||||
(defstate target-board-start (target)
|
||||
:event target-board-handler
|
||||
:exit target-board-exit
|
||||
@@ -510,7 +492,6 @@
|
||||
:post target-post
|
||||
)
|
||||
|
||||
;; failed to figure out what this is:
|
||||
(defstate target-board-stance (target)
|
||||
:event (behavior ((proc process) (arg1 int) (event-type symbol) (event event-message-block))
|
||||
(case event-type
|
||||
@@ -763,7 +744,6 @@
|
||||
:post target-board-post
|
||||
)
|
||||
|
||||
;; failed to figure out what this is:
|
||||
(defstate target-board-duck-stance (target)
|
||||
:event (-> target-board-stance event)
|
||||
:enter (behavior ()
|
||||
@@ -872,7 +852,6 @@
|
||||
:post target-board-post
|
||||
)
|
||||
|
||||
;; failed to figure out what this is:
|
||||
(defstate target-board-jump (target)
|
||||
:event (behavior ((proc process) (arg1 int) (event-type symbol) (event event-message-block))
|
||||
(if (and (= event-type 'edge-grab) (< (- (-> self clock frame-counter) (-> self state-time)) (seconds 0.1)))
|
||||
@@ -1090,7 +1069,6 @@
|
||||
:post target-board-post
|
||||
)
|
||||
|
||||
;; failed to figure out what this is:
|
||||
(defstate target-board-halfpipe (target)
|
||||
:event (behavior ((proc process) (arg1 int) (event-type symbol) (event event-message-block))
|
||||
(case event-type
|
||||
@@ -1355,7 +1333,6 @@
|
||||
:post target-board-post
|
||||
)
|
||||
|
||||
;; failed to figure out what this is:
|
||||
(defstate target-board-falling (target)
|
||||
:event target-board-handler
|
||||
:enter (behavior ()
|
||||
@@ -1439,7 +1416,6 @@
|
||||
:post target-board-post
|
||||
)
|
||||
|
||||
;; failed to figure out what this is:
|
||||
(defstate target-board-jump-kick (target)
|
||||
:event target-board-handler
|
||||
:enter (behavior ()
|
||||
@@ -1491,7 +1467,6 @@
|
||||
:post target-board-post
|
||||
)
|
||||
|
||||
;; failed to figure out what this is:
|
||||
(defstate target-board-wall-kick (target)
|
||||
:event target-board-handler
|
||||
:enter (behavior ((arg0 vector) (arg1 float))
|
||||
@@ -1541,7 +1516,6 @@
|
||||
:post target-board-post
|
||||
)
|
||||
|
||||
;; failed to figure out what this is:
|
||||
(defstate target-board-flip (target)
|
||||
:event (-> target-board-jump event)
|
||||
:enter (behavior ((arg0 float) (arg1 float) (arg2 symbol))
|
||||
@@ -1723,7 +1697,6 @@
|
||||
:post target-board-post
|
||||
)
|
||||
|
||||
;; failed to figure out what this is:
|
||||
(defstate target-board-hold (target)
|
||||
:event (-> target-board-jump event)
|
||||
:enter (behavior ((arg0 float) (arg1 float) (arg2 symbol))
|
||||
@@ -1927,7 +1900,6 @@
|
||||
:post target-board-post
|
||||
)
|
||||
|
||||
;; failed to figure out what this is:
|
||||
(defstate target-board-trickx (target)
|
||||
:event (-> target-board-jump event)
|
||||
:enter (-> target-board-hold enter)
|
||||
@@ -2036,7 +2008,6 @@
|
||||
:post target-board-post
|
||||
)
|
||||
|
||||
;; failed to figure out what this is:
|
||||
(defstate target-board-hit-ground (target)
|
||||
:event target-board-handler
|
||||
:enter (behavior ()
|
||||
@@ -2121,7 +2092,6 @@
|
||||
:post target-board-post
|
||||
)
|
||||
|
||||
;; failed to figure out what this is:
|
||||
(defstate target-board-turn-to (target)
|
||||
:event target-board-handler
|
||||
:enter (behavior ((arg0 vector) (arg1 time-frame))
|
||||
@@ -2190,7 +2160,6 @@
|
||||
:post target-board-post
|
||||
)
|
||||
|
||||
;; failed to figure out what this is:
|
||||
(defstate target-board-ride-edge (target)
|
||||
:event (behavior ((proc process) (arg1 int) (event-type symbol) (event event-message-block))
|
||||
(case event-type
|
||||
@@ -2464,7 +2433,6 @@
|
||||
)
|
||||
)
|
||||
|
||||
;; failed to figure out what this is:
|
||||
(defstate target-board-grenade (target)
|
||||
:event (behavior ((proc process) (arg1 int) (event-type symbol) (event event-message-block))
|
||||
(case event-type
|
||||
@@ -2575,7 +2543,6 @@
|
||||
:post target-board-post
|
||||
)
|
||||
|
||||
;; failed to figure out what this is:
|
||||
(defstate target-board-get-on (target)
|
||||
:event (behavior ((proc process) (arg1 int) (event-type symbol) (event event-message-block))
|
||||
(case event-type
|
||||
@@ -2733,7 +2700,6 @@
|
||||
:post target-board-post
|
||||
)
|
||||
|
||||
;; failed to figure out what this is:
|
||||
(defstate target-board-pegasus (target)
|
||||
:event (behavior ((proc process) (arg1 int) (event-type symbol) (event event-message-block))
|
||||
(case event-type
|
||||
@@ -2831,7 +2797,6 @@
|
||||
)
|
||||
)
|
||||
|
||||
;; failed to figure out what this is:
|
||||
(defstate target-board-get-off (target)
|
||||
:event (-> target-board-get-on event)
|
||||
:enter (behavior ((arg0 object) (arg1 symbol))
|
||||
@@ -3030,7 +2995,6 @@
|
||||
)
|
||||
)
|
||||
|
||||
;; failed to figure out what this is:
|
||||
(defstate target-board-grab (target)
|
||||
:event (behavior ((proc process) (arg1 int) (event-type symbol) (event event-message-block))
|
||||
(cond
|
||||
@@ -3093,7 +3057,6 @@
|
||||
:post target-board-post
|
||||
)
|
||||
|
||||
;; failed to figure out what this is:
|
||||
(defstate target-board-clone-anim (target)
|
||||
:event (behavior ((proc process) (arg1 int) (event-type symbol) (event event-message-block))
|
||||
(if (and (= event-type 'trans) (= (-> event param 0) 'restore))
|
||||
@@ -3122,7 +3085,6 @@
|
||||
:post target-no-ja-move-post
|
||||
)
|
||||
|
||||
;; failed to figure out what this is:
|
||||
(defstate target-board-hit (target)
|
||||
:event target-board-handler
|
||||
:exit (behavior ()
|
||||
@@ -3148,7 +3110,7 @@
|
||||
(when (= *cheat-mode* 'debug)
|
||||
(when (and (not *pause-lock*) (cpad-hold? (-> self control unknown-cpad-info00 number) r2))
|
||||
(set! (-> self control unknown-time-frame30) (-> self clock frame-counter))
|
||||
(pickup-collectable! (-> self fact) (pickup-type health) 100.0 (the-as handle #f))
|
||||
(pickup-collectable! (-> self fact-info-override) (pickup-type health) 100.0 (the-as handle #f))
|
||||
(go target-board-stance)
|
||||
)
|
||||
)
|
||||
@@ -3226,22 +3188,27 @@
|
||||
(go target-stance)
|
||||
)
|
||||
(else
|
||||
(pickup-collectable! (-> self fact) (pickup-type health) -1000.0 (the-as handle #f))
|
||||
(pickup-collectable! (-> self fact-info-override) (pickup-type health) -1000.0 (the-as handle #f))
|
||||
(go target-death (-> gp-0 mode))
|
||||
)
|
||||
)
|
||||
)
|
||||
(('drown-death 'sharkey 'lava 'dark-eco-pool 'melt 'instant-death 'crush 'death 'grenade 'big-explosion 'bot)
|
||||
(pickup-collectable! (-> self fact) (pickup-type health) -1000.0 (the-as handle #f))
|
||||
(pickup-collectable! (-> self fact-info-override) (pickup-type health) -1000.0 (the-as handle #f))
|
||||
(if (= (-> self game mode) 'play)
|
||||
(go target-death (-> gp-0 mode))
|
||||
)
|
||||
)
|
||||
(('death)
|
||||
(pickup-collectable! (-> self fact) (pickup-type health) -1000.0 (the-as handle #f))
|
||||
(pickup-collectable! (-> self fact-info-override) (pickup-type health) -1000.0 (the-as handle #f))
|
||||
)
|
||||
(else
|
||||
(pickup-collectable! (-> self fact) (pickup-type health) (- (-> gp-0 damage)) (the-as handle #f))
|
||||
(pickup-collectable!
|
||||
(-> self fact-info-override)
|
||||
(pickup-type health)
|
||||
(- (-> gp-0 damage))
|
||||
(the-as handle #f)
|
||||
)
|
||||
)
|
||||
)
|
||||
(target-hit-effect gp-0)
|
||||
@@ -3254,7 +3221,10 @@
|
||||
)
|
||||
)
|
||||
)
|
||||
(when (not (and (= (-> self game mode) 'play) (>= 0.0 (-> (the-as fact-info-target (-> self fact)) health))))
|
||||
(when (not (and (= (-> self game mode) 'play)
|
||||
(>= 0.0 (-> (the-as fact-info-target (-> self fact-info-override)) health))
|
||||
)
|
||||
)
|
||||
(when (= (-> gp-0 knock) 8)
|
||||
(set-quaternion! (-> self control) (-> self control dir-targ))
|
||||
(set-forward-vel (* -3.0 (-> gp-0 shove-back)))
|
||||
@@ -3281,7 +3251,9 @@
|
||||
)
|
||||
(target-hit-move gp-0 (target-hit-orient gp-0 s5-0) target-board-falling-anim-trans (-> gp-0 speed))
|
||||
)
|
||||
(if (and (= (-> self game mode) 'play) (>= 0.0 (-> (the-as fact-info-target (-> self fact)) health)))
|
||||
(if (and (= (-> self game mode) 'play)
|
||||
(>= 0.0 (-> (the-as fact-info-target (-> self fact-info-override)) health))
|
||||
)
|
||||
(go target-death (-> gp-0 mode))
|
||||
)
|
||||
)
|
||||
|
||||
+4
-75
@@ -1,7 +1,5 @@
|
||||
;;-*-Lisp-*-
|
||||
(in-package goal)
|
||||
|
||||
;; definition for symbol *board-walk-mods*, type surface
|
||||
(define *board-walk-mods*
|
||||
(new 'static 'surface
|
||||
:name 'run
|
||||
@@ -93,7 +91,6 @@
|
||||
)
|
||||
)
|
||||
|
||||
;; definition for symbol *board-duck-mods*, type surface
|
||||
(define *board-duck-mods* (new 'static 'surface
|
||||
:name 'duck
|
||||
:turnv 21845.334
|
||||
@@ -127,10 +124,8 @@
|
||||
)
|
||||
)
|
||||
|
||||
;; failed to figure out what this is:
|
||||
(set! (-> *board-duck-mods* mult-hook) (-> *board-walk-mods* mult-hook))
|
||||
|
||||
;; definition for symbol *board-air-mods*, type surface
|
||||
(define *board-air-mods* (new 'static 'surface
|
||||
:name 'air
|
||||
:turnv 49152.0
|
||||
@@ -165,7 +160,6 @@
|
||||
)
|
||||
)
|
||||
|
||||
;; definition for symbol *board-jump-mods*, type surface
|
||||
(define *board-jump-mods* (new 'static 'surface
|
||||
:name 'jump
|
||||
:turnv 49152.0
|
||||
@@ -194,7 +188,6 @@
|
||||
)
|
||||
)
|
||||
|
||||
;; definition for symbol *board-ride-jump-mods*, type surface
|
||||
(define *board-ride-jump-mods*
|
||||
(new 'static 'surface
|
||||
:name 'jump
|
||||
@@ -238,13 +231,10 @@
|
||||
)
|
||||
)
|
||||
|
||||
;; definition for symbol *board-duck-jump-mods*, type surface
|
||||
(define *board-duck-jump-mods* *board-jump-mods*)
|
||||
|
||||
;; definition for symbol *board-spin-mods*, type surface
|
||||
(define *board-spin-mods* (copy *board-jump-mods* 'global))
|
||||
|
||||
;; failed to figure out what this is:
|
||||
(let ((v1-10 *board-spin-mods*))
|
||||
(set! (-> v1-10 name) 'spin)
|
||||
(set! (-> v1-10 flags) (surface-flag no-turn-around check-edge air))
|
||||
@@ -258,7 +248,6 @@
|
||||
(set! (-> v1-10 tiltvf) 0.0)
|
||||
)
|
||||
|
||||
;; failed to figure out what this is:
|
||||
(let ((v1-12 (copy *board-jump-mods* 'global)))
|
||||
(set! (-> v1-12 seek0) 0.0)
|
||||
(set! (-> v1-12 seek90) 0.0)
|
||||
@@ -267,7 +256,6 @@
|
||||
(set! *board-spin-post-mods* v1-12)
|
||||
)
|
||||
|
||||
;; failed to figure out what this is:
|
||||
(let ((v1-14 (copy *board-duck-jump-mods* 'global)))
|
||||
(set! (-> v1-14 flags) (surface-flag no-turn-around turn-to-vel air))
|
||||
(set! (-> v1-14 seek0) 0.0)
|
||||
@@ -281,7 +269,6 @@
|
||||
(set! *board-flip-mods* v1-14)
|
||||
)
|
||||
|
||||
;; definition for symbol *board-wall-kick-mods*, type surface
|
||||
(define *board-wall-kick-mods*
|
||||
(new 'static 'surface
|
||||
:name 'jump
|
||||
@@ -320,7 +307,6 @@
|
||||
)
|
||||
)
|
||||
|
||||
;; definition for symbol *board-halfpipe-mods*, type surface
|
||||
(define *board-halfpipe-mods* (new 'static 'surface
|
||||
:name 'jump
|
||||
:turnv 131072.0
|
||||
@@ -348,7 +334,6 @@
|
||||
)
|
||||
)
|
||||
|
||||
;; definition for symbol *board-turn-to-mods*, type surface
|
||||
(define *board-turn-to-mods* (new 'static 'surface
|
||||
:name 'run
|
||||
:turnv 524288.0
|
||||
@@ -380,10 +365,8 @@
|
||||
)
|
||||
)
|
||||
|
||||
;; failed to figure out what this is:
|
||||
(set! (-> *board-turn-to-mods* mult-hook) (-> *board-walk-mods* mult-hook))
|
||||
|
||||
;; definition for symbol *board-ride-mods*, type surface
|
||||
(define *board-ride-mods* (new 'static 'surface
|
||||
:name 'run
|
||||
:turnv 218453.33
|
||||
@@ -425,7 +408,6 @@
|
||||
)
|
||||
)
|
||||
|
||||
;; definition for symbol *collide-edge-board-halfpipe-spec*, type collide-edge-spec
|
||||
(define *collide-edge-board-halfpipe-spec* (new 'static 'collide-edge-spec
|
||||
:split-dists (new 'static 'array float 2 1024.0 1433.6)
|
||||
:outward-offset (new 'static 'vector :x 708.608 :y 13312.0 :w 1.0)
|
||||
@@ -459,11 +441,7 @@
|
||||
)
|
||||
)
|
||||
|
||||
;; definition for function target-board-handler
|
||||
;; ERROR: function was not converted to expressions. Cannot decompile.
|
||||
|
||||
;; definition for function target-board-setup
|
||||
;; WARN: Return type mismatch int vs none.
|
||||
(defbehavior target-board-setup target ((arg0 symbol))
|
||||
(when (zero? (-> self board))
|
||||
(set! (-> self board) (new 'process 'board-info))
|
||||
@@ -499,7 +477,6 @@
|
||||
(none)
|
||||
)
|
||||
|
||||
;; definition for function target-board-init
|
||||
(defbehavior target-board-init target ()
|
||||
(target-gun-end-mode #f)
|
||||
(target-exit)
|
||||
@@ -592,8 +569,6 @@
|
||||
(none)
|
||||
)
|
||||
|
||||
;; definition for function target-board-exit
|
||||
;; INFO: Used lq/sq
|
||||
(defbehavior target-board-exit target ()
|
||||
(when (not (and (-> self next-state)
|
||||
(let ((v1-3 (-> self next-state name)))
|
||||
@@ -662,8 +637,6 @@
|
||||
(none)
|
||||
)
|
||||
|
||||
;; definition for function target-board-falling-anim-trans
|
||||
;; WARN: Return type mismatch int vs none.
|
||||
(defbehavior target-board-falling-anim-trans target ()
|
||||
(let ((v1-2 (ja-group)))
|
||||
(cond
|
||||
@@ -682,13 +655,10 @@
|
||||
(none)
|
||||
)
|
||||
|
||||
;; definition for function board-on-ground?
|
||||
(defbehavior board-on-ground? target ()
|
||||
(logtest? (-> self control status) (cshape-moving-flags on-surface))
|
||||
)
|
||||
|
||||
;; definition for function target-board-smack-surface?
|
||||
;; INFO: Used lq/sq
|
||||
(defbehavior target-board-smack-surface? target ()
|
||||
(when (and (logtest? (-> self control status) (cshape-moving-flags t-wall))
|
||||
(< (+ (-> self clock frame-counter) (seconds -0.05)) (-> self control unknown-time-frame07))
|
||||
@@ -705,9 +675,6 @@
|
||||
)
|
||||
)
|
||||
|
||||
;; definition for function board-add-thrust
|
||||
;; INFO: Used lq/sq
|
||||
;; WARN: Return type mismatch int vs none.
|
||||
(defbehavior board-add-thrust target ()
|
||||
(let ((gp-0 (-> self control unknown-vector00)))
|
||||
(let* ((v1-1 gp-0)
|
||||
@@ -840,7 +807,6 @@
|
||||
(none)
|
||||
)
|
||||
|
||||
;; definition for function segment-array-vector->index
|
||||
(defun segment-array-vector->index ((arg0 (inline-array vector)) (arg1 int) (arg2 float) (arg3 float))
|
||||
(let ((gp-0 -1)
|
||||
(f30-0 0.0)
|
||||
@@ -858,7 +824,6 @@
|
||||
)
|
||||
)
|
||||
|
||||
;; definition for function segment-array-index->vector
|
||||
(defun segment-array-index->vector ((arg0 (inline-array vector)) (arg1 int) (arg2 float) (arg3 vector))
|
||||
(let ((v0-0 (the int arg2)))
|
||||
(let* ((f0-2 arg2)
|
||||
@@ -878,8 +843,6 @@
|
||||
)
|
||||
)
|
||||
|
||||
;; definition for function target-board-exit-check
|
||||
;; WARN: Return type mismatch int vs none.
|
||||
(defbehavior target-board-exit-check target ()
|
||||
(if (and (or (and (cpad-pressed? (-> self control unknown-cpad-info00 number) r2)
|
||||
(or (!= *cheat-mode* 'debug)
|
||||
@@ -904,8 +867,6 @@
|
||||
(none)
|
||||
)
|
||||
|
||||
;; definition for function target-board-effect
|
||||
;; WARN: Return type mismatch int vs none.
|
||||
(defbehavior target-board-effect target ()
|
||||
(let ((gp-0 0))
|
||||
(cond
|
||||
@@ -1068,9 +1029,6 @@
|
||||
(none)
|
||||
)
|
||||
|
||||
;; definition for function target-board-physics
|
||||
;; INFO: Used lq/sq
|
||||
;; WARN: Return type mismatch int vs none.
|
||||
(defbehavior target-board-physics target ((arg0 vector))
|
||||
(let ((f30-0 0.5))
|
||||
(if (>= (- (-> self clock frame-counter) (-> self board unknown-time-frame02)) (seconds 0.3))
|
||||
@@ -1181,9 +1139,6 @@
|
||||
(none)
|
||||
)
|
||||
|
||||
;; definition for function target-board-collision
|
||||
;; INFO: Used lq/sq
|
||||
;; WARN: Return type mismatch int vs none.
|
||||
(defbehavior target-board-collision target ()
|
||||
(let ((gp-0 (new 'stack-no-clear 'vector)))
|
||||
(set! (-> gp-0 quad) (-> self control transv quad))
|
||||
@@ -1378,9 +1333,6 @@
|
||||
(none)
|
||||
)
|
||||
|
||||
;; definition for function target-board-joint-points
|
||||
;; INFO: Used lq/sq
|
||||
;; WARN: Return type mismatch int vs none.
|
||||
(defbehavior target-board-joint-points target ()
|
||||
(when (-> self board board)
|
||||
(let ((a1-0 (-> self node-list data 25 bone transform)))
|
||||
@@ -1395,9 +1347,6 @@
|
||||
(none)
|
||||
)
|
||||
|
||||
;; definition for function target-board-pre-move
|
||||
;; INFO: Used lq/sq
|
||||
;; WARN: Return type mismatch int vs none.
|
||||
(defbehavior target-board-pre-move target ()
|
||||
(cond
|
||||
((and (and (logtest? (-> self control unknown-surface00 flags) (surface-flag air))
|
||||
@@ -1624,9 +1573,6 @@
|
||||
(none)
|
||||
)
|
||||
|
||||
;; definition for function target-board-real-post
|
||||
;; INFO: Used lq/sq
|
||||
;; WARN: Return type mismatch int vs none.
|
||||
(defbehavior target-board-real-post target ()
|
||||
(let ((f30-0 (-> self clock clock-ratio)))
|
||||
(let ((gp-1 (max 1 (the int (-> self clock time-adjust-ratio)))))
|
||||
@@ -1883,8 +1829,6 @@
|
||||
(none)
|
||||
)
|
||||
|
||||
;; definition for function probe-test
|
||||
;; INFO: Used lq/sq
|
||||
(defun probe-test ((arg0 control-info) (arg1 vector) (arg2 pat-surface))
|
||||
(dotimes (s3-0 3)
|
||||
(let ((s2-0 (new 'stack-no-clear 'collide-query)))
|
||||
@@ -1912,9 +1856,6 @@
|
||||
#f
|
||||
)
|
||||
|
||||
;; definition for function target-board-compute-edge
|
||||
;; WARN: Found some very strange gotos. Check result carefully, this is not well tested.
|
||||
;; INFO: Used lq/sq
|
||||
(defbehavior target-board-compute-edge target ()
|
||||
(local-vars (sv-768 int))
|
||||
(let ((s4-0 *edge-grab-info*)
|
||||
@@ -2289,8 +2230,6 @@
|
||||
)
|
||||
)
|
||||
|
||||
;; definition for function board-ride-add-thrust
|
||||
;; WARN: Return type mismatch int vs none.
|
||||
(defbehavior board-ride-add-thrust target ((arg0 vector) (arg1 float))
|
||||
(let* ((f30-0 (-> self board ride-speed))
|
||||
(f0-4
|
||||
@@ -2338,9 +2277,6 @@
|
||||
(none)
|
||||
)
|
||||
|
||||
;; definition for function target-board-ride-post
|
||||
;; INFO: Used lq/sq
|
||||
;; WARN: Return type mismatch int vs none.
|
||||
(defbehavior target-board-ride-post target ()
|
||||
(let ((f30-0 (-> self clock clock-ratio)))
|
||||
(let ((gp-1 (max 1 (the int (-> self clock time-adjust-ratio)))))
|
||||
@@ -2572,22 +2508,17 @@
|
||||
(none)
|
||||
)
|
||||
|
||||
;; definition for function target-board-post
|
||||
(defbehavior target-board-post target ()
|
||||
(target-board-real-post)
|
||||
(none)
|
||||
)
|
||||
|
||||
;; definition for function target-board-center-anim
|
||||
;; WARN: Return type mismatch int vs none.
|
||||
(defbehavior target-board-center-anim target ()
|
||||
(set! (-> self board turn-anim-frame) 0.0)
|
||||
0
|
||||
(none)
|
||||
)
|
||||
|
||||
;; definition for function target-board-turn-anim
|
||||
;; WARN: Return type mismatch int vs none.
|
||||
(defbehavior target-board-turn-anim target ((arg0 int))
|
||||
(let ((f30-0 (-> self clock clock-ratio)))
|
||||
(let ((s5-1 (max 1 (the int (-> self clock time-adjust-ratio)))))
|
||||
@@ -2699,17 +2630,17 @@
|
||||
(none)
|
||||
)
|
||||
|
||||
;; definition for method 9 of type board-info
|
||||
;; WARN: Return type mismatch int vs none.
|
||||
(defmethod add-to-trick-list board-info ((obj board-info) (arg0 board-tricks) (arg1 float))
|
||||
"Add specified trick and point amount to trick list."
|
||||
(send-event (handle->process (-> obj process 0 notify)) 'notify 'trick-point arg0)
|
||||
(when (and (< (-> obj trick-count) 16)
|
||||
(and (< 0.0 arg1) (nonzero? (-> (the-as fact-info-target (-> obj process 0 fact)) trick-point-duration)))
|
||||
(and (< 0.0 arg1)
|
||||
(nonzero? (-> (the-as fact-info-target (-> obj process 0 fact-info-override)) trick-point-duration))
|
||||
)
|
||||
)
|
||||
(let ((s4-0 0))
|
||||
(when (>= (- (-> *display* game-clock frame-counter)
|
||||
(-> (the-as fact-info-target (-> obj process 0 fact)) trick-point-pickup-time)
|
||||
(-> (the-as fact-info-target (-> obj process 0 fact-info-override)) trick-point-pickup-time)
|
||||
)
|
||||
(seconds 30)
|
||||
)
|
||||
@@ -2819,8 +2750,6 @@
|
||||
(none)
|
||||
)
|
||||
|
||||
;; definition for method 10 of type board-info
|
||||
;; WARN: Return type mismatch int vs none.
|
||||
(defmethod flush-trick-list board-info ((obj board-info))
|
||||
"Flush trick list and give out points."
|
||||
(let ((f30-0 0.0))
|
||||
|
||||
+3
-105
@@ -1,16 +1,13 @@
|
||||
;;-*-Lisp-*-
|
||||
(in-package goal)
|
||||
|
||||
;; definition for function build-conversions
|
||||
;; INFO: Used lq/sq
|
||||
(defbehavior build-conversions target ((arg0 vector))
|
||||
(when (!= (-> self control unknown-surface02) (-> self control surf))
|
||||
(set! (-> self control unknown-surface02) (-> self control surf))
|
||||
(set! (-> self control unknown-time-frame02) (-> self clock frame-counter))
|
||||
)
|
||||
(surface-mult! (-> self control unknown-surface01) (-> self control unknown-surface00) (-> self control surf))
|
||||
(when (and (and (= (-> (the-as fact-info-target (-> self fact)) eco-type) 3)
|
||||
(>= (-> (the-as fact-info-target (-> self fact)) eco-level) 1.0)
|
||||
(when (and (and (= (-> (the-as fact-info-target (-> self fact-info-override)) eco-type) 3)
|
||||
(>= (-> (the-as fact-info-target (-> self fact-info-override)) eco-level) 1.0)
|
||||
)
|
||||
(or (= (-> self control unknown-surface00 name) 'run) (= (-> self control unknown-surface00 name) 'jump))
|
||||
)
|
||||
@@ -57,8 +54,6 @@
|
||||
)
|
||||
)
|
||||
|
||||
;; definition for function vector-turn-to
|
||||
;; INFO: Used lq/sq
|
||||
(defbehavior vector-turn-to target ((arg0 vector))
|
||||
(forward-up-nopitch->quaternion
|
||||
(-> self control dir-targ)
|
||||
@@ -69,8 +64,6 @@
|
||||
(build-conversions (-> self control transv))
|
||||
)
|
||||
|
||||
;; definition for function reverse-conversions
|
||||
;; WARN: Return type mismatch cshape-moving-flags vs none.
|
||||
(defbehavior reverse-conversions target ((arg0 vector))
|
||||
(let ((v1-1 (-> self control unknown-vector00)))
|
||||
(set! (-> self control unknown-float05) (sqrtf (+ (* (-> v1-1 x) (-> v1-1 x)) (* (-> v1-1 z) (-> v1-1 z)))))
|
||||
@@ -80,7 +73,6 @@
|
||||
(none)
|
||||
)
|
||||
|
||||
;; definition (debug) for function draw-history
|
||||
(defun-debug draw-history ((arg0 control-info))
|
||||
(when (nonzero? *display-collide-history*)
|
||||
(when (cpad-pressed? 0 l3)
|
||||
@@ -119,11 +111,7 @@
|
||||
(none)
|
||||
)
|
||||
|
||||
;; definition (debug) for function target-history-print
|
||||
;; ERROR: function was not converted to expressions. Cannot decompile.
|
||||
|
||||
;; definition (debug) for function target-print-stats
|
||||
;; INFO: Used lq/sq
|
||||
(defun-debug target-print-stats ((arg0 target) (arg1 symbol))
|
||||
(local-vars
|
||||
(sv-64 int)
|
||||
@@ -507,8 +495,6 @@
|
||||
)
|
||||
)
|
||||
|
||||
;; definition for function read-pad
|
||||
;; INFO: Used lq/sq
|
||||
(defbehavior read-pad target ((arg0 vector))
|
||||
(when (!= (-> self control unknown-dword01) (-> *display* real-clock frame-counter))
|
||||
(set! (-> self control unknown-vector13 quad) (-> self control unknown-vector12 quad))
|
||||
@@ -542,7 +528,6 @@
|
||||
(vector-matrix*! arg0 arg0 (-> self control unknown-matrix03))
|
||||
)
|
||||
|
||||
;; definition for function set-pad
|
||||
(defbehavior set-pad target ((arg0 vector))
|
||||
(set! (-> self control unknown-float12) (vector-length arg0))
|
||||
(let ((s5-0 vector-matrix*!)
|
||||
@@ -556,16 +541,12 @@
|
||||
arg0
|
||||
)
|
||||
|
||||
;; definition for function warp-vector-into-surface!
|
||||
;; INFO: Used lq/sq
|
||||
(defun warp-vector-into-surface! ((arg0 vector) (arg1 vector) (arg2 vector) (arg3 matrix))
|
||||
(let ((a2-1 (matrix-from-two-vectors! (new-stack-matrix0) (-> arg3 vector 1) arg2)))
|
||||
(vector-matrix*! arg0 arg1 a2-1)
|
||||
)
|
||||
)
|
||||
|
||||
;; definition for function vector<-pad-in-surface!
|
||||
;; INFO: Used lq/sq
|
||||
(defbehavior vector<-pad-in-surface! target ((arg0 vector) (arg1 symbol))
|
||||
(let ((a1-1 (read-pad (new-stack-vector0))))
|
||||
(warp-vector-into-surface! arg0 a1-1 (-> self control local-normal) (-> self control unknown-matrix03))
|
||||
@@ -576,8 +557,6 @@
|
||||
arg0
|
||||
)
|
||||
|
||||
;; definition for function vector<-pad-in-matrix!
|
||||
;; WARN: Return type mismatch vector vs none.
|
||||
(defun vector<-pad-in-matrix! ((arg0 vector) (arg1 cpad-info) (arg2 matrix))
|
||||
(let ((gp-0 (new 'stack-no-clear 'vector))
|
||||
(t9-0 matrix-local->world)
|
||||
@@ -599,8 +578,6 @@
|
||||
(none)
|
||||
)
|
||||
|
||||
;; definition for function local-pad-angle
|
||||
;; INFO: Used lq/sq
|
||||
(defbehavior local-pad-angle target ()
|
||||
(let ((a0-1 (vector<-pad-in-surface! (new-stack-vector0) #f)))
|
||||
(vector-dot
|
||||
@@ -610,8 +587,6 @@
|
||||
)
|
||||
)
|
||||
|
||||
;; definition for function turn-around?
|
||||
;; INFO: Used lq/sq
|
||||
(defbehavior turn-around? target ()
|
||||
(let* ((a0-1 (vector<-pad-in-surface! (new-stack-vector0) #f))
|
||||
(gp-0 (vector-normalize! a0-1 1.0))
|
||||
@@ -660,8 +635,6 @@
|
||||
)
|
||||
)
|
||||
|
||||
;; definition for function wall-hide?
|
||||
;; INFO: Used lq/sq
|
||||
(defbehavior wall-hide? target ()
|
||||
(when (and (< 0.7 (-> self control unknown-float12))
|
||||
(< 0.7 (-> self control unknown-float27))
|
||||
@@ -733,9 +706,6 @@
|
||||
)
|
||||
)
|
||||
|
||||
;; definition for function target-log-trans
|
||||
;; INFO: Used lq/sq
|
||||
;; WARN: Return type mismatch int vs none.
|
||||
(defbehavior target-log-trans target ()
|
||||
(let ((v1-1 (-> self control unknown-word00)))
|
||||
(set! (-> self control unknown-time-frame-array00 v1-1) (-> self clock frame-counter))
|
||||
@@ -746,8 +716,6 @@
|
||||
(none)
|
||||
)
|
||||
|
||||
;; definition for function target-move-dist
|
||||
;; INFO: Used lq/sq
|
||||
(defbehavior target-move-dist target ((arg0 time-frame))
|
||||
(let ((s5-0 (new-stack-vector0))
|
||||
(f30-0 0.0)
|
||||
@@ -778,8 +746,6 @@
|
||||
)
|
||||
)
|
||||
|
||||
;; definition for function turn-to-vector
|
||||
;; INFO: Used lq/sq
|
||||
(defbehavior turn-to-vector target ((arg0 vector) (arg1 float))
|
||||
(let ((gp-0 (new-stack-vector0)))
|
||||
(warp-vector-into-surface! gp-0 arg0 (-> self control local-normal) (-> self control unknown-matrix03))
|
||||
@@ -827,7 +793,6 @@
|
||||
)
|
||||
)
|
||||
|
||||
;; definition for function target-bend-vel-turn
|
||||
(defbehavior target-bend-vel-turn target ((arg0 vector))
|
||||
(cond
|
||||
((= (-> self control unknown-surface01 vel-turn) 0.0)
|
||||
@@ -855,8 +820,6 @@
|
||||
arg0
|
||||
)
|
||||
|
||||
;; definition for function target-add-slide-factor
|
||||
;; INFO: Used lq/sq
|
||||
(defbehavior target-add-slide-factor target ((arg0 vector))
|
||||
(let* ((a1-2 (vector-flatten!
|
||||
(new 'stack-no-clear 'vector)
|
||||
@@ -916,8 +879,6 @@
|
||||
arg0
|
||||
)
|
||||
|
||||
;; definition for function add-thrust
|
||||
;; INFO: Used lq/sq
|
||||
(defbehavior add-thrust target ()
|
||||
(let ((s5-0 (-> self control unknown-vector01))
|
||||
(gp-0 (-> self control unknown-vector00))
|
||||
@@ -1077,8 +1038,6 @@
|
||||
)
|
||||
)
|
||||
|
||||
;; definition for function add-gravity
|
||||
;; INFO: Used lq/sq
|
||||
(defbehavior add-gravity target ()
|
||||
(let ((s5-0 (new-stack-vector0))
|
||||
(gp-0 (new-stack-vector0))
|
||||
@@ -1116,7 +1075,6 @@
|
||||
)
|
||||
)
|
||||
|
||||
;; definition for function target-compute-slopes
|
||||
(defbehavior target-compute-slopes target ((arg0 vector))
|
||||
(let ((gp-0 (new 'stack-no-clear 'vector))
|
||||
(s4-0 (vector-y-quaternion! (new 'stack-no-clear 'vector) (-> self control unknown-quaternion00)))
|
||||
@@ -1148,7 +1106,6 @@
|
||||
0
|
||||
)
|
||||
|
||||
;; definition for function do-rotations1
|
||||
(defbehavior do-rotations1 target ()
|
||||
(rotate-toward-orientation!
|
||||
(-> self control)
|
||||
@@ -1161,8 +1118,6 @@
|
||||
)
|
||||
)
|
||||
|
||||
;; definition for function do-rotations2
|
||||
;; INFO: Used lq/sq
|
||||
(defbehavior do-rotations2 target ()
|
||||
(let ((gp-0 (vector-z-quaternion! (new-stack-vector0) (-> self control dir-targ)))
|
||||
(s5-0
|
||||
@@ -1277,8 +1232,6 @@
|
||||
(target-compute-slopes (-> self control dynam gravity-normal))
|
||||
)
|
||||
|
||||
;; definition for function leg-ik-callback
|
||||
;; INFO: Used lq/sq
|
||||
(defun leg-ik-callback ((arg0 joint-mod-ik) (arg1 object) (arg2 object) (arg3 vector))
|
||||
(rlet ((acc :class vf)
|
||||
(vf0 :class vf)
|
||||
@@ -1377,9 +1330,6 @@
|
||||
)
|
||||
)
|
||||
|
||||
;; definition for function target-update-ik
|
||||
;; INFO: Used lq/sq
|
||||
;; WARN: Return type mismatch int vs none.
|
||||
(defbehavior target-update-ik target ()
|
||||
(rlet ((acc :class vf)
|
||||
(vf0 :class vf)
|
||||
@@ -1552,9 +1502,6 @@
|
||||
)
|
||||
)
|
||||
|
||||
;; definition for function pre-collide-setup
|
||||
;; INFO: Used lq/sq
|
||||
;; WARN: Return type mismatch int vs none.
|
||||
(defbehavior pre-collide-setup target ()
|
||||
(if (>= (-> self clock frame-counter) (-> self control unknown-time-frame04))
|
||||
(vector-normalize!
|
||||
@@ -1589,8 +1536,6 @@
|
||||
(none)
|
||||
)
|
||||
|
||||
;; definition for function level-setup
|
||||
;; WARN: Return type mismatch int vs none.
|
||||
(defbehavior level-setup target ()
|
||||
(let ((gp-0 (-> self current-level)))
|
||||
(set! (-> self current-level) (level-get-target-inside *level*))
|
||||
@@ -1607,9 +1552,6 @@
|
||||
(none)
|
||||
)
|
||||
|
||||
;; definition for function flag-setup
|
||||
;; INFO: Used lq/sq
|
||||
;; WARN: Return type mismatch int vs none.
|
||||
(defbehavior flag-setup target ()
|
||||
(cond
|
||||
((= (-> *cpad-list* cpads (-> self control unknown-cpad-info00 number) stick0-speed) 0.0)
|
||||
@@ -1876,8 +1818,6 @@
|
||||
(none)
|
||||
)
|
||||
|
||||
;; definition for function post-flag-setup
|
||||
;; WARN: Return type mismatch int vs none.
|
||||
(defbehavior post-flag-setup target ()
|
||||
(if (logtest? (-> self control status) (cshape-moving-flags t-wall t-act))
|
||||
(set! (-> self control unknown-time-frame07) (-> self clock frame-counter))
|
||||
@@ -1966,8 +1906,6 @@
|
||||
(none)
|
||||
)
|
||||
|
||||
;; definition for function bend-gravity
|
||||
;; INFO: Used lq/sq
|
||||
(defbehavior bend-gravity target ()
|
||||
(if (and (logtest? (-> self control root-prim prim-core action) (collide-action no-normal-reset))
|
||||
(zero? (logand (-> self control status) (cshape-moving-flags on-surface)))
|
||||
@@ -2071,8 +2009,6 @@
|
||||
)
|
||||
)
|
||||
|
||||
;; definition for function target-compute-edge
|
||||
;; INFO: Used lq/sq
|
||||
(defbehavior target-compute-edge target ()
|
||||
(let ((s5-0 *edge-grab-info*))
|
||||
(cond
|
||||
@@ -2223,8 +2159,6 @@
|
||||
(none)
|
||||
)
|
||||
|
||||
;; definition for function target-compute-edge-rider
|
||||
;; INFO: Used lq/sq
|
||||
(defbehavior target-compute-edge-rider target ()
|
||||
(let ((gp-0 *edge-grab-info*))
|
||||
(cond
|
||||
@@ -2289,8 +2223,6 @@
|
||||
(none)
|
||||
)
|
||||
|
||||
;; definition for function target-compute-pole
|
||||
;; INFO: Used lq/sq
|
||||
(defbehavior target-compute-pole target ()
|
||||
(let* ((s2-0 (handle->process (-> self control unknown-handle01)))
|
||||
(gp-0 (-> (the-as swingpole s2-0) dir))
|
||||
@@ -2378,9 +2310,6 @@
|
||||
(none)
|
||||
)
|
||||
|
||||
;; definition for function target-calc-camera-pos
|
||||
;; INFO: Used lq/sq
|
||||
;; WARN: Return type mismatch int vs none.
|
||||
(defbehavior target-calc-camera-pos target ()
|
||||
(let ((s5-0 (new 'stack-no-clear 'vector))
|
||||
(gp-0 (new 'stack-no-clear 'vector))
|
||||
@@ -2471,9 +2400,6 @@
|
||||
(none)
|
||||
)
|
||||
|
||||
;; definition for function joint-points
|
||||
;; INFO: Used lq/sq
|
||||
;; WARN: Return type mismatch int vs none.
|
||||
(defbehavior joint-points target ()
|
||||
(let ((f0-1 (* 0.00078125 (the float (-> self neck loock-at-count)))))
|
||||
(if (!= f0-1 0.0)
|
||||
@@ -2568,9 +2494,6 @@
|
||||
(none)
|
||||
)
|
||||
|
||||
;; definition for function do-target-gspot
|
||||
;; INFO: Used lq/sq
|
||||
;; WARN: Return type mismatch int vs none.
|
||||
(defbehavior do-target-gspot target ()
|
||||
(cond
|
||||
((and (logtest? (-> self control status) (cshape-moving-flags on-surface))
|
||||
@@ -2602,8 +2525,6 @@
|
||||
(none)
|
||||
)
|
||||
|
||||
;; definition for function target-real-post
|
||||
;; INFO: Used lq/sq
|
||||
(defbehavior target-real-post target ()
|
||||
(let ((f30-0 (-> self clock clock-ratio)))
|
||||
(let ((gp-1 (max 1 (the int (-> self clock time-adjust-ratio)))))
|
||||
@@ -2770,14 +2691,11 @@
|
||||
(none)
|
||||
)
|
||||
|
||||
;; definition for function target-post
|
||||
(defbehavior target-post target ()
|
||||
(target-real-post)
|
||||
(none)
|
||||
)
|
||||
|
||||
;; definition for function target-swim-post
|
||||
;; INFO: Used lq/sq
|
||||
(defbehavior target-swim-post target ()
|
||||
(let ((f30-0 (-> self clock clock-ratio)))
|
||||
(let ((gp-1 (max 1 (the int (-> self clock time-adjust-ratio)))))
|
||||
@@ -2905,8 +2823,6 @@
|
||||
(none)
|
||||
)
|
||||
|
||||
;; definition for function target-no-stick-post
|
||||
;; INFO: Used lq/sq
|
||||
(defbehavior target-no-stick-post target ()
|
||||
(let ((f30-0 (-> self clock clock-ratio)))
|
||||
(let ((gp-1 (max 1 (the int (-> self clock time-adjust-ratio)))))
|
||||
@@ -3035,8 +2951,6 @@
|
||||
(none)
|
||||
)
|
||||
|
||||
;; definition for function target-no-move-post
|
||||
;; INFO: Used lq/sq
|
||||
(defbehavior target-no-move-post target ()
|
||||
(let ((f30-0 (-> self clock clock-ratio)))
|
||||
(let ((gp-1 (max 1 (the int (-> self clock time-adjust-ratio)))))
|
||||
@@ -3134,7 +3048,6 @@
|
||||
(none)
|
||||
)
|
||||
|
||||
;; definition for function target-no-ja-move-post
|
||||
(defbehavior target-no-ja-move-post target ()
|
||||
(vector-!
|
||||
(-> self control unknown-vector05)
|
||||
@@ -3154,8 +3067,6 @@
|
||||
(none)
|
||||
)
|
||||
|
||||
;; definition for function reset-target-state
|
||||
;; INFO: Used lq/sq
|
||||
(defbehavior reset-target-state target ((arg0 symbol))
|
||||
(when arg0
|
||||
(vector-identity! (-> self control scale))
|
||||
@@ -3185,9 +3096,6 @@
|
||||
self
|
||||
)
|
||||
|
||||
;; definition for method 28 of type target
|
||||
;; INFO: Used lq/sq
|
||||
;; WARN: Return type mismatch int vs none.
|
||||
(defmethod init-target target ((obj target) (arg0 continue-point) (arg1 symbol))
|
||||
(local-vars (s1-0 int) (s2-0 int) (s3-0 int) (s4-0 int) (sv-16 collide-shape-prim-group))
|
||||
(set! (-> obj tobot?) arg1)
|
||||
@@ -3373,7 +3281,7 @@
|
||||
(set! (-> obj leg-ik 1 elbow-rotation-axis) (the-as uint 0))
|
||||
(set! (-> obj foot 0) (new 'process 'joint-mod (joint-mod-mode foot-rot) obj 29))
|
||||
(set! (-> obj foot 1) (new 'process 'joint-mod (joint-mod-mode foot-rot) obj 36))
|
||||
(set! (-> obj fact)
|
||||
(set! (-> obj fact-info-override)
|
||||
(new 'process 'fact-info-target obj (pickup-type eco-pill-random) (-> *FACT-bank* default-eco-pill-green-inc))
|
||||
)
|
||||
(target-gun-setup (logtest? (-> obj game features) (game-feature unk-game-feature-06)))
|
||||
@@ -3415,8 +3323,6 @@
|
||||
(none)
|
||||
)
|
||||
|
||||
;; definition for function target-init
|
||||
;; WARN: Return type mismatch object vs none.
|
||||
(defbehavior target-init target ((arg0 continue-point))
|
||||
(init-target self arg0 #f)
|
||||
(set! (-> self event-hook) (-> target-continue event))
|
||||
@@ -3425,8 +3331,6 @@
|
||||
(none)
|
||||
)
|
||||
|
||||
;; definition for function tobot-init
|
||||
;; WARN: Return type mismatch object vs none.
|
||||
(defbehavior tobot-init target ((arg0 symbol))
|
||||
(init-target self (the-as continue-point #f) 'tobot)
|
||||
(set! (-> self name) "tobot")
|
||||
@@ -3436,7 +3340,6 @@
|
||||
(none)
|
||||
)
|
||||
|
||||
;; definition for method 10 of type target
|
||||
(defmethod deactivate target ((obj target))
|
||||
(kill-persister *setting-control* (the-as engine-pers 'bg-a-speed) 'bg-a-speed)
|
||||
(if (nonzero? (-> obj darkjak))
|
||||
@@ -3448,7 +3351,6 @@
|
||||
(none)
|
||||
)
|
||||
|
||||
;; definition for function stop
|
||||
(defun stop ((arg0 symbol))
|
||||
(when *target*
|
||||
(kill-by-name "target" *active-pool*)
|
||||
@@ -3458,7 +3360,6 @@
|
||||
0
|
||||
)
|
||||
|
||||
;; definition for function start
|
||||
(defun start ((arg0 symbol) (arg1 continue-point))
|
||||
(let ((v1-0 arg0))
|
||||
(set! (-> *level* play?) (if (= v1-0 'play)
|
||||
@@ -3489,8 +3390,6 @@
|
||||
*target*
|
||||
)
|
||||
|
||||
;; definition for function tobot-start
|
||||
;; WARN: Return type mismatch (pointer process) vs target.
|
||||
(defun tobot-start ((arg0 symbol))
|
||||
(the-as target (process-spawn
|
||||
target
|
||||
@@ -3503,7 +3402,6 @@
|
||||
)
|
||||
)
|
||||
|
||||
;; definition for function tobot-stop
|
||||
(defun tobot-stop ()
|
||||
(kill-by-name "tobot" *active-pool*)
|
||||
0
|
||||
|
||||
+12
-30
@@ -1,8 +1,5 @@
|
||||
;;-*-Lisp-*-
|
||||
(in-package goal)
|
||||
|
||||
;; definition for function target-darkjak-setup
|
||||
;; WARN: Return type mismatch int vs none.
|
||||
(defbehavior target-darkjak-setup target ((arg0 symbol))
|
||||
(when (zero? (-> self darkjak))
|
||||
(set! (-> self darkjak) (new 'process 'darkjak-info))
|
||||
@@ -21,7 +18,6 @@
|
||||
(none)
|
||||
)
|
||||
|
||||
;; definition for function want-to-darkjak?
|
||||
(defbehavior want-to-darkjak? target ()
|
||||
(and (cpad-pressed? (-> self control unknown-cpad-info00 number) l2)
|
||||
(not *pause-lock*)
|
||||
@@ -52,7 +48,9 @@
|
||||
)
|
||||
)
|
||||
(or (and (not (and (logtest? (focus-status dark) (-> self focus-status)) (nonzero? (-> self darkjak))))
|
||||
(and (>= (- (-> self clock frame-counter) (-> (the-as fact-info-target (-> self fact)) darkjak-start-time))
|
||||
(and (>= (- (-> self clock frame-counter)
|
||||
(-> (the-as fact-info-target (-> self fact-info-override)) darkjak-start-time)
|
||||
)
|
||||
(seconds 0.05)
|
||||
)
|
||||
(>= (-> self game eco-pill-dark) (-> *FACT-bank* eco-pill-dark-max-default))
|
||||
@@ -70,15 +68,12 @@
|
||||
)
|
||||
)
|
||||
|
||||
;; failed to figure out what this is:
|
||||
(let ((v1-3 (copy *walk-mods* 'global)))
|
||||
(set! (-> v1-3 name) 'darkjak)
|
||||
(set! (-> v1-3 flags) (surface-flag gun-off))
|
||||
(set! *darkjak-trans-mods* v1-3)
|
||||
)
|
||||
|
||||
;; definition for function target-darkjak-end-mode
|
||||
;; WARN: Return type mismatch int vs none.
|
||||
(defbehavior target-darkjak-end-mode target ()
|
||||
(when (and (logtest? (focus-status dark) (-> self focus-status)) (nonzero? (-> self darkjak)))
|
||||
(logclear! (-> self focus-status) (focus-status dark))
|
||||
@@ -97,9 +92,6 @@
|
||||
(none)
|
||||
)
|
||||
|
||||
;; definition for function target-darkjak-process
|
||||
;; INFO: Used lq/sq
|
||||
;; WARN: Return type mismatch int vs none.
|
||||
(defbehavior target-darkjak-process target ((arg0 object) (arg1 object) (arg2 object) (arg3 object) (arg4 object) (arg5 object) (arg6 float))
|
||||
(local-vars (gp-0 vector))
|
||||
(cond
|
||||
@@ -116,8 +108,10 @@
|
||||
)
|
||||
(target-danger-set! (-> self control unknown-symbol04) #f)
|
||||
(collide-shape-method-46 (-> self control))
|
||||
(if (and (or (>= (- (-> self clock frame-counter) (-> (the-as fact-info-target (-> self fact)) darkjak-start-time))
|
||||
(-> (the-as fact-info-target (-> self fact)) darkjak-effect-time)
|
||||
(if (and (or (>= (- (-> self clock frame-counter)
|
||||
(-> (the-as fact-info-target (-> self fact-info-override)) darkjak-start-time)
|
||||
)
|
||||
(-> (the-as fact-info-target (-> self fact-info-override)) darkjak-effect-time)
|
||||
)
|
||||
(not (-> *setting-control* user-current darkjak))
|
||||
)
|
||||
@@ -270,7 +264,6 @@
|
||||
(none)
|
||||
)
|
||||
|
||||
;; failed to figure out what this is:
|
||||
(defstate target-darkjak-get-on (target)
|
||||
:event (behavior ((proc process) (arg1 int) (event-type symbol) (event event-message-block))
|
||||
(case event-type
|
||||
@@ -295,7 +288,7 @@
|
||||
(persist-with-delay *setting-control* 'bg-a-speed (seconds 3) 'bg-a-speed 'abs 0.5 0)
|
||||
(if (not (and (-> self next-state) (= (-> self next-state name) 'target-darkjak-get-off)))
|
||||
(pickup-collectable!
|
||||
(-> self fact)
|
||||
(-> self fact-info-override)
|
||||
(pickup-type eco-pill-dark)
|
||||
(- (-> *FACT-bank* eco-pill-dark-max-default))
|
||||
(the-as handle #f)
|
||||
@@ -326,8 +319,10 @@
|
||||
(set! (-> self darkjak-giant-interp) 1.0)
|
||||
(set-setting! 'sound-flava #f #x41f00000 4)
|
||||
(set! (-> self focus-status) (logior (focus-status dark) (-> self focus-status)))
|
||||
(set! (-> (the-as fact-info-target (-> self fact)) darkjak-start-time) (-> self clock frame-counter))
|
||||
(set! (-> (the-as fact-info-target (-> self fact)) darkjak-effect-time) (seconds 20))
|
||||
(set! (-> (the-as fact-info-target (-> self fact-info-override)) darkjak-start-time)
|
||||
(-> self clock frame-counter)
|
||||
)
|
||||
(set! (-> (the-as fact-info-target (-> self fact-info-override)) darkjak-effect-time) (seconds 20))
|
||||
(if (logtest? (-> self darkjak stage) 16)
|
||||
(logior! (-> self state-flags) (state-flags sf4))
|
||||
(logclear! (-> self state-flags) (state-flags sf4))
|
||||
@@ -408,7 +403,6 @@
|
||||
:post (-> target-grab post)
|
||||
)
|
||||
|
||||
;; failed to figure out what this is:
|
||||
(defstate target-darkjak-get-off (target)
|
||||
:event (behavior ((proc process) (arg1 int) (event-type symbol) (event event-message-block))
|
||||
(case event-type
|
||||
@@ -612,7 +606,6 @@
|
||||
:post (-> target-grab post)
|
||||
)
|
||||
|
||||
;; failed to figure out what this is:
|
||||
(defstate target-darkjak-running-attack (target)
|
||||
:event (-> target-running-attack event)
|
||||
:enter (-> target-running-attack enter)
|
||||
@@ -1008,8 +1001,6 @@
|
||||
:post target-post
|
||||
)
|
||||
|
||||
;; definition for method 9 of type darkjak-info
|
||||
;; WARN: Return type mismatch int vs none.
|
||||
(defmethod update-clock! darkjak-info ((obj darkjak-info) (arg0 int))
|
||||
(when (-> obj clock-on)
|
||||
(+! (-> obj clock-pos) (* (-> obj clock-vel) (-> self clock seconds-per-frame)))
|
||||
@@ -1043,8 +1034,6 @@
|
||||
(none)
|
||||
)
|
||||
|
||||
;; definition for function target-darkjak-bomb-collide
|
||||
;; WARN: Return type mismatch int vs none.
|
||||
(defbehavior target-darkjak-bomb-collide target ((arg0 float) (arg1 float))
|
||||
(seek! (-> (the-as (pointer float) arg0) 0) arg1 (* 4.0 (-> self clock seconds-per-frame)))
|
||||
(set! (-> self control unknown-float40) (-> (the-as (pointer float) arg0) 0))
|
||||
@@ -1063,7 +1052,6 @@
|
||||
(none)
|
||||
)
|
||||
|
||||
;; failed to figure out what this is:
|
||||
(defstate target-darkjak-bomb0 (target)
|
||||
:event (behavior ((proc process) (arg1 int) (event-type symbol) (event event-message-block))
|
||||
(case event-type
|
||||
@@ -1510,7 +1498,6 @@
|
||||
:post target-no-stick-post
|
||||
)
|
||||
|
||||
;; failed to figure out what this is:
|
||||
(set! (-> *lightning-spec-id-table* 10) (new 'static 'lightning-spec
|
||||
:name "lightning-darkjak-bomb1"
|
||||
:flags (lightning-spec-flags lsf0 size-from-adjust-dist)
|
||||
@@ -1532,9 +1519,6 @@
|
||||
)
|
||||
)
|
||||
|
||||
;; definition for function target-bomb1-fire-shot
|
||||
;; INFO: Used lq/sq
|
||||
;; WARN: Return type mismatch object vs none.
|
||||
(defbehavior target-bomb1-fire-shot target ((arg0 (pointer handle)) (arg1 int) (arg2 int) (arg3 int))
|
||||
(local-vars (sv-128 target) (sv-144 int) (sv-160 vector) (sv-176 vector) (sv-192 vector))
|
||||
(rlet ((vf0 :class vf)
|
||||
@@ -1636,7 +1620,6 @@
|
||||
)
|
||||
)
|
||||
|
||||
;; failed to figure out what this is:
|
||||
(defstate target-darkjak-bomb1 (target)
|
||||
:event (-> target-darkjak-bomb0 event)
|
||||
:enter (-> target-attack-uppercut-jump enter)
|
||||
@@ -1971,7 +1954,6 @@
|
||||
:post target-post
|
||||
)
|
||||
|
||||
;; failed to figure out what this is:
|
||||
(defstate target-darkjak-giant (target)
|
||||
:event target-standard-event-handler
|
||||
:exit (behavior ()
|
||||
|
||||
+1
-46
@@ -1,12 +1,9 @@
|
||||
;;-*-Lisp-*-
|
||||
(in-package goal)
|
||||
|
||||
;; failed to figure out what this is:
|
||||
(if (not (nmember "gunp" *kernel-packages*))
|
||||
(set! *kernel-packages* (cons "gunp" *kernel-packages*))
|
||||
)
|
||||
|
||||
;; definition for symbol *gun-walk-mods*, type surface
|
||||
(define *gun-walk-mods*
|
||||
(new 'static 'surface
|
||||
:name 'run
|
||||
@@ -104,7 +101,6 @@
|
||||
)
|
||||
)
|
||||
|
||||
;; definition for function target-gun-event-handler
|
||||
(defbehavior target-gun-event-handler target ((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block))
|
||||
(cond
|
||||
((and (= arg2 'query) (= (-> arg3 param 0) 'mode))
|
||||
@@ -151,8 +147,6 @@
|
||||
)
|
||||
)
|
||||
|
||||
;; definition for function target-gun-setup
|
||||
;; WARN: Return type mismatch int vs none.
|
||||
(defbehavior target-gun-setup target ((arg0 symbol))
|
||||
(when (zero? (-> self gun))
|
||||
(if (zero? (-> self game gun-type))
|
||||
@@ -192,8 +186,6 @@
|
||||
(none)
|
||||
)
|
||||
|
||||
;; definition for function target-gun-init
|
||||
;; WARN: Return type mismatch int vs none.
|
||||
(defbehavior target-gun-init target ((arg0 int))
|
||||
(let ((gp-0 (-> self gun)))
|
||||
(if (zero? (-> gp-0 hips))
|
||||
@@ -362,12 +354,10 @@
|
||||
(none)
|
||||
)
|
||||
|
||||
;; definition for function target-gun-exit
|
||||
(defun target-gun-exit ()
|
||||
#f
|
||||
)
|
||||
|
||||
;; definition for function target-gun-end-mode
|
||||
(defbehavior target-gun-end-mode target ((arg0 symbol))
|
||||
(when (using-gun? self)
|
||||
(set! (-> self gun fire-pending) 0)
|
||||
@@ -531,12 +521,10 @@
|
||||
)
|
||||
)
|
||||
|
||||
;; definition for function quat<-gun!
|
||||
(defun quat<-gun! ((arg0 quaternion) (arg1 quaternion))
|
||||
(quaternion-copy! arg0 (the-as quaternion *null-vector*))
|
||||
)
|
||||
|
||||
;; definition for function target-gun-ammo-out-pick
|
||||
(defbehavior target-gun-ammo-out-pick target ()
|
||||
(cond
|
||||
((and (and (logtest? (-> self game features) (game-feature unk-game-feature-06))
|
||||
@@ -585,8 +573,6 @@
|
||||
)
|
||||
)
|
||||
|
||||
;; definition for function target-gun-type-set!
|
||||
;; WARN: Return type mismatch int vs none.
|
||||
(defbehavior target-gun-type-set! target ((arg0 int))
|
||||
(if (zero? arg0)
|
||||
(set! arg0 (-> self game gun-type))
|
||||
@@ -1086,8 +1072,6 @@
|
||||
(none)
|
||||
)
|
||||
|
||||
;; definition for function target-gun-marking-menu
|
||||
;; WARN: Return type mismatch int vs none.
|
||||
(defun target-gun-marking-menu ((arg0 target))
|
||||
(when (and (not (paused?))
|
||||
(not (and (logtest? (focus-status dark) (-> arg0 focus-status)) (nonzero? (-> arg0 darkjak))))
|
||||
@@ -1148,9 +1132,6 @@
|
||||
(none)
|
||||
)
|
||||
|
||||
;; definition for function target-gun-build-track-list
|
||||
;; INFO: Used lq/sq
|
||||
;; WARN: Return type mismatch int vs none.
|
||||
(defbehavior target-gun-build-track-list target ()
|
||||
(let ((gp-0 (new 'stack-no-clear 'vector)))
|
||||
(set! (-> gp-0 quad) (-> self control trans quad))
|
||||
@@ -1191,9 +1172,6 @@
|
||||
(none)
|
||||
)
|
||||
|
||||
;; definition for function target-gun-find-track
|
||||
;; INFO: Used lq/sq
|
||||
;; WARN: Return type mismatch int vs none.
|
||||
(defbehavior target-gun-find-track target ()
|
||||
(if (logtest? (-> self gun upper-body track-mode) (track-mode lock-on))
|
||||
(logior! (-> self gun track?) 8)
|
||||
@@ -1420,8 +1398,6 @@
|
||||
(none)
|
||||
)
|
||||
|
||||
;; definition for function target-top-anim-base-mode
|
||||
;; WARN: Return type mismatch int vs none.
|
||||
(defbehavior target-top-anim-base-mode target ((arg0 int))
|
||||
(cond
|
||||
((logtest? (-> self focus-status) (focus-status pilot-riding))
|
||||
@@ -1537,8 +1513,6 @@
|
||||
(none)
|
||||
)
|
||||
|
||||
;; definition for function target-gun-combo-start
|
||||
;; WARN: Return type mismatch int vs none.
|
||||
(defbehavior target-gun-combo-start target ((arg0 int) (arg1 time-frame))
|
||||
(target-top-anim-base-mode arg0)
|
||||
(set! (-> self gun surpress-time) (+ (-> self clock frame-counter) arg0))
|
||||
@@ -1547,9 +1521,6 @@
|
||||
(none)
|
||||
)
|
||||
|
||||
;; definition for function target-gun-joint-pre0
|
||||
;; INFO: Used lq/sq
|
||||
;; WARN: Return type mismatch int vs none.
|
||||
(defbehavior target-gun-joint-pre0 target ()
|
||||
(if (!= (zero? (logand (-> self game features) (game-feature unk-game-feature-06))) (not (-> self gun gun)))
|
||||
(target-gun-setup (logtest? (-> self game features) (game-feature unk-game-feature-06)))
|
||||
@@ -1920,8 +1891,6 @@
|
||||
(none)
|
||||
)
|
||||
|
||||
;; definition for function target-gun-joint-pre
|
||||
;; WARN: Return type mismatch int vs none.
|
||||
(defbehavior target-gun-joint-pre target ()
|
||||
(local-vars (gp-0 art-element))
|
||||
(target-gun-joint-pre0)
|
||||
@@ -2107,8 +2076,6 @@
|
||||
(none)
|
||||
)
|
||||
|
||||
;; definition for function target-gun-compute-pos
|
||||
;; INFO: Used lq/sq
|
||||
(defbehavior target-gun-compute-pos target ()
|
||||
(let ((a1-0 (-> self node-list data 24 bone transform))
|
||||
(a2-0 (if (-> self sidekick)
|
||||
@@ -2152,8 +2119,6 @@
|
||||
)
|
||||
)
|
||||
|
||||
;; definition for function target-gun-joint-points
|
||||
;; WARN: Return type mismatch int vs none.
|
||||
(defbehavior target-gun-joint-points target ()
|
||||
(when (-> self gun gun)
|
||||
(set! (-> self gun gun-daxter)
|
||||
@@ -2370,8 +2335,6 @@
|
||||
(none)
|
||||
)
|
||||
|
||||
;; definition for function target-gun-fire
|
||||
;; WARN: Return type mismatch symbol vs none.
|
||||
(defbehavior target-gun-fire target ((arg0 pickup-type))
|
||||
(when (using-gun? self)
|
||||
(let* ((gp-0 (-> self gun))
|
||||
@@ -2383,7 +2346,7 @@
|
||||
(logtest? (state-flags sf16) (-> self state-flags))
|
||||
(logtest? (-> self game secrets) (game-secrets endless-ammo))
|
||||
)
|
||||
(pickup-collectable! (-> self fact) (the-as pickup-type a1-0) -1.0 (the-as handle #f))
|
||||
(pickup-collectable! (-> self fact-info-override) (the-as pickup-type a1-0) -1.0 (the-as handle #f))
|
||||
(case (-> gp-0 gun-type)
|
||||
(((pickup-type eco-blue))
|
||||
(cond
|
||||
@@ -2639,8 +2602,6 @@
|
||||
(none)
|
||||
)
|
||||
|
||||
;; definition for function target-gun-check
|
||||
;; WARN: Return type mismatch int vs none.
|
||||
(defbehavior target-gun-check target ()
|
||||
(when (using-gun? self)
|
||||
(let ((gp-0 (-> self gun)))
|
||||
@@ -2845,9 +2806,6 @@
|
||||
(none)
|
||||
)
|
||||
|
||||
;; definition for function camera-rotate-to-vector
|
||||
;; INFO: Used lq/sq
|
||||
;; WARN: Return type mismatch object vs none.
|
||||
(defun camera-rotate-to-vector ((arg0 vector) (arg1 vector))
|
||||
(let ((s5-0 (new 'stack-no-clear 'vector)))
|
||||
(set! (-> s5-0 quad) (-> arg0 quad))
|
||||
@@ -2867,8 +2825,6 @@
|
||||
(none)
|
||||
)
|
||||
|
||||
;; definition for function target-gun-real-post
|
||||
;; INFO: Used lq/sq
|
||||
(defbehavior target-gun-real-post target ()
|
||||
(let ((f30-0 (-> self clock clock-ratio)))
|
||||
(let ((gp-1 (max 1 (the int (-> self clock time-adjust-ratio)))))
|
||||
@@ -3003,7 +2959,6 @@
|
||||
(none)
|
||||
)
|
||||
|
||||
;; definition for function target-gun-post
|
||||
(defbehavior target-gun-post target ()
|
||||
(target-gun-real-post)
|
||||
(none)
|
||||
|
||||
+1
-11
@@ -1,7 +1,5 @@
|
||||
;;-*-Lisp-*-
|
||||
(in-package goal)
|
||||
|
||||
;; failed to figure out what this is:
|
||||
(defstate target-wade-stance (target)
|
||||
:event target-standard-event-handler
|
||||
:enter (behavior ()
|
||||
@@ -66,7 +64,6 @@
|
||||
:post target-post
|
||||
)
|
||||
|
||||
;; failed to figure out what this is:
|
||||
(defstate target-wade-walk (target)
|
||||
:event target-standard-event-handler
|
||||
:enter (behavior ()
|
||||
@@ -341,7 +338,6 @@
|
||||
:post target-post
|
||||
)
|
||||
|
||||
;; definition for function target-swim-tilt
|
||||
(defbehavior target-swim-tilt target ((arg0 float) (arg1 float) (arg2 float) (arg3 float))
|
||||
(let ((gp-0 (vector-z-quaternion! (new 'stack-no-clear 'vector) (-> self control unknown-quaternion00))))
|
||||
(let ((v1-2 (vector-z-quaternion! (new 'stack-no-clear 'vector) (-> self control dir-targ)))
|
||||
@@ -375,7 +371,6 @@
|
||||
(set! (-> self control unknown-vector04 y) (-> self control unknown-float001))
|
||||
)
|
||||
|
||||
;; failed to figure out what this is:
|
||||
(defstate target-swim-stance (target)
|
||||
:event target-standard-event-handler
|
||||
:enter (behavior ()
|
||||
@@ -530,7 +525,6 @@
|
||||
:post target-swim-post
|
||||
)
|
||||
|
||||
;; failed to figure out what this is:
|
||||
(defstate target-swim-walk (target)
|
||||
:event target-standard-event-handler
|
||||
:enter (behavior ()
|
||||
@@ -653,7 +647,6 @@
|
||||
:post target-swim-post
|
||||
)
|
||||
|
||||
;; failed to figure out what this is:
|
||||
(defstate target-swim-down (target)
|
||||
:event (behavior ((proc process) (arg1 int) (event-type symbol) (event event-message-block))
|
||||
(local-vars (t0-7 symbol))
|
||||
@@ -684,7 +677,7 @@
|
||||
(set! (-> v1-1 mode) 'damage)
|
||||
)
|
||||
(if (and (= (-> self game mode) 'play)
|
||||
(>= 0.0 (- (-> (the-as fact-info-target (-> self fact)) health) (-> v1-1 damage)))
|
||||
(>= 0.0 (- (-> (the-as fact-info-target (-> self fact-info-override)) health) (-> v1-1 damage)))
|
||||
)
|
||||
(set! (-> v1-1 mode) 'drown-death)
|
||||
)
|
||||
@@ -882,7 +875,6 @@
|
||||
:post target-swim-post
|
||||
)
|
||||
|
||||
;; failed to figure out what this is:
|
||||
(defstate target-swim-up (target)
|
||||
:event (-> target-swim-down event)
|
||||
:enter (behavior ()
|
||||
@@ -1026,7 +1018,6 @@
|
||||
:post target-swim-post
|
||||
)
|
||||
|
||||
;; failed to figure out what this is:
|
||||
(defstate target-swim-jump-jump (target)
|
||||
:event (-> target-jump event)
|
||||
:enter (-> target-jump enter)
|
||||
@@ -1048,7 +1039,6 @@
|
||||
:post target-post
|
||||
)
|
||||
|
||||
;; failed to figure out what this is:
|
||||
(defstate target-swim-jump (target)
|
||||
:event target-standard-event-handler
|
||||
:enter (-> target-swim-stance enter)
|
||||
|
||||
+3
-3
@@ -731,7 +731,7 @@
|
||||
)
|
||||
)
|
||||
)
|
||||
(case (-> (the-as fact-info-target (-> self fact)) eco-type)
|
||||
(case (-> (the-as fact-info-target (-> self fact-info-override)) eco-type)
|
||||
((1)
|
||||
(set! (-> self control penetrate-using) (logior (penetrate eco-yellow) (-> self control penetrate-using)))
|
||||
)
|
||||
@@ -1433,8 +1433,8 @@
|
||||
)
|
||||
)
|
||||
(>= (- (-> self clock frame-counter) (-> self control unknown-time-frame11))
|
||||
(the-as time-frame (if (and (= (-> (the-as fact-info-target (-> self fact)) eco-type) 1)
|
||||
(>= (-> (the-as fact-info-target (-> self fact)) eco-level) 1.0)
|
||||
(the-as time-frame (if (and (= (-> (the-as fact-info-target (-> self fact-info-override)) eco-type) 1)
|
||||
(>= (-> (the-as fact-info-target (-> self fact-info-override)) eco-level) 1.0)
|
||||
)
|
||||
(-> *TARGET-bank* yellow-attack-timeout)
|
||||
(-> *TARGET-bank* attack-timeout)
|
||||
|
||||
+18
-61
@@ -1,8 +1,5 @@
|
||||
;;-*-Lisp-*-
|
||||
(in-package goal)
|
||||
|
||||
;; definition for function target-falling-trans
|
||||
;; WARN: Return type mismatch int vs none.
|
||||
(defbehavior target-falling-trans target ((arg0 symbol) (arg1 time-frame))
|
||||
(if (want-to-darkjak?)
|
||||
(go target-darkjak-get-on 2)
|
||||
@@ -30,7 +27,6 @@
|
||||
(none)
|
||||
)
|
||||
|
||||
;; failed to figure out what this is:
|
||||
(defstate target-startup (target)
|
||||
:event target-standard-event-handler
|
||||
:code (behavior ()
|
||||
@@ -42,7 +38,6 @@
|
||||
:post target-no-move-post
|
||||
)
|
||||
|
||||
;; failed to figure out what this is:
|
||||
(defstate target-stance (target)
|
||||
:event target-standard-event-handler
|
||||
:enter (behavior ()
|
||||
@@ -142,7 +137,6 @@
|
||||
:post target-post
|
||||
)
|
||||
|
||||
;; failed to figure out what this is:
|
||||
(defstate target-walk (target)
|
||||
:event target-walk-event-handler
|
||||
:enter (behavior ()
|
||||
@@ -254,7 +248,6 @@
|
||||
:post target-post
|
||||
)
|
||||
|
||||
;; failed to figure out what this is:
|
||||
(defstate target-turn-around (target)
|
||||
:event target-standard-event-handler
|
||||
:enter (behavior ()
|
||||
@@ -320,7 +313,6 @@
|
||||
:post target-no-stick-post
|
||||
)
|
||||
|
||||
;; failed to figure out what this is:
|
||||
(defstate target-slide-down (target)
|
||||
:event target-walk-event-handler
|
||||
:enter (behavior ()
|
||||
@@ -367,7 +359,6 @@
|
||||
:post target-post
|
||||
)
|
||||
|
||||
;; definition for symbol *slide-down-mods*, type surface
|
||||
(define *slide-down-mods* (new 'static 'surface
|
||||
:name 'run
|
||||
:turnv 131072.0
|
||||
@@ -400,7 +391,6 @@
|
||||
)
|
||||
)
|
||||
|
||||
;; definition for symbol *slide-jump-mods*, type surface
|
||||
(define *slide-jump-mods* (new 'static 'surface
|
||||
:name 'jump
|
||||
:turnv 32768.0
|
||||
@@ -434,7 +424,6 @@
|
||||
)
|
||||
)
|
||||
|
||||
;; failed to figure out what this is:
|
||||
(defstate target-slide-down-to-ground (target)
|
||||
:event (behavior ((proc process) (arg1 int) (event-type symbol) (event event-message-block))
|
||||
(case event-type
|
||||
@@ -572,8 +561,6 @@
|
||||
)
|
||||
)
|
||||
|
||||
;; definition for function init-var-jump
|
||||
;; INFO: Used lq/sq
|
||||
(defbehavior init-var-jump target ((arg0 float) (arg1 float) (arg2 symbol) (arg3 symbol) (arg4 vector) (arg5 float))
|
||||
(when (and (logtest? (focus-status dark) (-> self focus-status))
|
||||
(nonzero? (-> self darkjak))
|
||||
@@ -652,8 +639,6 @@
|
||||
)
|
||||
)
|
||||
|
||||
;; definition for function mod-var-jump
|
||||
;; INFO: Used lq/sq
|
||||
(defbehavior mod-var-jump target ((arg0 symbol) (arg1 symbol) (arg2 symbol) (arg3 vector))
|
||||
(local-vars (v0-1 vector))
|
||||
(let ((f0-1 (* 0.033333335 (the float (- (-> self clock frame-counter) (-> self state-time))))))
|
||||
@@ -730,7 +715,6 @@
|
||||
)
|
||||
)
|
||||
|
||||
;; definition for symbol *duck-mods*, type surface
|
||||
(define *duck-mods*
|
||||
(new 'static 'surface
|
||||
:name 'duck
|
||||
@@ -784,7 +768,6 @@
|
||||
)
|
||||
)
|
||||
|
||||
;; failed to figure out what this is:
|
||||
(defstate target-duck-stance (target)
|
||||
:event target-standard-event-handler
|
||||
:enter (behavior ((arg0 symbol))
|
||||
@@ -955,7 +938,6 @@
|
||||
:post target-post
|
||||
)
|
||||
|
||||
;; failed to figure out what this is:
|
||||
(defstate target-duck-walk (target)
|
||||
:event target-standard-event-handler
|
||||
:enter (behavior ((arg0 symbol))
|
||||
@@ -1075,8 +1057,6 @@
|
||||
:post target-post
|
||||
)
|
||||
|
||||
;; definition for function target-jump-top-anim
|
||||
;; WARN: Return type mismatch int vs none.
|
||||
(defbehavior target-jump-top-anim target ()
|
||||
(let ((gp-0 (top-anim-joint-control-method-11 (-> self skel top-anim) 0)))
|
||||
(when gp-0
|
||||
@@ -1098,7 +1078,6 @@
|
||||
(none)
|
||||
)
|
||||
|
||||
;; failed to figure out what this is:
|
||||
(defstate target-jump (target)
|
||||
:event target-jump-event-handler
|
||||
:enter (behavior ((arg0 float) (arg1 float) (arg2 surface))
|
||||
@@ -1328,7 +1307,6 @@
|
||||
:post target-post
|
||||
)
|
||||
|
||||
;; failed to figure out what this is:
|
||||
(defstate target-jump-forward (target)
|
||||
:event target-jump-event-handler
|
||||
:enter (behavior ((arg0 float) (arg1 float))
|
||||
@@ -1390,7 +1368,6 @@
|
||||
:post target-post
|
||||
)
|
||||
|
||||
;; failed to figure out what this is:
|
||||
(defstate target-double-jump (target)
|
||||
:event target-jump-event-handler
|
||||
:enter (behavior ((arg0 float) (arg1 float))
|
||||
@@ -1527,7 +1504,6 @@
|
||||
:post target-post
|
||||
)
|
||||
|
||||
;; failed to figure out what this is:
|
||||
(defstate target-high-jump (target)
|
||||
:event target-jump-event-handler
|
||||
:enter (behavior ((arg0 float) (arg1 float) (arg2 object))
|
||||
@@ -1619,7 +1595,6 @@
|
||||
:post target-post
|
||||
)
|
||||
|
||||
;; failed to figure out what this is:
|
||||
(defstate target-duck-high-jump (target)
|
||||
:event target-standard-event-handler
|
||||
:enter (behavior ((arg0 float) (arg1 float) (arg2 symbol))
|
||||
@@ -1671,7 +1646,6 @@
|
||||
:post target-post
|
||||
)
|
||||
|
||||
;; failed to figure out what this is:
|
||||
(defstate target-duck-high-jump-jump (target)
|
||||
:event target-jump-event-handler
|
||||
:enter (behavior ((arg0 float) (arg1 float) (arg2 symbol))
|
||||
@@ -1819,7 +1793,6 @@
|
||||
:post target-post
|
||||
)
|
||||
|
||||
;; failed to figure out what this is:
|
||||
(defstate target-falling (target)
|
||||
:event target-jump-event-handler
|
||||
:enter (behavior ((arg0 symbol))
|
||||
@@ -1877,7 +1850,6 @@
|
||||
:post target-post
|
||||
)
|
||||
|
||||
;; failed to figure out what this is:
|
||||
(defstate target-hit-ground (target)
|
||||
:event target-walk-event-handler
|
||||
:enter (behavior ((arg0 symbol))
|
||||
@@ -2045,7 +2017,6 @@
|
||||
:post target-post
|
||||
)
|
||||
|
||||
;; definition for symbol *attack-mods*, type surface
|
||||
(define *attack-mods* (new 'static 'surface
|
||||
:name 'attack
|
||||
:tiltv 65536.0
|
||||
@@ -2089,7 +2060,6 @@
|
||||
)
|
||||
)
|
||||
|
||||
;; failed to figure out what this is:
|
||||
(let ((v1-25 (copy *attack-mods* 'global)))
|
||||
(set! (-> v1-25 flags) (surface-flag attack spin gun-turn-fast))
|
||||
(set! (-> v1-25 mult-hook) (lambda :behavior target
|
||||
@@ -2108,7 +2078,6 @@
|
||||
(set! *attack-end-mods* v1-25)
|
||||
)
|
||||
|
||||
;; failed to figure out what this is:
|
||||
(defstate target-attack (target)
|
||||
:event (behavior ((proc process) (arg1 int) (event-type symbol) (event event-message-block))
|
||||
(case event-type
|
||||
@@ -2266,8 +2235,8 @@
|
||||
(until (ja-done? 0)
|
||||
(compute-alignment! (-> self align))
|
||||
(align! (-> self align) (align-opts adjust-quat) 1.0 1.0 1.0)
|
||||
(when (and (= (-> (the-as fact-info-target (-> self fact)) eco-type) 2)
|
||||
(>= (-> (the-as fact-info-target (-> self fact)) eco-level) 1.0)
|
||||
(when (and (= (-> (the-as fact-info-target (-> self fact-info-override)) eco-type) 2)
|
||||
(>= (-> (the-as fact-info-target (-> self fact-info-override)) eco-level) 1.0)
|
||||
)
|
||||
(let ((s5-1 (method-of-object (-> self skel effect) effect-control-method-10)))
|
||||
'group-red-eco-spinkick
|
||||
@@ -2368,7 +2337,6 @@
|
||||
:post target-post
|
||||
)
|
||||
|
||||
;; definition for symbol *run-attack-mods*, type surface
|
||||
(define *run-attack-mods* (new 'static 'surface
|
||||
:name 'punch
|
||||
:tiltv 32768.0
|
||||
@@ -2395,7 +2363,6 @@
|
||||
)
|
||||
)
|
||||
|
||||
;; failed to figure out what this is:
|
||||
(defstate target-running-attack (target)
|
||||
:event (behavior ((proc process) (arg1 int) (event-type symbol) (event event-message-block))
|
||||
(case event-type
|
||||
@@ -2601,8 +2568,8 @@
|
||||
#f
|
||||
)
|
||||
)
|
||||
(when (and (= (-> (the-as fact-info-target (-> self fact)) eco-type) 2)
|
||||
(>= (-> (the-as fact-info-target (-> self fact)) eco-level) 1.0)
|
||||
(when (and (= (-> (the-as fact-info-target (-> self fact-info-override)) eco-type) 2)
|
||||
(>= (-> (the-as fact-info-target (-> self fact-info-override)) eco-level) 1.0)
|
||||
)
|
||||
(let ((s5-1 (method-of-object (-> self skel effect) effect-control-method-10)))
|
||||
'group-red-eco-spinkick
|
||||
@@ -2890,7 +2857,6 @@
|
||||
:post target-post
|
||||
)
|
||||
|
||||
;; definition for symbol *jump-attack-mods*, type surface
|
||||
(define *jump-attack-mods*
|
||||
(new 'static 'surface
|
||||
:name 'attack
|
||||
@@ -2941,7 +2907,6 @@
|
||||
)
|
||||
)
|
||||
|
||||
;; failed to figure out what this is:
|
||||
(defstate target-attack-air (target)
|
||||
:event (behavior ((proc process) (arg1 int) (event-type symbol) (event event-message-block))
|
||||
(let ((v0-0 (target-bonk-event-handler proc arg1 event-type event)))
|
||||
@@ -3058,8 +3023,8 @@
|
||||
(set! (-> self control dynam gravity-max) (-> self control unknown-dynamics00 gravity-max))
|
||||
(set! (-> self control dynam gravity-length) (-> self control unknown-dynamics00 gravity-length))
|
||||
)
|
||||
(when (and (= (-> (the-as fact-info-target (-> self fact)) eco-type) 2)
|
||||
(>= (-> (the-as fact-info-target (-> self fact)) eco-level) 1.0)
|
||||
(when (and (= (-> (the-as fact-info-target (-> self fact-info-override)) eco-type) 2)
|
||||
(>= (-> (the-as fact-info-target (-> self fact-info-override)) eco-level) 1.0)
|
||||
)
|
||||
(let ((s5-0 (method-of-object (-> self skel effect) effect-control-method-10)))
|
||||
'group-red-eco-spinkick
|
||||
@@ -3094,13 +3059,11 @@
|
||||
:post target-post
|
||||
)
|
||||
|
||||
;; failed to figure out what this is:
|
||||
(let ((v1-32 (copy *turn-around-mods* 'global)))
|
||||
(set! (-> v1-32 flags) (surface-flag attack gun-inactive))
|
||||
(set! *uppercut-mods* v1-32)
|
||||
)
|
||||
|
||||
;; definition for symbol *uppercut-jump-mods*, type surface
|
||||
(define *uppercut-jump-mods* (new 'static 'surface
|
||||
:name 'uppercut
|
||||
:turnvv 18204.445
|
||||
@@ -3142,7 +3105,6 @@
|
||||
)
|
||||
)
|
||||
|
||||
;; failed to figure out what this is:
|
||||
(defstate target-attack-uppercut (target)
|
||||
:event target-dangerous-event-handler
|
||||
:enter (behavior ((arg0 float) (arg1 float))
|
||||
@@ -3264,7 +3226,6 @@
|
||||
:post target-post
|
||||
)
|
||||
|
||||
;; failed to figure out what this is:
|
||||
(defstate target-attack-uppercut-jump (target)
|
||||
:event (behavior ((proc process) (arg1 int) (event-type symbol) (event event-message-block))
|
||||
(case event-type
|
||||
@@ -3364,8 +3325,8 @@
|
||||
(go target-attack-air 'uppercut)
|
||||
)
|
||||
(mod-var-jump #t #t (cpad-hold? (-> self control unknown-cpad-info00 number) x) (-> self control transv))
|
||||
(when (and (= (-> (the-as fact-info-target (-> self fact)) eco-type) 2)
|
||||
(>= (-> (the-as fact-info-target (-> self fact)) eco-level) 1.0)
|
||||
(when (and (= (-> (the-as fact-info-target (-> self fact-info-override)) eco-type) 2)
|
||||
(>= (-> (the-as fact-info-target (-> self fact-info-override)) eco-level) 1.0)
|
||||
)
|
||||
(let ((s5-0 (method-of-object (-> self skel effect) effect-control-method-10)))
|
||||
'group-red-eco-spinkick
|
||||
@@ -3457,7 +3418,6 @@
|
||||
:post target-post
|
||||
)
|
||||
|
||||
;; failed to figure out what this is:
|
||||
(defstate target-flop (target)
|
||||
:event (behavior ((proc process) (arg1 int) (event-type symbol) (event event-message-block))
|
||||
(local-vars (v1-0 symbol))
|
||||
@@ -3490,8 +3450,8 @@
|
||||
)
|
||||
:enter (behavior ((arg0 float) (arg1 float) (arg2 float))
|
||||
(cond
|
||||
((and (= (-> (the-as fact-info-target (-> self fact)) eco-type) 1)
|
||||
(>= (-> (the-as fact-info-target (-> self fact)) eco-level) 1.0)
|
||||
((and (= (-> (the-as fact-info-target (-> self fact-info-override)) eco-type) 1)
|
||||
(>= (-> (the-as fact-info-target (-> self fact-info-override)) eco-level) 1.0)
|
||||
)
|
||||
(go target-yellow-jump-blast)
|
||||
)
|
||||
@@ -3568,8 +3528,8 @@
|
||||
)
|
||||
(when gp-1
|
||||
(logior! (-> self control status) (cshape-moving-flags on-surface))
|
||||
(when (or (and (= (-> (the-as fact-info-target (-> self fact)) eco-type) 2)
|
||||
(>= (-> (the-as fact-info-target (-> self fact)) eco-level) 1.0)
|
||||
(when (or (and (= (-> (the-as fact-info-target (-> self fact-info-override)) eco-type) 2)
|
||||
(>= (-> (the-as fact-info-target (-> self fact-info-override)) eco-level) 1.0)
|
||||
)
|
||||
(and (logtest? (focus-status dark) (-> self focus-status))
|
||||
(nonzero? (-> self darkjak))
|
||||
@@ -3577,8 +3537,8 @@
|
||||
)
|
||||
)
|
||||
(cpad-set-buzz! (-> *cpad-list* cpads 0) 1 255 (seconds 0.5))
|
||||
(when (and (= (-> (the-as fact-info-target (-> self fact)) eco-type) 2)
|
||||
(>= (-> (the-as fact-info-target (-> self fact)) eco-level) 1.0)
|
||||
(when (and (= (-> (the-as fact-info-target (-> self fact-info-override)) eco-type) 2)
|
||||
(>= (-> (the-as fact-info-target (-> self fact-info-override)) eco-level) 1.0)
|
||||
)
|
||||
(let ((s4-0 (method-of-object (-> self skel effect) effect-control-method-10)))
|
||||
'group-red-eco-strike-ground
|
||||
@@ -3604,8 +3564,8 @@
|
||||
(go target-flop-hit-ground gp-1)
|
||||
)
|
||||
)
|
||||
(when (and (= (-> (the-as fact-info-target (-> self fact)) eco-type) 2)
|
||||
(>= (-> (the-as fact-info-target (-> self fact)) eco-level) 1.0)
|
||||
(when (and (= (-> (the-as fact-info-target (-> self fact-info-override)) eco-type) 2)
|
||||
(>= (-> (the-as fact-info-target (-> self fact-info-override)) eco-level) 1.0)
|
||||
)
|
||||
(let* ((gp-2 (-> self skel effect))
|
||||
(s5-2 (method-of-object gp-2 effect-control-method-10))
|
||||
@@ -3762,7 +3722,6 @@
|
||||
:post target-post
|
||||
)
|
||||
|
||||
;; failed to figure out what this is:
|
||||
(defstate target-flop-hit-ground (target)
|
||||
:event (behavior ((proc process) (arg1 int) (event-type symbol) (event event-message-block))
|
||||
(cond
|
||||
@@ -3826,8 +3785,8 @@
|
||||
(go target-attack-air 'flop)
|
||||
)
|
||||
)
|
||||
(when (and (and (= (-> (the-as fact-info-target (-> self fact)) eco-type) 2)
|
||||
(>= (-> (the-as fact-info-target (-> self fact)) eco-level) 1.0)
|
||||
(when (and (and (= (-> (the-as fact-info-target (-> self fact-info-override)) eco-type) 2)
|
||||
(>= (-> (the-as fact-info-target (-> self fact-info-override)) eco-level) 1.0)
|
||||
)
|
||||
(< (- (-> self clock frame-counter) (-> self state-time)) (seconds 0.25))
|
||||
)
|
||||
@@ -3865,7 +3824,6 @@
|
||||
:post target-post
|
||||
)
|
||||
|
||||
;; failed to figure out what this is:
|
||||
(defstate target-roll (target)
|
||||
:event (behavior ((proc process) (arg1 int) (event-type symbol) (event event-message-block))
|
||||
(if (= event-type 'touched)
|
||||
@@ -4042,7 +4000,6 @@
|
||||
:post target-post
|
||||
)
|
||||
|
||||
;; failed to figure out what this is:
|
||||
(defstate target-roll-flip (target)
|
||||
:event (behavior ((proc process) (arg1 int) (event-type symbol) (event event-message-block))
|
||||
(case event-type
|
||||
|
||||
+255
@@ -0,0 +1,255 @@
|
||||
;;-*-Lisp-*-
|
||||
(in-package goal)
|
||||
|
||||
;; failed to figure out what this is:
|
||||
(defpartgroup group-race-signal-red-light-3
|
||||
:id 194
|
||||
:bounds (static-bspherem 0 0 0 1)
|
||||
:parts ((sp-item 905 :flags (bit6)))
|
||||
)
|
||||
|
||||
;; failed to figure out what this is:
|
||||
(defpart 905
|
||||
:init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xbc :page #xc))
|
||||
(sp-flt spt-num 1.0)
|
||||
(sp-rnd-flt spt-scale-x (meters 3) (meters 0.5) 1.0)
|
||||
(sp-flt spt-rot-x 4096.0)
|
||||
(sp-copy-from-other spt-scale-y -4)
|
||||
(sp-flt spt-r 128.0)
|
||||
(sp-flt spt-g 0.0)
|
||||
(sp-flt spt-b 0.0)
|
||||
(sp-flt spt-a 64.0)
|
||||
(sp-flt spt-omega 4097638.5)
|
||||
(sp-int spt-timer 5)
|
||||
(sp-cpuinfo-flags sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 glow)
|
||||
(sp-flt spt-userdata 4096.0)
|
||||
(sp-flt spt-rotate-y (degrees 0.0))
|
||||
)
|
||||
)
|
||||
|
||||
;; failed to figure out what this is:
|
||||
(defpartgroup group-race-signal-red-light-2
|
||||
:id 195
|
||||
:bounds (static-bspherem 0 0 0 1)
|
||||
:parts ((sp-item 906 :flags (bit6)))
|
||||
)
|
||||
|
||||
;; failed to figure out what this is:
|
||||
(defpart 906
|
||||
:init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xbc :page #xc))
|
||||
(sp-flt spt-num 1.0)
|
||||
(sp-rnd-flt spt-scale-x (meters 4) (meters 0.5) 1.0)
|
||||
(sp-flt spt-rot-x 4096.0)
|
||||
(sp-copy-from-other spt-scale-y -4)
|
||||
(sp-flt spt-r 128.0)
|
||||
(sp-flt spt-g 0.0)
|
||||
(sp-flt spt-b 0.0)
|
||||
(sp-flt spt-a 64.0)
|
||||
(sp-flt spt-omega 4097638.5)
|
||||
(sp-int spt-timer 5)
|
||||
(sp-cpuinfo-flags sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 glow)
|
||||
(sp-flt spt-userdata 4096.0)
|
||||
(sp-flt spt-rotate-y (degrees 0.0))
|
||||
)
|
||||
)
|
||||
|
||||
;; failed to figure out what this is:
|
||||
(defpartgroup group-race-signal-red-light-1
|
||||
:id 196
|
||||
:bounds (static-bspherem 0 0 0 1)
|
||||
:parts ((sp-item 907 :flags (bit6)))
|
||||
)
|
||||
|
||||
;; failed to figure out what this is:
|
||||
(defpart 907
|
||||
:init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xbc :page #xc))
|
||||
(sp-flt spt-num 1.0)
|
||||
(sp-rnd-flt spt-scale-x (meters 6) (meters 0.5) 1.0)
|
||||
(sp-flt spt-rot-x 4096.0)
|
||||
(sp-copy-from-other spt-scale-y -4)
|
||||
(sp-flt spt-r 128.0)
|
||||
(sp-flt spt-g 0.0)
|
||||
(sp-flt spt-b 0.0)
|
||||
(sp-flt spt-a 64.0)
|
||||
(sp-flt spt-omega 4097638.5)
|
||||
(sp-int spt-timer 5)
|
||||
(sp-cpuinfo-flags sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 glow)
|
||||
(sp-flt spt-userdata 4096.0)
|
||||
(sp-flt spt-rotate-y (degrees 0.0))
|
||||
)
|
||||
)
|
||||
|
||||
;; failed to figure out what this is:
|
||||
(defpartgroup group-race-signal-green-light
|
||||
:id 197
|
||||
:bounds (static-bspherem 0 0 0 1)
|
||||
:parts ((sp-item 908 :flags (bit6)))
|
||||
)
|
||||
|
||||
;; failed to figure out what this is:
|
||||
(defpart 908
|
||||
:init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xbc :page #xc))
|
||||
(sp-flt spt-num 1.0)
|
||||
(sp-rnd-flt spt-scale-x (meters 8) (meters 1) 1.0)
|
||||
(sp-flt spt-rot-x 4096.0)
|
||||
(sp-copy-from-other spt-scale-y -4)
|
||||
(sp-flt spt-r 0.0)
|
||||
(sp-flt spt-g 128.0)
|
||||
(sp-flt spt-b 0.0)
|
||||
(sp-flt spt-a 96.0)
|
||||
(sp-flt spt-omega 4097638.5)
|
||||
(sp-int spt-timer 5)
|
||||
(sp-cpuinfo-flags sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 glow)
|
||||
(sp-flt spt-userdata 4096.0)
|
||||
(sp-flt spt-rotate-y (degrees 0.0))
|
||||
)
|
||||
)
|
||||
|
||||
;; failed to figure out what this is:
|
||||
(defpartgroup group-turbo-pickup
|
||||
:id 198
|
||||
:linger-duration (seconds 1)
|
||||
:bounds (static-bspherem 0 0 0 8)
|
||||
:parts ((sp-item 909 :fade-after (meters 90) :falloff-to (meters 90) :flags (is-3d))
|
||||
(sp-item 910 :flags (is-3d))
|
||||
(sp-item 911 :flags (bit6))
|
||||
(sp-item 912 :flags (is-3d bit6))
|
||||
(sp-item 913 :fade-after (meters 120) :falloff-to (meters 120))
|
||||
)
|
||||
)
|
||||
|
||||
;; failed to figure out what this is:
|
||||
(defpart 913
|
||||
:init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xc9 :page #xc))
|
||||
(sp-rnd-flt spt-num 1.0 1.0 1.0)
|
||||
(sp-rnd-flt spt-scale-x (meters 0.1) (meters 0.15) 1.0)
|
||||
(sp-int spt-rot-x 4)
|
||||
(sp-copy-from-other spt-scale-y -4)
|
||||
(sp-flt spt-r 255.0)
|
||||
(sp-rnd-flt spt-g 0.0 64.0 1.0)
|
||||
(sp-flt spt-b 255.0)
|
||||
(sp-rnd-flt spt-a 96.0 32.0 1.0)
|
||||
(sp-flt spt-omega 34.816)
|
||||
(sp-rnd-flt spt-vel-y (meters 0.053333335) (meters 0.026666667) 1.0)
|
||||
(sp-flt spt-scalevel-x (meters -0.00033333333))
|
||||
(sp-copy-from-other spt-scalevel-y -4)
|
||||
(sp-flt spt-fade-a -1.7066667)
|
||||
(sp-flt spt-friction 0.97)
|
||||
(sp-int spt-timer 75)
|
||||
(sp-cpuinfo-flags sp-cpuinfo-flag-2 sp-cpuinfo-flag-3)
|
||||
(sp-func spt-func 'sparticle-motion-blur)
|
||||
(sp-rnd-flt spt-conerot-x (degrees 0.0) (degrees 3600.0) 1.0)
|
||||
(sp-rnd-flt spt-conerot-y (degrees 0.0) (degrees 3600.0) 1.0)
|
||||
(sp-rnd-flt spt-conerot-z (degrees 0.0) (degrees 3600.0) 1.0)
|
||||
)
|
||||
)
|
||||
|
||||
;; failed to figure out what this is:
|
||||
(defpart 909
|
||||
:init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x86 :page #xd2e))
|
||||
(sp-flt spt-num 0.05)
|
||||
(sp-flt spt-scale-x (meters 0.5))
|
||||
(sp-rnd-flt spt-rot-x 0.0 655360.0 1.0)
|
||||
(sp-rnd-flt spt-rot-y (degrees 0.0) (degrees 3600.0) 1.0)
|
||||
(sp-rnd-flt spt-rot-z (degrees 0.0) (degrees 3600.0) 1.0)
|
||||
(sp-copy-from-other spt-scale-y -4)
|
||||
(sp-flt spt-r 255.0)
|
||||
(sp-rnd-flt spt-g 64.0 64.0 1.0)
|
||||
(sp-flt spt-b 255.0)
|
||||
(sp-flt spt-a 64.0)
|
||||
(sp-flt spt-scalevel-x (meters 0.0055555557))
|
||||
(sp-flt spt-rotvel-x (degrees 0.8))
|
||||
(sp-flt spt-rotvel-y (degrees 0.8))
|
||||
(sp-flt spt-rotvel-z (degrees 0.8))
|
||||
(sp-copy-from-other spt-scalevel-y -4)
|
||||
(sp-int spt-timer 450)
|
||||
(sp-cpuinfo-flags sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 left-multiply-quat)
|
||||
)
|
||||
)
|
||||
|
||||
;; failed to figure out what this is:
|
||||
(defpart 912
|
||||
:init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xc9 :page #xc))
|
||||
(sp-func spt-birth-func 'birth-func-camera-orient)
|
||||
(sp-flt spt-num 1.0)
|
||||
(sp-rnd-flt spt-scale-x (meters 1.5) (meters 2.5) 1.0)
|
||||
(sp-copy-from-other spt-scale-y -4)
|
||||
(sp-flt spt-r 255.0)
|
||||
(sp-flt spt-g 255.0)
|
||||
(sp-flt spt-b 255.0)
|
||||
(sp-flt spt-a 128.0)
|
||||
(sp-int spt-timer 5)
|
||||
(sp-cpuinfo-flags sp-cpuinfo-flag-2 sp-cpuinfo-flag-3)
|
||||
)
|
||||
)
|
||||
|
||||
;; failed to figure out what this is:
|
||||
(defpart 910
|
||||
:init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #x86 :page #xd2e))
|
||||
(sp-func spt-birth-func 'birth-func-camera-orient)
|
||||
(sp-flt spt-num 1.0)
|
||||
(sp-rnd-flt spt-scale-x (meters 2.9) (meters 0.3) 1.0)
|
||||
(sp-copy-from-other spt-scale-y -4)
|
||||
(sp-flt spt-r 255.0)
|
||||
(sp-flt spt-g 64.0)
|
||||
(sp-flt spt-b 255.0)
|
||||
(sp-flt spt-a 64.0)
|
||||
(sp-int spt-timer 5)
|
||||
(sp-cpuinfo-flags sp-cpuinfo-flag-2 sp-cpuinfo-flag-3)
|
||||
)
|
||||
)
|
||||
|
||||
;; failed to figure out what this is:
|
||||
(defpart 911
|
||||
:init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xca :page #xc))
|
||||
(sp-flt spt-num 1.0)
|
||||
(sp-rnd-flt spt-scale-x (meters 8) (meters 0.2) 1.0)
|
||||
(sp-flt spt-rot-x 4096.0)
|
||||
(sp-copy-from-other spt-scale-y -4)
|
||||
(sp-flt spt-r 255.0)
|
||||
(sp-flt spt-g 0.0)
|
||||
(sp-flt spt-b 255.0)
|
||||
(sp-rnd-flt spt-a 32.0 8.0 1.0)
|
||||
(sp-flt spt-omega 4097638.5)
|
||||
(sp-int spt-timer 5)
|
||||
(sp-cpuinfo-flags sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 glow)
|
||||
(sp-flt spt-userdata 0.0)
|
||||
(sp-flt spt-rotate-y (degrees 0.0))
|
||||
)
|
||||
)
|
||||
|
||||
;; failed to figure out what this is:
|
||||
(defpartgroup group-turbo-pickup-explode
|
||||
:id 199
|
||||
:duration (seconds 0.017)
|
||||
:linger-duration (seconds 1)
|
||||
:bounds (static-bspherem 0 0 0 32)
|
||||
:parts ((sp-item 914 :flags (bit6)))
|
||||
)
|
||||
|
||||
;; failed to figure out what this is:
|
||||
(defpart 914
|
||||
:init-specs ((sp-tex spt-texture (new 'static 'texture-id :index #xbb :page #xc))
|
||||
(sp-flt spt-num 1.0)
|
||||
(sp-flt spt-scale-x (meters 16))
|
||||
(sp-flt spt-rot-x 4096.0)
|
||||
(sp-copy-from-other spt-scale-y -4)
|
||||
(sp-flt spt-r 255.0)
|
||||
(sp-flt spt-g 64.0)
|
||||
(sp-flt spt-b 255.0)
|
||||
(sp-flt spt-a 128.0)
|
||||
(sp-flt spt-omega 4097638.5)
|
||||
(sp-flt spt-scalevel-x (meters -0.26666668))
|
||||
(sp-copy-from-other spt-scalevel-y -4)
|
||||
(sp-flt spt-fade-g -1.6)
|
||||
(sp-flt spt-fade-a -3.2)
|
||||
(sp-int spt-timer 40)
|
||||
(sp-cpuinfo-flags sp-cpuinfo-flag-2 sp-cpuinfo-flag-3 glow)
|
||||
(sp-flt spt-userdata 0.0)
|
||||
(sp-flt spt-rotate-y (degrees 0.0))
|
||||
)
|
||||
)
|
||||
|
||||
|
||||
|
||||
|
||||
+1274
File diff suppressed because it is too large
Load Diff
+1073
File diff suppressed because it is too large
Load Diff
@@ -163,6 +163,9 @@
|
||||
|
||||
"(method 21 load-state)",
|
||||
|
||||
// debug-part
|
||||
"sparticle-track-root-money", // references a non-existance jak1 symbol "hud-money"
|
||||
|
||||
"(method 16 level)", "unpack-comp-lzo", // asm mods
|
||||
"update-time-of-day",
|
||||
"close-sky-buffer", // asm
|
||||
|
||||
Reference in New Issue
Block a user