mirror of
https://github.com/open-goal/jak-project
synced 2026-08-13 20:25:20 -04:00
d/jak2: finish palace-ocean
This commit is contained in:
+5
-2
@@ -118,16 +118,19 @@ tasks:
|
||||
offline-tests: # ran by jenkins
|
||||
cmds:
|
||||
- '{{.OFFLINETEST_BIN_RELEASE_DIR}}/offline-test --iso_data_path "./iso_data/{{.GAME}}" --game {{.GAME}}'
|
||||
offline-tests-fast:
|
||||
cmds:
|
||||
- '{{.OFFLINETEST_BIN_RELEASE_DIR}}/offline-test --iso_data_path "./iso_data/{{.GAME}}" --game {{.GAME}} --num_threads 32'
|
||||
offline-test-file:
|
||||
cmds:
|
||||
- '{{.OFFLINETEST_BIN_RELEASE_DIR}}/offline-test --iso_data_path "./iso_data/{{.GAME}}" --game {{.GAME}} --file {{.FILE}}'
|
||||
update-ref-tests:
|
||||
cmds:
|
||||
- cmd: python ./scripts/tasks/default-file-or-folder.py --path failures
|
||||
- cmd: '{{.OFFLINETEST_BIN_RELEASE_DIR}}/offline-test --iso_data_path "./iso_data/{{.GAME}}" --game {{.GAME}} --dump_current_output --num_threads 10'
|
||||
- task: offline-tests-fast
|
||||
ignore_error: true
|
||||
- python ./scripts/update_decomp_reference.py ./failures ./test/decompiler/reference/ --game {{.GAME}}
|
||||
- task: offline-tests
|
||||
- task: offline-tests-fast
|
||||
update-ref-file:
|
||||
cmds:
|
||||
- cmd: python ./scripts/tasks/default-file-or-folder.py --path failures
|
||||
|
||||
+248
-196
@@ -16137,8 +16137,10 @@
|
||||
(collide-shape-method-48 () none 48) ;; (clear-collide-with-as (_type_) none 48)
|
||||
(collide-shape-method-49 (_type_ int int int) none 49) ;; (restore-collide-with-as (_type_) none 49)
|
||||
(collide-shape-method-50 () none 50) ;; (backup-collide-with-as (_type_) none 50)
|
||||
(collide-shape-method-51 () none 51) ;; (set-root-prim-collide-with! (_type_ collide-kind) none 51)
|
||||
(water-info-init! "Initialize a [[water-info]] with the currently loaded regions." (_type_ water-info collide-action) water-info 52) ;; (set-root-prim-collide-as! (_type_ collide-kind) none 52)
|
||||
(collide-shape-method-51 (_type_) none 51) ;; (set-root-prim-collide-with! (_type_ collide-kind) none 51)
|
||||
(water-info-init!
|
||||
"Initialize a [[water-info]] with the currently loaded regions."
|
||||
(_type_ water-info collide-action) water-info 52) ;; (set-root-prim-collide-as! (_type_ collide-kind) none 52)
|
||||
(collide-shape-method-53 (_type_) none 53) ;; (set-collide-kinds (_type_ int collide-kind collide-kind) none 53)
|
||||
(collide-shape-method-54 (_type_) none 54) ;; (set-collide-offense (_type_ int collide-offense) none 54)
|
||||
)
|
||||
@@ -17153,7 +17155,7 @@
|
||||
:flag-assert #x1b005000cc
|
||||
(:methods
|
||||
(get-trans
|
||||
"@returns the `trans` [[vector]] from the process's `root` (typically either a [[trsqv]] or a [[collide-shape]]"
|
||||
"@returns the `trans` [[vector]] from the process's `root` (typically either a [[trsqv]] or a [[collide-shape]])"
|
||||
(_type_ int) vector 20)
|
||||
(get-quat (_type_ int) quaternion 21)
|
||||
(get-transv (_type_) vector 22)
|
||||
@@ -27227,7 +27229,7 @@
|
||||
;; (define-extern process-drawable-delay-player function) ;; (function time-frame int :behavior process-drawable)
|
||||
;; (define-extern process-drawable-fuel-cell-handler function) ;; (function process int symbol event-message-block none :behavior process-drawable)
|
||||
;; (define-extern process-drawable-birth-fuel-cell function) ;; (function entity vector symbol none :behavior process-drawable)
|
||||
;; (define-extern find-offending-process-focusable function)
|
||||
(define-extern find-offending-process-focusable (function process-tree symbol process-focusable))
|
||||
;; (define-extern *valid-con* object) ;; string
|
||||
;; (define-extern process-drawable-valid? function) ;; (function process-drawable symbol)
|
||||
|
||||
@@ -31871,8 +31873,8 @@
|
||||
)
|
||||
|
||||
(deftype idle-control (structure)
|
||||
((anim uint32 :offset-assert 0)
|
||||
(current uint32 :offset-assert 4)
|
||||
((anim (pointer uint32) :offset-assert 0)
|
||||
(current (pointer uint32) :offset-assert 4)
|
||||
(counter int32 :offset-assert 8)
|
||||
(target int32 :offset-assert 12)
|
||||
)
|
||||
@@ -31880,8 +31882,8 @@
|
||||
:size-assert #x10
|
||||
:flag-assert #xb00000010
|
||||
(:methods
|
||||
(idle-control-method-9 () none 9)
|
||||
(idle-control-method-10 () none 10)
|
||||
(idle-control-method-9 (_type_ (pointer uint32)) none 9)
|
||||
(idle-control-method-10 (_type_ process-drawable) none 10)
|
||||
)
|
||||
)
|
||||
|
||||
@@ -31906,6 +31908,7 @@
|
||||
;; enemy-h ;;
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
|
||||
;; +++enemy-h:enemy-flag
|
||||
(defenum enemy-flag
|
||||
:type int64
|
||||
:bitfield #t
|
||||
@@ -31946,29 +31949,44 @@
|
||||
(vulnerable 34)
|
||||
(recover 35)
|
||||
)
|
||||
;; ---enemy-h:enemy-flag
|
||||
|
||||
;; +++enemy-h:enemy-aware
|
||||
(defenum enemy-aware
|
||||
:type uint64
|
||||
(enemy-aware-0 0)
|
||||
(enemy-aware-3 3)
|
||||
(enemy-aware-4 4)
|
||||
)
|
||||
;; ---enemy-h:enemy-aware
|
||||
|
||||
(declare-type enemy process-focusable)
|
||||
(deftype enemy-focus (focus)
|
||||
((aware uint64 :offset-assert 16)
|
||||
(flags uint64 :offset-assert 24)
|
||||
((aware enemy-aware :offset-assert 16)
|
||||
(flags enemy-flag :offset-assert 24)
|
||||
)
|
||||
:method-count-assert 14
|
||||
:size-assert #x20
|
||||
:flag-assert #xe00000020
|
||||
(:methods
|
||||
(enemy-focus-method-13 () none 13)
|
||||
(try-update-focus (_type_ process-focusable enemy) symbol :replace 12)
|
||||
(enemy-focus-method-13
|
||||
"TODO - enemy-aware sets `aware` on the type (see enemy.gc), but it's also an `enemy` passed to method 12...what the hell is going on?
|
||||
probably related to ';; skipped : handle creation is different, want to grab more.'"
|
||||
(_type_ process-focusable enemy-aware) symbol 13)
|
||||
)
|
||||
)
|
||||
|
||||
(deftype enemy-info (basic)
|
||||
((fact-defaults basic :offset-assert 4)
|
||||
(use-die-falling basic :offset-assert 8)
|
||||
(use-victory basic :offset-assert 12)
|
||||
(use-jump-blocked basic :offset-assert 16)
|
||||
(debug-draw-neck basic :offset-assert 20)
|
||||
(jump-debug-draw basic :offset-assert 24)
|
||||
(move-to-ground basic :offset-assert 28)
|
||||
(hover-if-no-ground basic :offset-assert 32)
|
||||
(idle-anim-script uint32 :offset-assert 36)
|
||||
(use-die-falling symbol :offset-assert 8)
|
||||
(use-victory symbol :offset-assert 12)
|
||||
(use-jump-blocked symbol :offset-assert 16)
|
||||
(debug-draw-neck symbol :offset-assert 20)
|
||||
(jump-debug-draw symbol :offset-assert 24)
|
||||
(move-to-ground symbol :offset-assert 28)
|
||||
(hover-if-no-ground symbol :offset-assert 32)
|
||||
(idle-anim-script uint32 :offset-assert 36) ;; TODO what is this
|
||||
(idle-anim int32 :offset-assert 40)
|
||||
(notice-anim int32 :offset-assert 44)
|
||||
(hostile-anim int32 :offset-assert 48)
|
||||
@@ -31990,8 +32008,8 @@
|
||||
(notice-distance-delta meters :offset-assert 148)
|
||||
(proximity-notice-distance meters :offset-assert 152)
|
||||
(default-hit-points int32 :offset-assert 156)
|
||||
(gnd-collide-with uint32 :offset-assert 160)
|
||||
(overlaps-others-collide-with-filter uint32 :offset-assert 164)
|
||||
(gnd-collide-with collide-spec :offset-assert 160)
|
||||
(overlaps-others-collide-with-filter collide-spec :offset-assert 164)
|
||||
(penetrate-flinch uint64 :offset-assert 168)
|
||||
(penetrate-knocked uint64 :offset-assert 176)
|
||||
(movement-gravity meters :offset-assert 184)
|
||||
@@ -32001,7 +32019,7 @@
|
||||
(attack-shove-up meters :offset-assert 200)
|
||||
(attack-mode basic :offset-assert 204)
|
||||
(attack-damage int32 :offset-assert 208)
|
||||
(recover-gnd-collide-with uint32 :offset-assert 212)
|
||||
(recover-gnd-collide-with collide-spec :offset-assert 212)
|
||||
(jump-height-min meters :offset-assert 216)
|
||||
(jump-height-factor float :offset-assert 220)
|
||||
(knocked-seek-ry-clamp float :offset-assert 224)
|
||||
@@ -32046,7 +32064,7 @@
|
||||
:size-assert #x180
|
||||
:flag-assert #xa00000180
|
||||
(:methods
|
||||
(enemy-info-method-9 () none 9)
|
||||
(copy! "Copies the given [[enemy-info]] into the current [[enemy-info]]" (_type_ _type_) none 9)
|
||||
)
|
||||
)
|
||||
|
||||
@@ -32078,19 +32096,32 @@
|
||||
((trans vector :inline :offset-assert 0)
|
||||
(quat quaternion :inline :offset-assert 16)
|
||||
(entity basic :offset-assert 32)
|
||||
(directed? basic :offset-assert 36)
|
||||
(no-initial-move-to-ground? basic :offset-assert 40)
|
||||
(directed? symbol :offset-assert 36)
|
||||
(no-initial-move-to-ground? symbol :offset-assert 40)
|
||||
)
|
||||
:method-count-assert 9
|
||||
:size-assert #x2c
|
||||
:flag-assert #x90000002c
|
||||
)
|
||||
|
||||
;; +++enemy-h:knocked-type
|
||||
(defenum knocked-type
|
||||
:type uint8
|
||||
(knocked-type-1 1)
|
||||
(knocked-type-2 2)
|
||||
(knocked-type-3 3)
|
||||
(knocked-type-4 4)
|
||||
(knocked-type-5 5)
|
||||
(knocked-type-6 6)
|
||||
(knocked-type-7 7)
|
||||
)
|
||||
;; ---enemy-h:knocked-type
|
||||
|
||||
(deftype enemy-attack-info (structure)
|
||||
((attack-id uint32 :offset-assert 0)
|
||||
(knocked-type uint8 :offset-assert 4)
|
||||
(knocked-type knocked-type :offset-assert 4)
|
||||
(blue-juggle-count uint8 :offset-assert 5)
|
||||
(attacker-handle uint64 :offset-assert 8)
|
||||
(attacker-handle handle :offset-assert 8)
|
||||
(attack-time time-frame :offset-assert 16)
|
||||
(penetrate-using uint64 :offset-assert 24)
|
||||
(attacker-pos vector :inline :offset-assert 32)
|
||||
@@ -32112,19 +32143,21 @@
|
||||
)
|
||||
|
||||
(deftype enemy (process-focusable)
|
||||
((enemy-flags enemy-flag :offset-assert 208)
|
||||
(enemy-info symbol :offset-assert 216)
|
||||
((root-override collide-shape-moving :offset 128 :score 100)
|
||||
(fact-info-override fact-info-enemy :offset 160 :score 100)
|
||||
(enemy-flags enemy-flag :offset-assert 208)
|
||||
(enemy-info enemy-info :offset-assert 216)
|
||||
(hit-points int32 :offset-assert 220)
|
||||
(gnd-collide uint32 :offset-assert 224)
|
||||
(attack-id uint32 :offset-assert 228)
|
||||
(persistent-attack-id uint32 :offset-assert 232)
|
||||
(water-max-height float :offset-assert 236)
|
||||
(water-surface-height float :offset-assert 240)
|
||||
(desired-angle float :offset-assert 244)
|
||||
(water-max-height meters :offset-assert 236)
|
||||
(water-surface-height meters :offset-assert 240)
|
||||
(desired-angle degrees :offset-assert 244)
|
||||
(jump-why uint64 :offset-assert 248)
|
||||
(penetrated-by-all uint64 :offset-assert 256)
|
||||
(penetrated-flinch uint64 :offset-assert 264)
|
||||
(penetrated-knocked uint64 :offset-assert 272)
|
||||
(penetrated-by-all penetrate :offset-assert 256)
|
||||
(penetrated-flinch penetrate :offset-assert 264)
|
||||
(penetrated-knocked penetrate :offset-assert 272)
|
||||
(reaction-time uint64 :offset-assert 280)
|
||||
(notice-time uint64 :offset-assert 288)
|
||||
(state-timeout uint64 :offset-assert 296)
|
||||
@@ -32140,7 +32173,7 @@
|
||||
(incoming enemy-attack-info :inline :offset-assert 416)
|
||||
(actor-group actor-group :offset-assert 480)
|
||||
(actor-group-count int32 :offset-assert 484)
|
||||
(neck symbol :offset-assert 488)
|
||||
(neck basic :offset-assert 488)
|
||||
(on-notice symbol :offset-assert 492)
|
||||
(on-active symbol :offset-assert 496)
|
||||
(on-hostile symbol :offset-assert 500)
|
||||
@@ -32152,120 +32185,141 @@
|
||||
:size-assert #x214
|
||||
:flag-assert #x8901a00214
|
||||
(:methods
|
||||
(enemy-method-27 () none 27)
|
||||
(enemy-method-28 () none 28)
|
||||
(enemy-method-29 () none 29)
|
||||
(enemy-method-30 () none 30)
|
||||
(enemy-method-31 () none 31)
|
||||
(enemy-method-32 () none 32)
|
||||
(enemy-method-33 () none 33)
|
||||
(enemy-method-34 () none 34)
|
||||
(enemy-method-35 () none 35)
|
||||
(enemy-method-36 () none 36)
|
||||
(enemy-method-37 () none 37)
|
||||
(enemy-method-38 () none 38)
|
||||
(enemy-method-39 () none 39)
|
||||
(enemy-method-40 () none 40)
|
||||
(enemy-method-41 () none 41)
|
||||
(enemy-method-42 () none 42)
|
||||
(enemy-method-43 () none 43)
|
||||
(enemy-method-44 () none 44)
|
||||
(enemy-method-45 () none 45)
|
||||
(enemy-method-46 () none 46)
|
||||
(enemy-method-47 () none 47)
|
||||
(enemy-method-48 () none 48)
|
||||
(enemy-method-49 () none 49)
|
||||
(enemy-method-50 () none 50)
|
||||
(enemy-method-51 () none 51)
|
||||
(enemy-method-52 () none 52)
|
||||
(enemy-method-53 () none 53)
|
||||
(enemy-method-54 () none 54)
|
||||
(enemy-method-55 () none 55)
|
||||
(enemy-method-56 () none 56)
|
||||
(enemy-method-57 () none 57)
|
||||
(enemy-method-58 () none 58)
|
||||
(enemy-method-59 () none 59)
|
||||
(enemy-method-60 () none 60)
|
||||
(enemy-method-61 () none 61)
|
||||
(enemy-method-62 () none 62)
|
||||
(enemy-method-63 () none 63)
|
||||
(enemy-method-64 () none 64)
|
||||
(enemy-method-65 () none 65)
|
||||
(enemy-method-66 () none 66)
|
||||
(enemy-method-67 () none 67)
|
||||
(enemy-method-68 () none 68)
|
||||
(enemy-method-69 () none 69)
|
||||
(enemy-method-70 () none 70)
|
||||
(enemy-method-71 () none 71)
|
||||
(enemy-method-72 () none 72)
|
||||
(enemy-method-73 () none 73)
|
||||
(enemy-method-74 () none 74)
|
||||
(enemy-method-75 () none 75)
|
||||
(enemy-method-76 () none 76)
|
||||
(enemy-method-77 () none 77)
|
||||
(enemy-method-78 () none 78)
|
||||
(enemy-method-79 () none 79)
|
||||
(enemy-method-80 () none 80)
|
||||
(enemy-method-81 () none 81)
|
||||
(enemy-method-82 () none 82)
|
||||
(enemy-method-83 () none 83)
|
||||
(enemy-method-84 () none 84)
|
||||
(enemy-method-85 () none 85)
|
||||
(enemy-method-86 () none 86)
|
||||
(enemy-method-87 () none 87)
|
||||
(enemy-method-88 () none 88)
|
||||
(enemy-method-89 () none 89)
|
||||
(enemy-method-90 () none 90)
|
||||
(enemy-method-91 () none 91)
|
||||
(enemy-method-92 () none 92)
|
||||
(enemy-method-93 () none 93)
|
||||
(enemy-method-94 () none 94)
|
||||
(enemy-method-95 () none 95)
|
||||
(enemy-method-96 () none 96)
|
||||
(enemy-method-97 () none 97)
|
||||
(enemy-method-98 () none 98)
|
||||
(enemy-method-99 () none 99)
|
||||
(enemy-method-100 () none 100)
|
||||
(enemy-method-101 () none 101)
|
||||
(enemy-method-102 () none 102)
|
||||
(enemy-method-103 () none 103)
|
||||
(enemy-method-104 () none 104)
|
||||
(enemy-method-105 () none 105)
|
||||
(enemy-method-106 () none 106)
|
||||
(enemy-method-107 () none 107)
|
||||
(enemy-method-108 () none 108)
|
||||
(enemy-method-109 () none 109)
|
||||
(enemy-method-110 () none 110)
|
||||
(enemy-method-111 () none 111)
|
||||
(enemy-method-112 () none 112)
|
||||
(enemy-method-113 () none 113)
|
||||
(enemy-method-114 () none 114)
|
||||
(enemy-method-115 () none 115)
|
||||
(enemy-method-116 () none 116)
|
||||
(enemy-method-117 () none 117)
|
||||
(enemy-method-118 () none 118)
|
||||
(enemy-method-119 () none 119)
|
||||
(enemy-method-120 () none 120)
|
||||
(enemy-method-121 () none 121)
|
||||
(enemy-method-122 () none 122)
|
||||
(enemy-method-123 () none 123)
|
||||
(enemy-method-124 () none 124)
|
||||
(enemy-method-125 () none 125)
|
||||
(enemy-method-126 () none 126)
|
||||
(enemy-method-127 () none 127)
|
||||
(enemy-method-128 () none 128)
|
||||
(enemy-method-129 () none 129)
|
||||
(enemy-method-130 () none 130)
|
||||
(enemy-method-131 () none 131)
|
||||
(enemy-method-132 () none 132)
|
||||
(enemy-method-133 () none 133)
|
||||
(enemy-method-134 () none 134)
|
||||
(enemy-method-135 () none 135)
|
||||
(enemy-method-136 () none 136)
|
||||
(dormant () _type_ :state 27) ;; TODO - these dont produce a nice decomp warning when missing
|
||||
(dormant-aware () _type_ :state 28)
|
||||
(hit () _type_ :state 29)
|
||||
(knocked () _type_ :state 30)
|
||||
(idle () _type_ :state 31) ;; TODO - these dont produce a nice decomp warning when missing
|
||||
(active () _type_ :state 32)
|
||||
(notice () _type_ :state 33)
|
||||
(flee () _type_ :state 34)
|
||||
(stare () _type_ :state 35)
|
||||
(hostile () _type_ :state 36)
|
||||
(victory () _type_ :state 37)
|
||||
(die () _type_ :state 38)
|
||||
(die-falling () _type_ :state 39)
|
||||
(die-fast () _type_ :state 40)
|
||||
(directed () _type_ :state 41)
|
||||
(jump () _type_ :state 42)
|
||||
(jump-blocked () _type_ :state 43)
|
||||
(ambush () _type_ :state 44)
|
||||
(view-anims () _type_ :state 45)
|
||||
(enemy-method-46 "@abstract" (_type_) none 46)
|
||||
(enemy-method-47 (_type_ vector) float 47)
|
||||
(enemy-method-48 (_type_) none 48)
|
||||
(enemy-method-49 (_type_) time-frame :behavior enemy 49)
|
||||
(enemy-method-50 (_type_ vector) vector 50)
|
||||
(enemy-method-51 (_type_) float 51)
|
||||
(enemy-method-52 (_type_ vector) none 52)
|
||||
(enemy-method-53
|
||||
"TODO"
|
||||
(_type_ process-focusable) symbol 53)
|
||||
(enemy-method-54 (_type_) none 54)
|
||||
(enemy-method-55 (_type_) none 55)
|
||||
(enemy-method-56 (_type_ object enemy-attack-info) none 56)
|
||||
(enemy-method-57 (_type_) none 57)
|
||||
(enemy-method-58 (_type_) symbol 58)
|
||||
(enemy-method-59 (_type_) penetrate 59)
|
||||
(coin-flip?
|
||||
"@returns The result of a 50/50 RNG roll"
|
||||
(_type_) symbol 60)
|
||||
(enemy-method-61 (_type_ int) none 61)
|
||||
(enemy-method-62 (_type_) none 62)
|
||||
(enemy-method-63 (_type_ process-focusable symbol) none 63)
|
||||
(enemy-method-64 (_type_) none 64)
|
||||
(enemy-method-65 (_type_) none 65)
|
||||
(go-ambush (_type_) none 66)
|
||||
(go-stare (_type_) none 67)
|
||||
(go-stare2 (_type_) none 68)
|
||||
(go-directed (_type_) none 69)
|
||||
(go-hostile (_type_) none 70)
|
||||
(go-flee (_type_) none 71)
|
||||
(enemy-method-72 (_type_) none 72)
|
||||
(enemy-method-73 (_type_) none 73)
|
||||
(enemy-method-74 (_type_) none 74)
|
||||
(enemy-method-75 (_type_ process touching-shapes-entry) none 75)
|
||||
(enemy-method-76 (_type_) none 76)
|
||||
(enemy-method-77 (_type_) none 77)
|
||||
(enemy-method-78 (_type_) none 78)
|
||||
(enemy-method-79 (_type_) none 79)
|
||||
(enemy-method-80 (_type_) none 80)
|
||||
(enemy-method-81 (_type_) symbol 81)
|
||||
(enemy-method-82 (_type_) none 82)
|
||||
(enemy-method-83 (_type_ enemy-jump-info) none 83)
|
||||
(enemy-method-84 (_type_ enemy-jump-info) none 84)
|
||||
(enemy-method-85 (_type_) float 85)
|
||||
(enemy-method-86 (_type_) symbol 86)
|
||||
(enemy-method-87 (_type_) none 87)
|
||||
(enemy-method-88 (_type_) none 88)
|
||||
(enemy-method-89 (_type_) none 89)
|
||||
(enemy-method-90 (_type_) none 90)
|
||||
(enemy-method-91 (_type_ int enemy-jump-info) none 91)
|
||||
(enemy-method-92 "@abstract" (_type_) none 92)
|
||||
(enemy-method-93 (_type_) none 93)
|
||||
(enemy-method-94 (_type_ vector float) symbol 94)
|
||||
(enemy-method-95 (_type_ vector float) symbol 95)
|
||||
(enemy-method-96 (_type_ float symbol) symbol 96)
|
||||
(enemy-method-97 (_type_) none 97)
|
||||
(enemy-method-98 (_type_) symbol 98)
|
||||
(enemy-method-99 (_type_) symbol 99)
|
||||
(enemy-method-100 (_type_) symbol 100)
|
||||
(enemy-method-101 (_type_) none 101)
|
||||
(enemy-method-102 (_type_) symbol 102)
|
||||
(enemy-method-103 (_type_) collide-spec 103)
|
||||
(enemy-method-104 (_type_ process uint uint) symbol :behavior process 104)
|
||||
(enemy-method-105 (_type_) none 105)
|
||||
(enemy-method-106 (_type_) none 106)
|
||||
(enemy-method-107 (_type_) process 107)
|
||||
(enemy-method-108 (_type_ object) none 108)
|
||||
(enemy-method-109 (_type_ int) none 109)
|
||||
(enemy-method-110 (_type_) none 110)
|
||||
(enemy-method-111 (_type_) none :behavior enemy 111)
|
||||
(enemy-method-112 (_type_ enemy-info) none 112)
|
||||
(enemy-method-113 (_type_ enemy-info) none 113)
|
||||
(enemy-method-114 "@abstract" (_type_) none 114)
|
||||
(enemy-method-115 "@abstract" (_type_) none 115)
|
||||
(go-idle (_type_) none 116)
|
||||
(get-rand-float
|
||||
"@returns the result of calling [[rand-vu]]"
|
||||
(_type_) float 117)
|
||||
(get-rand-float-range
|
||||
"@param low The lower bound of the range (inclusive)
|
||||
@param high The upper bound of the range (exclusive)
|
||||
@returns A random float in the specified range"
|
||||
(_type_ float float) float 118)
|
||||
(get-rand-int
|
||||
"@param high The upper bound of the range (exclusive)
|
||||
@returns a random integer in the range 0 to `high`
|
||||
@see [[rand-vu]]"
|
||||
(_type_ int) int 119)
|
||||
(enemy-method-120 "TODO" (_type_ int int) int 120)
|
||||
(get-rand-int-range
|
||||
"@param low The lower bound of the range (inclusive)
|
||||
@param high The upper bound of the range (exclusive)
|
||||
@returns A random integer in the specified range"
|
||||
(_type_ int int) int 121)
|
||||
(rng-hit?
|
||||
"TODO - not the best name
|
||||
@param chance The value to compare ([[>=]]) with the result from [[rand-vu]].
|
||||
@returns If `chance` is greater than the random draw"
|
||||
(_type_ float) symbol 122)
|
||||
(enemy-method-123 "TODO" (_type_ float) symbol 123)
|
||||
(enemy-method-124 "TODO" (_type_) collide-spec 124)
|
||||
(enemy-method-125 (_type_) none 125)
|
||||
(enemy-method-126 (_type_) none 126)
|
||||
(enemy-method-127 (_type_) none 127)
|
||||
(enemy-method-128 (_type_ vector) none 128)
|
||||
(enemy-method-129 (_type_) none 129)
|
||||
(enemy-method-130 (_type_) none 130)
|
||||
(enemy-method-131 (_type_) none 131)
|
||||
(enemy-method-132 (_type_) none 132)
|
||||
(enemy-method-133 (_type_) none 133)
|
||||
(enemy-method-134 (_type_ process symbol) process-focusable 134)
|
||||
(enemy-method-135 (_type_ int) sound-id 135)
|
||||
(enemy-method-136 (_type_) enemy-flag 136)
|
||||
)
|
||||
)
|
||||
|
||||
#|
|
||||
(deftype anim-info (structure)
|
||||
((anim-index int32 :offset-assert 0)
|
||||
(travel-speed meters :offset-assert 4)
|
||||
@@ -32274,14 +32328,12 @@
|
||||
:size-assert #x8
|
||||
:flag-assert #x900000008
|
||||
)
|
||||
|#
|
||||
|
||||
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
;; nav-enemy-h ;;
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
|
||||
#|
|
||||
(deftype nav-enemy-info (enemy-info)
|
||||
((callback-info nav-callback-info :offset-assert 384)
|
||||
(use-momentum symbol :offset-assert 388) ;; guessed by decompiler
|
||||
@@ -32299,7 +32351,7 @@
|
||||
(walk-travel-speed meters :offset-assert 436)
|
||||
(walk-acceleration meters :offset-assert 440)
|
||||
(walk-turning-acceleration meters :offset-assert 444)
|
||||
(maximum-rotation-rate deg :offset-assert 448)
|
||||
(maximum-rotation-rate degrees :offset-assert 448)
|
||||
(notice-nav-radius meters :offset-assert 452)
|
||||
(frustration-distance meters :offset-assert 456)
|
||||
(frustration-time time-frame :offset-assert 464) ;; time-frame
|
||||
@@ -32315,7 +32367,6 @@
|
||||
(nav-enemy-info-method-10 () none 10)
|
||||
)
|
||||
)
|
||||
|#
|
||||
|
||||
(deftype nav-enemy (enemy)
|
||||
((frustration-point vector :inline :offset-assert 544)
|
||||
@@ -32374,7 +32425,6 @@
|
||||
)
|
||||
)
|
||||
|
||||
#|
|
||||
(deftype nav-enemy-debug-control-info (basic)
|
||||
((enable basic :offset-assert 4)
|
||||
(steering float :offset-assert 8)
|
||||
@@ -32384,8 +32434,6 @@
|
||||
:size-assert #x10
|
||||
:flag-assert #x900000010
|
||||
)
|
||||
|#
|
||||
|
||||
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
;; rigid-body-h ;;
|
||||
@@ -32696,14 +32744,14 @@
|
||||
;; enemy ;;
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
|
||||
;; (define-extern *enemy-dummy-shadow-control* shadow-control)
|
||||
(define-extern *enemy-dummy-shadow-control* shadow-control)
|
||||
(define-extern get-penetrate-using-from-attack-event (function process-drawable event-message-block penetrate))
|
||||
;; (define-extern enemy-init-by-other function)
|
||||
;; (define-extern enemy-event-handler function)
|
||||
;; (define-extern enemy-simple-post function)
|
||||
;; (define-extern enemy-falling-post function)
|
||||
;; (define-extern enemy-die-falling-post function)
|
||||
;; (define-extern ja-group-index? function) ;; (function int symbol :behavior nav-enemy)
|
||||
(define-extern enemy-init-by-other (function none :behavior enemy))
|
||||
(define-extern enemy-event-handler (function process int symbol event-message-block object :behavior enemy))
|
||||
(define-extern enemy-simple-post (function none :behavior enemy))
|
||||
(define-extern enemy-falling-post (function none :behavior enemy))
|
||||
(define-extern enemy-die-falling-post (function none :behavior enemy))
|
||||
(define-extern ja-group-index? (function int symbol :behavior enemy))
|
||||
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
;; nav-enemy ;;
|
||||
@@ -34260,57 +34308,61 @@
|
||||
;; ctysluma-part ;;
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
|
||||
#|
|
||||
(deftype ctysluma-part (UNKNOWN)
|
||||
(deftype ctysluma-part (part-spawner)
|
||||
()
|
||||
:method-count-assert 0
|
||||
:size-assert #x0
|
||||
:flag-assert #x0
|
||||
;; Failed to read fields.
|
||||
:method-count-assert 16
|
||||
:size-assert #xb0
|
||||
:flag-assert #x10003000b0
|
||||
)
|
||||
|#
|
||||
|
||||
;; (define-extern check-drop-level-ctysluma-drop-userdata function)
|
||||
(define-extern check-drop-level-ctysluma-drop-userdata (function sparticle-system sparticle-cpuinfo vector none))
|
||||
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
;; neon-baron-part ;;
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
|
||||
#|
|
||||
(deftype neon-baron (UNKNOWN)
|
||||
()
|
||||
:method-count-assert 0
|
||||
:size-assert #x0
|
||||
:flag-assert #x0
|
||||
;; Failed to read fields.
|
||||
(deftype neon-baron (process)
|
||||
(
|
||||
(flags int64 :offset-assert 128)
|
||||
(master-enable int64 :offset-assert 136)
|
||||
(mode int64 :offset-assert 144)
|
||||
(sign symbol :offset-assert 152)
|
||||
(parts basic 1 :offset-assert 156)
|
||||
(state-time time-frame :offset-assert 160)
|
||||
(mat matrix :inline :offset-assert 176)
|
||||
)
|
||||
|#
|
||||
|
||||
#|
|
||||
(deftype hide-door-a (UNKNOWN)
|
||||
()
|
||||
:method-count-assert 0
|
||||
:size-assert #x0
|
||||
:flag-assert #x0
|
||||
;; Failed to read fields.
|
||||
:method-count-assert 17
|
||||
:size-assert #xf0
|
||||
:flag-assert #x11007000f0
|
||||
(:methods
|
||||
(idle () _type_ :state 14)
|
||||
(neon-baron-method-15 () none 15)
|
||||
(neon-baron-method-16 () none 16)
|
||||
)
|
||||
)
|
||||
|#
|
||||
|
||||
;; (define-extern *baron-neon-skull* array)
|
||||
;; (define-extern *city-baron-group-ids* array)
|
||||
;; (define-extern *neon-baron-flashing-acc* object)
|
||||
(deftype hide-door-a (com-airlock)
|
||||
()
|
||||
:method-count-assert 28
|
||||
:size-assert #x174
|
||||
:flag-assert #x1c01000174
|
||||
)
|
||||
|
||||
(define-extern *baron-neon-skull* (array object))
|
||||
(define-extern *city-baron-group-ids* (array int32))
|
||||
;; (define-extern *neon-baron-flashing-acc* (pointer int32)) TODO - https://github.com/open-goal/jak-project/issues/1982
|
||||
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
;; palace-ocean ;;
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
|
||||
;; (define-extern *ocean-spheres-palace* object)
|
||||
;; (define-extern *ocean-colors-palace* object)
|
||||
;; (define-extern *ocean-near-indices-palace* ocean-near-indices)
|
||||
;; (define-extern *ocean-trans-indices-palace* ocean-trans-indices)
|
||||
;; (define-extern *ocean-mid-indices-palace* ocean-mid-indices)
|
||||
;; (define-extern *ocean-mid-masks-palace* ocean-mid-masks)
|
||||
;; (define-extern *ocean-map-palace* object)
|
||||
(define-extern *ocean-spheres-palace* ocean-spheres)
|
||||
(define-extern *ocean-colors-palace* ocean-colors)
|
||||
(define-extern *ocean-near-indices-palace* ocean-near-indices)
|
||||
(define-extern *ocean-trans-indices-palace* ocean-trans-indices)
|
||||
(define-extern *ocean-mid-indices-palace* ocean-mid-indices)
|
||||
(define-extern *ocean-mid-masks-palace* ocean-mid-masks)
|
||||
(define-extern *ocean-map-palace* ocean-map)
|
||||
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
;; race-h ;;
|
||||
|
||||
@@ -416,5 +416,8 @@
|
||||
"water": [[10, "(function vector :behavior process-drawable)"]],
|
||||
"dark-eco-pool": [[0, "(function none :behavior dark-eco-pool)"]],
|
||||
"target-gun": [[22, "(function surface object object int object :behavior target)"]],
|
||||
"scene": [[4, "(function symbol :behavior scene-player)"]]
|
||||
"scene": [[4, "(function symbol :behavior scene-player)"]],
|
||||
"enemy": [
|
||||
[37, "(function enemy-jump-info none :behavior enemy)"]
|
||||
]
|
||||
}
|
||||
|
||||
@@ -50,7 +50,6 @@
|
||||
"anim-test-sequence-list-handler",
|
||||
"anim-tester-get-playing-item",
|
||||
"(method 58 nav-graph-editor)",
|
||||
"(method 120 enemy)",
|
||||
"start-pilot-recorder",
|
||||
"(anon-function 10 pilot-recorder)",
|
||||
"(method 0 hover-nav-control)",
|
||||
@@ -124,7 +123,6 @@
|
||||
"(method 10 effect-control)",
|
||||
"(method 10 bigmap)",
|
||||
"(method 9 editable-region)", // condition branch assert hit
|
||||
"(method 57 enemy)",
|
||||
"(anon-function 10 meet-brutter)",
|
||||
"(method 154 vehicle-racer)",
|
||||
"(method 188 predator)",
|
||||
|
||||
@@ -14,9 +14,9 @@
|
||||
"CGO/GAME.CGO",
|
||||
"CGO/COMMON.CGO",
|
||||
// "DGO/LWIDEB.DGO",
|
||||
// "DGO/LMEETBRT.DGO",
|
||||
"DGO/LMEETBRT.DGO",
|
||||
"DGO/CTA.DGO",
|
||||
// "DGO/PALOUT.DGO",
|
||||
"DGO/PALOUT.DGO",
|
||||
"DGO/STD.DGO",
|
||||
// "DGO/FOR.DGO",
|
||||
// "DGO/CASEXT.DGO",
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
+17525
-2805
File diff suppressed because it is too large
Load Diff
+1219
-248
File diff suppressed because it is too large
Load Diff
+350
-259
@@ -7,8 +7,7 @@
|
||||
|
||||
(define-extern get-penetrate-using-from-attack-event (function process-drawable event-message-block penetrate))
|
||||
|
||||
;; DECOMP BEGINS
|
||||
|
||||
;; +++enemy-flag
|
||||
(defenum enemy-flag
|
||||
:type int64
|
||||
:bitfield #t
|
||||
@@ -49,321 +48,413 @@
|
||||
(vulnerable 34)
|
||||
(recover 35)
|
||||
)
|
||||
;; ---enemy-flag
|
||||
|
||||
|
||||
;; +++enemy-aware
|
||||
(defenum enemy-aware
|
||||
:type uint64
|
||||
(enemy-aware-0 0)
|
||||
(enemy-aware-3 3)
|
||||
(enemy-aware-4 4)
|
||||
)
|
||||
;; ---enemy-aware
|
||||
|
||||
|
||||
;; +++knocked-type
|
||||
(defenum knocked-type
|
||||
:type uint8
|
||||
(knocked-type-1 1)
|
||||
(knocked-type-2 2)
|
||||
(knocked-type-3 3)
|
||||
(knocked-type-4 4)
|
||||
(knocked-type-5 5)
|
||||
(knocked-type-6 6)
|
||||
(knocked-type-7 7)
|
||||
)
|
||||
;; ---knocked-type
|
||||
|
||||
(declare-type enemy process-focusable)
|
||||
|
||||
;; DECOMP BEGINS
|
||||
|
||||
(deftype enemy-focus (focus)
|
||||
((aware uint64 :offset-assert 16)
|
||||
(flags uint64 :offset-assert 24)
|
||||
((aware enemy-aware :offset-assert 16)
|
||||
(flags enemy-flag :offset-assert 24)
|
||||
)
|
||||
:method-count-assert 14
|
||||
:size-assert #x20
|
||||
:flag-assert #xe00000020
|
||||
(:methods
|
||||
(enemy-focus-method-13 () none 13)
|
||||
(try-update-focus (_type_ process-focusable enemy) symbol :replace 12)
|
||||
(enemy-focus-method-13 (_type_ process-focusable enemy-aware) symbol 13)
|
||||
)
|
||||
)
|
||||
|
||||
|
||||
(deftype enemy-info (basic)
|
||||
((fact-defaults basic :offset-assert 4)
|
||||
(use-die-falling basic :offset-assert 8)
|
||||
(use-victory basic :offset-assert 12)
|
||||
(use-jump-blocked basic :offset-assert 16)
|
||||
(debug-draw-neck basic :offset-assert 20)
|
||||
(jump-debug-draw basic :offset-assert 24)
|
||||
(move-to-ground basic :offset-assert 28)
|
||||
(hover-if-no-ground basic :offset-assert 32)
|
||||
(idle-anim-script uint32 :offset-assert 36)
|
||||
(idle-anim int32 :offset-assert 40)
|
||||
(notice-anim int32 :offset-assert 44)
|
||||
(hostile-anim int32 :offset-assert 48)
|
||||
(hit-anim int32 :offset-assert 52)
|
||||
(knocked-anim int32 :offset-assert 56)
|
||||
(knocked-land-anim int32 :offset-assert 60)
|
||||
(die-anim int32 :offset-assert 64)
|
||||
(die-falling-anim int32 :offset-assert 68)
|
||||
(victory-anim int32 :offset-assert 72)
|
||||
(jump-wind-up-anim int32 :offset-assert 76)
|
||||
(jump-in-air-anim int32 :offset-assert 80)
|
||||
(jump-land-anim int32 :offset-assert 84)
|
||||
(neck-joint int32 :offset-assert 88)
|
||||
(look-at-joint int32 :offset-assert 92)
|
||||
(bullseye-joint int32 :offset-assert 96)
|
||||
(sound-hit uint128 :offset-assert 112)
|
||||
(sound-die uint128 :offset-assert 128)
|
||||
(notice-distance meters :offset-assert 144)
|
||||
(notice-distance-delta meters :offset-assert 148)
|
||||
(proximity-notice-distance meters :offset-assert 152)
|
||||
(default-hit-points int32 :offset-assert 156)
|
||||
(gnd-collide-with uint32 :offset-assert 160)
|
||||
(overlaps-others-collide-with-filter uint32 :offset-assert 164)
|
||||
(penetrate-flinch uint64 :offset-assert 168)
|
||||
(penetrate-knocked uint64 :offset-assert 176)
|
||||
(movement-gravity meters :offset-assert 184)
|
||||
(friction float :offset-assert 188)
|
||||
(slip-factor float :offset-assert 192)
|
||||
(attack-shove-back meters :offset-assert 196)
|
||||
(attack-shove-up meters :offset-assert 200)
|
||||
(attack-mode basic :offset-assert 204)
|
||||
(attack-damage int32 :offset-assert 208)
|
||||
(recover-gnd-collide-with uint32 :offset-assert 212)
|
||||
(jump-height-min meters :offset-assert 216)
|
||||
(jump-height-factor float :offset-assert 220)
|
||||
(knocked-seek-ry-clamp float :offset-assert 224)
|
||||
(knocked-soft-vxz-lo float :offset-assert 228)
|
||||
(knocked-soft-vxz-hi float :offset-assert 232)
|
||||
(knocked-soft-vy-lo float :offset-assert 236)
|
||||
(knocked-soft-vy-hi float :offset-assert 240)
|
||||
(knocked-medium-vxz-lo float :offset-assert 244)
|
||||
(knocked-medium-vxz-hi float :offset-assert 248)
|
||||
(knocked-medium-vy-lo float :offset-assert 252)
|
||||
(knocked-medium-vy-hi float :offset-assert 256)
|
||||
(knocked-hard-vxz-lo float :offset-assert 260)
|
||||
(knocked-hard-vxz-hi float :offset-assert 264)
|
||||
(knocked-hard-vy-lo float :offset-assert 268)
|
||||
(knocked-hard-vy-hi float :offset-assert 272)
|
||||
(knocked-huge-vxz-lo float :offset-assert 276)
|
||||
(knocked-huge-vxz-hi float :offset-assert 280)
|
||||
(knocked-huge-vy-lo float :offset-assert 284)
|
||||
(knocked-huge-vy-hi float :offset-assert 288)
|
||||
(knocked-yellow-vxz-lo float :offset-assert 292)
|
||||
(knocked-yellow-vxz-hi float :offset-assert 296)
|
||||
(knocked-yellow-vy-lo float :offset-assert 300)
|
||||
(knocked-yellow-vy-hi float :offset-assert 304)
|
||||
(knocked-red-vxz-lo float :offset-assert 308)
|
||||
(knocked-red-vxz-hi float :offset-assert 312)
|
||||
(knocked-red-vy-lo float :offset-assert 316)
|
||||
(knocked-red-vy-hi float :offset-assert 320)
|
||||
(knocked-blue-vxz-lo float :offset-assert 324)
|
||||
(knocked-blue-vxz-hi float :offset-assert 328)
|
||||
(knocked-blue-vy-lo float :offset-assert 332)
|
||||
(knocked-blue-vy-hi float :offset-assert 336)
|
||||
(shadow-size meters :offset-assert 340)
|
||||
(shadow-max-y meters :offset-assert 344)
|
||||
(shadow-min-y meters :offset-assert 348)
|
||||
(shadow-locus-dist meters :offset-assert 352)
|
||||
(gem-joint int32 :offset-assert 356)
|
||||
(gem-seg uint32 :offset-assert 360)
|
||||
(gem-no-seg uint32 :offset-assert 364)
|
||||
(gem-offset sphere :inline :offset-assert 368)
|
||||
((fact-defaults basic :offset-assert 4)
|
||||
(use-die-falling symbol :offset-assert 8)
|
||||
(use-victory symbol :offset-assert 12)
|
||||
(use-jump-blocked symbol :offset-assert 16)
|
||||
(debug-draw-neck symbol :offset-assert 20)
|
||||
(jump-debug-draw symbol :offset-assert 24)
|
||||
(move-to-ground symbol :offset-assert 28)
|
||||
(hover-if-no-ground symbol :offset-assert 32)
|
||||
(idle-anim-script uint32 :offset-assert 36)
|
||||
(idle-anim int32 :offset-assert 40)
|
||||
(notice-anim int32 :offset-assert 44)
|
||||
(hostile-anim int32 :offset-assert 48)
|
||||
(hit-anim int32 :offset-assert 52)
|
||||
(knocked-anim int32 :offset-assert 56)
|
||||
(knocked-land-anim int32 :offset-assert 60)
|
||||
(die-anim int32 :offset-assert 64)
|
||||
(die-falling-anim int32 :offset-assert 68)
|
||||
(victory-anim int32 :offset-assert 72)
|
||||
(jump-wind-up-anim int32 :offset-assert 76)
|
||||
(jump-in-air-anim int32 :offset-assert 80)
|
||||
(jump-land-anim int32 :offset-assert 84)
|
||||
(neck-joint int32 :offset-assert 88)
|
||||
(look-at-joint int32 :offset-assert 92)
|
||||
(bullseye-joint int32 :offset-assert 96)
|
||||
(sound-hit uint128 :offset-assert 112)
|
||||
(sound-die uint128 :offset-assert 128)
|
||||
(notice-distance meters :offset-assert 144)
|
||||
(notice-distance-delta meters :offset-assert 148)
|
||||
(proximity-notice-distance meters :offset-assert 152)
|
||||
(default-hit-points int32 :offset-assert 156)
|
||||
(gnd-collide-with collide-spec :offset-assert 160)
|
||||
(overlaps-others-collide-with-filter collide-spec :offset-assert 164)
|
||||
(penetrate-flinch uint64 :offset-assert 168)
|
||||
(penetrate-knocked uint64 :offset-assert 176)
|
||||
(movement-gravity meters :offset-assert 184)
|
||||
(friction float :offset-assert 188)
|
||||
(slip-factor float :offset-assert 192)
|
||||
(attack-shove-back meters :offset-assert 196)
|
||||
(attack-shove-up meters :offset-assert 200)
|
||||
(attack-mode basic :offset-assert 204)
|
||||
(attack-damage int32 :offset-assert 208)
|
||||
(recover-gnd-collide-with collide-spec :offset-assert 212)
|
||||
(jump-height-min meters :offset-assert 216)
|
||||
(jump-height-factor float :offset-assert 220)
|
||||
(knocked-seek-ry-clamp float :offset-assert 224)
|
||||
(knocked-soft-vxz-lo float :offset-assert 228)
|
||||
(knocked-soft-vxz-hi float :offset-assert 232)
|
||||
(knocked-soft-vy-lo float :offset-assert 236)
|
||||
(knocked-soft-vy-hi float :offset-assert 240)
|
||||
(knocked-medium-vxz-lo float :offset-assert 244)
|
||||
(knocked-medium-vxz-hi float :offset-assert 248)
|
||||
(knocked-medium-vy-lo float :offset-assert 252)
|
||||
(knocked-medium-vy-hi float :offset-assert 256)
|
||||
(knocked-hard-vxz-lo float :offset-assert 260)
|
||||
(knocked-hard-vxz-hi float :offset-assert 264)
|
||||
(knocked-hard-vy-lo float :offset-assert 268)
|
||||
(knocked-hard-vy-hi float :offset-assert 272)
|
||||
(knocked-huge-vxz-lo float :offset-assert 276)
|
||||
(knocked-huge-vxz-hi float :offset-assert 280)
|
||||
(knocked-huge-vy-lo float :offset-assert 284)
|
||||
(knocked-huge-vy-hi float :offset-assert 288)
|
||||
(knocked-yellow-vxz-lo float :offset-assert 292)
|
||||
(knocked-yellow-vxz-hi float :offset-assert 296)
|
||||
(knocked-yellow-vy-lo float :offset-assert 300)
|
||||
(knocked-yellow-vy-hi float :offset-assert 304)
|
||||
(knocked-red-vxz-lo float :offset-assert 308)
|
||||
(knocked-red-vxz-hi float :offset-assert 312)
|
||||
(knocked-red-vy-lo float :offset-assert 316)
|
||||
(knocked-red-vy-hi float :offset-assert 320)
|
||||
(knocked-blue-vxz-lo float :offset-assert 324)
|
||||
(knocked-blue-vxz-hi float :offset-assert 328)
|
||||
(knocked-blue-vy-lo float :offset-assert 332)
|
||||
(knocked-blue-vy-hi float :offset-assert 336)
|
||||
(shadow-size meters :offset-assert 340)
|
||||
(shadow-max-y meters :offset-assert 344)
|
||||
(shadow-min-y meters :offset-assert 348)
|
||||
(shadow-locus-dist meters :offset-assert 352)
|
||||
(gem-joint int32 :offset-assert 356)
|
||||
(gem-seg uint32 :offset-assert 360)
|
||||
(gem-no-seg uint32 :offset-assert 364)
|
||||
(gem-offset sphere :inline :offset-assert 368)
|
||||
)
|
||||
:method-count-assert 10
|
||||
:size-assert #x180
|
||||
:flag-assert #xa00000180
|
||||
(:methods
|
||||
(enemy-info-method-9 () none 9)
|
||||
(copy! (_type_ _type_) none 9)
|
||||
)
|
||||
)
|
||||
|
||||
|
||||
(deftype enemy-knocked-info (structure)
|
||||
((anim-speed float :offset-assert 0)
|
||||
(on-surface-count int32 :offset-assert 4)
|
||||
(move-count int32 :offset-assert 8)
|
||||
(land-can-land-time time-frame :offset-assert 16)
|
||||
((anim-speed float :offset-assert 0)
|
||||
(on-surface-count int32 :offset-assert 4)
|
||||
(move-count int32 :offset-assert 8)
|
||||
(land-can-land-time time-frame :offset-assert 16)
|
||||
)
|
||||
:method-count-assert 9
|
||||
:size-assert #x18
|
||||
:flag-assert #x900000018
|
||||
)
|
||||
|
||||
|
||||
(deftype enemy-jump-info (structure)
|
||||
((flags uint8 :offset-assert 0)
|
||||
(anim-speed float :offset-assert 4)
|
||||
(hang-time time-frame :offset-assert 8)
|
||||
(start-pos vector :inline :offset-assert 16)
|
||||
(dest-pos vector :inline :offset-assert 32)
|
||||
(traj trajectory :inline :offset-assert 48)
|
||||
((flags uint8 :offset-assert 0)
|
||||
(anim-speed float :offset-assert 4)
|
||||
(hang-time time-frame :offset-assert 8)
|
||||
(start-pos vector :inline :offset-assert 16)
|
||||
(dest-pos vector :inline :offset-assert 32)
|
||||
(traj trajectory :inline :offset-assert 48)
|
||||
)
|
||||
:method-count-assert 9
|
||||
:size-assert #x58
|
||||
:flag-assert #x900000058
|
||||
)
|
||||
|
||||
|
||||
(deftype enemy-init-by-other-params (structure)
|
||||
((trans vector :inline :offset-assert 0)
|
||||
(quat quaternion :inline :offset-assert 16)
|
||||
(entity basic :offset-assert 32)
|
||||
(directed? basic :offset-assert 36)
|
||||
(no-initial-move-to-ground? basic :offset-assert 40)
|
||||
((trans vector :inline :offset-assert 0)
|
||||
(quat quaternion :inline :offset-assert 16)
|
||||
(entity basic :offset-assert 32)
|
||||
(directed? symbol :offset-assert 36)
|
||||
(no-initial-move-to-ground? symbol :offset-assert 40)
|
||||
)
|
||||
:method-count-assert 9
|
||||
:size-assert #x2c
|
||||
:flag-assert #x90000002c
|
||||
)
|
||||
|
||||
|
||||
(deftype enemy-attack-info (structure)
|
||||
((attack-id uint32 :offset-assert 0)
|
||||
(knocked-type uint8 :offset-assert 4)
|
||||
(blue-juggle-count uint8 :offset-assert 5)
|
||||
(attacker-handle uint64 :offset-assert 8)
|
||||
(attack-time time-frame :offset-assert 16)
|
||||
(penetrate-using uint64 :offset-assert 24)
|
||||
(attacker-pos vector :inline :offset-assert 32)
|
||||
(attack-direction vector :inline :offset-assert 48)
|
||||
((attack-id uint32 :offset-assert 0)
|
||||
(knocked-type knocked-type :offset-assert 4)
|
||||
(blue-juggle-count uint8 :offset-assert 5)
|
||||
(attacker-handle handle :offset-assert 8)
|
||||
(attack-time time-frame :offset-assert 16)
|
||||
(penetrate-using uint64 :offset-assert 24)
|
||||
(attacker-pos vector :inline :offset-assert 32)
|
||||
(attack-direction vector :inline :offset-assert 48)
|
||||
)
|
||||
:method-count-assert 9
|
||||
:size-assert #x40
|
||||
:flag-assert #x900000040
|
||||
)
|
||||
|
||||
|
||||
(deftype enemy-best-focus (structure)
|
||||
((proc basic :offset-assert 0)
|
||||
(rating float :offset-assert 4)
|
||||
(aware uint64 :offset-assert 8)
|
||||
((proc basic :offset-assert 0)
|
||||
(rating float :offset-assert 4)
|
||||
(aware uint64 :offset-assert 8)
|
||||
)
|
||||
:method-count-assert 9
|
||||
:size-assert #x10
|
||||
:flag-assert #x900000010
|
||||
)
|
||||
|
||||
|
||||
(deftype enemy (process-focusable)
|
||||
((enemy-flags enemy-flag :offset-assert 208)
|
||||
(enemy-info symbol :offset-assert 216)
|
||||
(hit-points int32 :offset-assert 220)
|
||||
(gnd-collide uint32 :offset-assert 224)
|
||||
(attack-id uint32 :offset-assert 228)
|
||||
(persistent-attack-id uint32 :offset-assert 232)
|
||||
(water-max-height float :offset-assert 236)
|
||||
(water-surface-height float :offset-assert 240)
|
||||
(desired-angle float :offset-assert 244)
|
||||
(jump-why uint64 :offset-assert 248)
|
||||
(penetrated-by-all uint64 :offset-assert 256)
|
||||
(penetrated-flinch uint64 :offset-assert 264)
|
||||
(penetrated-knocked uint64 :offset-assert 272)
|
||||
(reaction-time uint64 :offset-assert 280)
|
||||
(notice-time uint64 :offset-assert 288)
|
||||
(state-timeout uint64 :offset-assert 296)
|
||||
(auto-reset-penetrate-time uint64 :offset-assert 304)
|
||||
(hit-focus-time uint64 :offset-assert 312)
|
||||
(last-draw-time uint64 :offset-assert 320)
|
||||
(starting-time uint64 :offset-assert 328)
|
||||
(fated-time uint64 :offset-assert 336)
|
||||
(focus-pos vector :inline :offset-assert 352)
|
||||
(event-param-point vector :inline :offset-assert 368)
|
||||
(jump-dest vector :inline :offset 368)
|
||||
(focus enemy-focus :inline :offset-assert 384)
|
||||
(incoming enemy-attack-info :inline :offset-assert 416)
|
||||
(actor-group actor-group :offset-assert 480)
|
||||
(actor-group-count int32 :offset-assert 484)
|
||||
(neck symbol :offset-assert 488)
|
||||
(on-notice symbol :offset-assert 492)
|
||||
(on-active symbol :offset-assert 496)
|
||||
(on-hostile symbol :offset-assert 500)
|
||||
(on-death symbol :offset-assert 504)
|
||||
(idle-anim-player idle-control :inline :offset-assert 512)
|
||||
(rand-gen symbol :offset-assert 528)
|
||||
)
|
||||
((root-override collide-shape-moving :offset 128)
|
||||
(fact-info-override fact-info-enemy :offset 160)
|
||||
(enemy-flags enemy-flag :offset-assert 208)
|
||||
(enemy-info enemy-info :offset-assert 216)
|
||||
(hit-points int32 :offset-assert 220)
|
||||
(gnd-collide uint32 :offset-assert 224)
|
||||
(attack-id uint32 :offset-assert 228)
|
||||
(persistent-attack-id uint32 :offset-assert 232)
|
||||
(water-max-height meters :offset-assert 236)
|
||||
(water-surface-height meters :offset-assert 240)
|
||||
(desired-angle degrees :offset-assert 244)
|
||||
(jump-why uint64 :offset-assert 248)
|
||||
(penetrated-by-all penetrate :offset-assert 256)
|
||||
(penetrated-flinch penetrate :offset-assert 264)
|
||||
(penetrated-knocked penetrate :offset-assert 272)
|
||||
(reaction-time uint64 :offset-assert 280)
|
||||
(notice-time uint64 :offset-assert 288)
|
||||
(state-timeout uint64 :offset-assert 296)
|
||||
(auto-reset-penetrate-time uint64 :offset-assert 304)
|
||||
(hit-focus-time uint64 :offset-assert 312)
|
||||
(last-draw-time uint64 :offset-assert 320)
|
||||
(starting-time uint64 :offset-assert 328)
|
||||
(fated-time uint64 :offset-assert 336)
|
||||
(focus-pos vector :inline :offset-assert 352)
|
||||
(event-param-point vector :inline :offset-assert 368)
|
||||
(jump-dest vector :inline :offset 368)
|
||||
(focus enemy-focus :inline :offset-assert 384)
|
||||
(incoming enemy-attack-info :inline :offset-assert 416)
|
||||
(actor-group actor-group :offset-assert 480)
|
||||
(actor-group-count int32 :offset-assert 484)
|
||||
(neck basic :offset-assert 488)
|
||||
(on-notice symbol :offset-assert 492)
|
||||
(on-active symbol :offset-assert 496)
|
||||
(on-hostile symbol :offset-assert 500)
|
||||
(on-death symbol :offset-assert 504)
|
||||
(idle-anim-player idle-control :inline :offset-assert 512)
|
||||
(rand-gen symbol :offset-assert 528)
|
||||
)
|
||||
:heap-base #x1a0
|
||||
:method-count-assert 137
|
||||
:size-assert #x214
|
||||
:flag-assert #x8901a00214
|
||||
(:methods
|
||||
(enemy-method-27 () none 27)
|
||||
(enemy-method-28 () none 28)
|
||||
(enemy-method-29 () none 29)
|
||||
(enemy-method-30 () none 30)
|
||||
(enemy-method-31 () none 31)
|
||||
(enemy-method-32 () none 32)
|
||||
(enemy-method-33 () none 33)
|
||||
(enemy-method-34 () none 34)
|
||||
(enemy-method-35 () none 35)
|
||||
(enemy-method-36 () none 36)
|
||||
(enemy-method-37 () none 37)
|
||||
(enemy-method-38 () none 38)
|
||||
(enemy-method-39 () none 39)
|
||||
(enemy-method-40 () none 40)
|
||||
(enemy-method-41 () none 41)
|
||||
(enemy-method-42 () none 42)
|
||||
(enemy-method-43 () none 43)
|
||||
(enemy-method-44 () none 44)
|
||||
(enemy-method-45 () none 45)
|
||||
(enemy-method-46 () none 46)
|
||||
(enemy-method-47 () none 47)
|
||||
(enemy-method-48 () none 48)
|
||||
(enemy-method-49 () none 49)
|
||||
(enemy-method-50 () none 50)
|
||||
(enemy-method-51 () none 51)
|
||||
(enemy-method-52 () none 52)
|
||||
(enemy-method-53 () none 53)
|
||||
(enemy-method-54 () none 54)
|
||||
(enemy-method-55 () none 55)
|
||||
(enemy-method-56 () none 56)
|
||||
(enemy-method-57 () none 57)
|
||||
(enemy-method-58 () none 58)
|
||||
(enemy-method-59 () none 59)
|
||||
(enemy-method-60 () none 60)
|
||||
(enemy-method-61 () none 61)
|
||||
(enemy-method-62 () none 62)
|
||||
(enemy-method-63 () none 63)
|
||||
(enemy-method-64 () none 64)
|
||||
(enemy-method-65 () none 65)
|
||||
(enemy-method-66 () none 66)
|
||||
(enemy-method-67 () none 67)
|
||||
(enemy-method-68 () none 68)
|
||||
(enemy-method-69 () none 69)
|
||||
(enemy-method-70 () none 70)
|
||||
(enemy-method-71 () none 71)
|
||||
(enemy-method-72 () none 72)
|
||||
(enemy-method-73 () none 73)
|
||||
(enemy-method-74 () none 74)
|
||||
(enemy-method-75 () none 75)
|
||||
(enemy-method-76 () none 76)
|
||||
(enemy-method-77 () none 77)
|
||||
(enemy-method-78 () none 78)
|
||||
(enemy-method-79 () none 79)
|
||||
(enemy-method-80 () none 80)
|
||||
(enemy-method-81 () none 81)
|
||||
(enemy-method-82 () none 82)
|
||||
(enemy-method-83 () none 83)
|
||||
(enemy-method-84 () none 84)
|
||||
(enemy-method-85 () none 85)
|
||||
(enemy-method-86 () none 86)
|
||||
(enemy-method-87 () none 87)
|
||||
(enemy-method-88 () none 88)
|
||||
(enemy-method-89 () none 89)
|
||||
(enemy-method-90 () none 90)
|
||||
(enemy-method-91 () none 91)
|
||||
(enemy-method-92 () none 92)
|
||||
(enemy-method-93 () none 93)
|
||||
(enemy-method-94 () none 94)
|
||||
(enemy-method-95 () none 95)
|
||||
(enemy-method-96 () none 96)
|
||||
(enemy-method-97 () none 97)
|
||||
(enemy-method-98 () none 98)
|
||||
(enemy-method-99 () none 99)
|
||||
(enemy-method-100 () none 100)
|
||||
(enemy-method-101 () none 101)
|
||||
(enemy-method-102 () none 102)
|
||||
(enemy-method-103 () none 103)
|
||||
(enemy-method-104 () none 104)
|
||||
(enemy-method-105 () none 105)
|
||||
(enemy-method-106 () none 106)
|
||||
(enemy-method-107 () none 107)
|
||||
(enemy-method-108 () none 108)
|
||||
(enemy-method-109 () none 109)
|
||||
(enemy-method-110 () none 110)
|
||||
(enemy-method-111 () none 111)
|
||||
(enemy-method-112 () none 112)
|
||||
(enemy-method-113 () none 113)
|
||||
(enemy-method-114 () none 114)
|
||||
(enemy-method-115 () none 115)
|
||||
(enemy-method-116 () none 116)
|
||||
(enemy-method-117 () none 117)
|
||||
(enemy-method-118 () none 118)
|
||||
(enemy-method-119 () none 119)
|
||||
(enemy-method-120 () none 120)
|
||||
(enemy-method-121 () none 121)
|
||||
(enemy-method-122 () none 122)
|
||||
(enemy-method-123 () none 123)
|
||||
(enemy-method-124 () none 124)
|
||||
(enemy-method-125 () none 125)
|
||||
(enemy-method-126 () none 126)
|
||||
(enemy-method-127 () none 127)
|
||||
(enemy-method-128 () none 128)
|
||||
(enemy-method-129 () none 129)
|
||||
(enemy-method-130 () none 130)
|
||||
(enemy-method-131 () none 131)
|
||||
(enemy-method-132 () none 132)
|
||||
(enemy-method-133 () none 133)
|
||||
(enemy-method-134 () none 134)
|
||||
(enemy-method-135 () none 135)
|
||||
(enemy-method-136 () none 136)
|
||||
(dormant () _type_ :state 27)
|
||||
(dormant-aware () _type_ :state 28)
|
||||
(hit () _type_ :state 29)
|
||||
(knocked () _type_ :state 30)
|
||||
(idle () _type_ :state 31)
|
||||
(active () _type_ :state 32)
|
||||
(notice () _type_ :state 33)
|
||||
(flee () _type_ :state 34)
|
||||
(stare () _type_ :state 35)
|
||||
(hostile () _type_ :state 36)
|
||||
(victory () _type_ :state 37)
|
||||
(die () _type_ :state 38)
|
||||
(die-falling () _type_ :state 39)
|
||||
(die-fast () _type_ :state 40)
|
||||
(directed () _type_ :state 41)
|
||||
(jump () _type_ :state 42)
|
||||
(jump-blocked () _type_ :state 43)
|
||||
(ambush () _type_ :state 44)
|
||||
(view-anims () _type_ :state 45)
|
||||
(enemy-method-46 (_type_) none 46)
|
||||
(enemy-method-47 (_type_ vector) float 47)
|
||||
(enemy-method-48 (_type_) none 48)
|
||||
(enemy-method-49 (_type_) time-frame :behavior enemy 49)
|
||||
(enemy-method-50 (_type_ vector) vector 50)
|
||||
(enemy-method-51 (_type_) float 51)
|
||||
(enemy-method-52 (_type_ vector) none 52)
|
||||
(enemy-method-53 (_type_ process-focusable) symbol 53)
|
||||
(enemy-method-54 (_type_) none 54)
|
||||
(enemy-method-55 (_type_) none 55)
|
||||
(enemy-method-56 (_type_ object enemy-attack-info) none 56)
|
||||
(enemy-method-57 (_type_) none 57)
|
||||
(enemy-method-58 (_type_) symbol 58)
|
||||
(enemy-method-59 (_type_) penetrate 59)
|
||||
(coin-flip? (_type_) symbol 60)
|
||||
(enemy-method-61 (_type_ int) none 61)
|
||||
(enemy-method-62 (_type_) none 62)
|
||||
(enemy-method-63 (_type_ process-focusable symbol) none 63)
|
||||
(enemy-method-64 (_type_) none 64)
|
||||
(enemy-method-65 (_type_) none 65)
|
||||
(go-ambush (_type_) none 66)
|
||||
(go-stare (_type_) none 67)
|
||||
(go-stare2 (_type_) none 68)
|
||||
(go-directed (_type_) none 69)
|
||||
(go-hostile (_type_) none 70)
|
||||
(go-flee (_type_) none 71)
|
||||
(enemy-method-72 (_type_) none 72)
|
||||
(enemy-method-73 (_type_) none 73)
|
||||
(enemy-method-74 (_type_) none 74)
|
||||
(enemy-method-75 (_type_ process touching-shapes-entry) none 75)
|
||||
(enemy-method-76 (_type_) none 76)
|
||||
(enemy-method-77 (_type_) none 77)
|
||||
(enemy-method-78 (_type_) none 78)
|
||||
(enemy-method-79 (_type_) none 79)
|
||||
(enemy-method-80 (_type_) none 80)
|
||||
(enemy-method-81 (_type_) symbol 81)
|
||||
(enemy-method-82 (_type_) none 82)
|
||||
(enemy-method-83 (_type_ enemy-jump-info) none 83)
|
||||
(enemy-method-84 (_type_ enemy-jump-info) none 84)
|
||||
(enemy-method-85 (_type_) float 85)
|
||||
(enemy-method-86 (_type_) symbol 86)
|
||||
(enemy-method-87 (_type_) none 87)
|
||||
(enemy-method-88 (_type_) none 88)
|
||||
(enemy-method-89 (_type_) none 89)
|
||||
(enemy-method-90 (_type_) none 90)
|
||||
(enemy-method-91 (_type_ int enemy-jump-info) none 91)
|
||||
(enemy-method-92 (_type_) none 92)
|
||||
(enemy-method-93 (_type_) none 93)
|
||||
(enemy-method-94 (_type_ vector float) symbol 94)
|
||||
(enemy-method-95 (_type_ vector float) symbol 95)
|
||||
(enemy-method-96 (_type_ float symbol) symbol 96)
|
||||
(enemy-method-97 (_type_) none 97)
|
||||
(enemy-method-98 (_type_) symbol 98)
|
||||
(enemy-method-99 (_type_) symbol 99)
|
||||
(enemy-method-100 (_type_) symbol 100)
|
||||
(enemy-method-101 (_type_) none 101)
|
||||
(enemy-method-102 (_type_) symbol 102)
|
||||
(enemy-method-103 (_type_) collide-spec 103)
|
||||
(enemy-method-104 (_type_ process uint uint) symbol :behavior process 104)
|
||||
(enemy-method-105 (_type_) none 105)
|
||||
(enemy-method-106 (_type_) none 106)
|
||||
(enemy-method-107 (_type_) process 107)
|
||||
(enemy-method-108 (_type_ object) none 108)
|
||||
(enemy-method-109 (_type_ int) none 109)
|
||||
(enemy-method-110 (_type_) none 110)
|
||||
(enemy-method-111 (_type_) none :behavior enemy 111)
|
||||
(enemy-method-112 (_type_ enemy-info) none 112)
|
||||
(enemy-method-113 (_type_ enemy-info) none 113)
|
||||
(enemy-method-114 (_type_) none 114)
|
||||
(enemy-method-115 (_type_) none 115)
|
||||
(go-idle (_type_) none 116)
|
||||
(get-rand-float (_type_) float 117)
|
||||
(get-rand-float-range (_type_ float float) float 118)
|
||||
(get-rand-int (_type_ int) int 119)
|
||||
(enemy-method-120 (_type_ int int) int 120)
|
||||
(get-rand-int-range (_type_ int int) int 121)
|
||||
(rng-hit? (_type_ float) symbol 122)
|
||||
(enemy-method-123 (_type_ float) symbol 123)
|
||||
(enemy-method-124 (_type_) collide-spec 124)
|
||||
(enemy-method-125 (_type_) none 125)
|
||||
(enemy-method-126 (_type_) none 126)
|
||||
(enemy-method-127 (_type_) none 127)
|
||||
(enemy-method-128 (_type_ vector) none 128)
|
||||
(enemy-method-129 (_type_) none 129)
|
||||
(enemy-method-130 (_type_) none 130)
|
||||
(enemy-method-131 (_type_) none 131)
|
||||
(enemy-method-132 (_type_) none 132)
|
||||
(enemy-method-133 (_type_) none 133)
|
||||
(enemy-method-134 (_type_ process symbol) process-focusable 134)
|
||||
(enemy-method-135 (_type_ int) sound-id 135)
|
||||
(enemy-method-136 (_type_) enemy-flag 136)
|
||||
)
|
||||
)
|
||||
|
||||
|
||||
(deftype anim-info (structure)
|
||||
((anim-index int32 :offset-assert 0)
|
||||
(travel-speed meters :offset-assert 4)
|
||||
)
|
||||
:method-count-assert 9
|
||||
:size-assert #x8
|
||||
:flag-assert #x900000008
|
||||
)
|
||||
|
||||
|
||||
(defmethod try-update-focus enemy-focus ((obj enemy-focus) (arg0 process-focusable) (arg1 enemy))
|
||||
(let* ((t9-0 (method-of-type focus try-update-focus))
|
||||
(s3-0 (t9-0 obj arg0))
|
||||
)
|
||||
(when (not s3-0)
|
||||
(logclear! (-> obj flags) (enemy-flag lock-focus))
|
||||
(let* ((s2-0 arg1)
|
||||
(s1-0 (method-of-object s2-0 enemy-method-61))
|
||||
(t9-1 (method-of-object arg1 enemy-method-57))
|
||||
)
|
||||
(set! (-> obj aware) (the-as enemy-aware (s1-0 s2-0 (the-as int (t9-1 arg1)))))
|
||||
)
|
||||
)
|
||||
s3-0
|
||||
)
|
||||
)
|
||||
|
||||
(defmethod enemy-focus-method-13 enemy-focus ((obj enemy-focus) (arg0 process-focusable) (arg1 enemy-aware))
|
||||
"TODO - enemy-aware sets `aware` on the type, but it's also an `enemy` passed to method 12...what the hell is going on?
|
||||
probably related to ';; skipped : handle creation is different, want to grab more.'"
|
||||
(let* ((t9-0 (method-of-type focus try-update-focus))
|
||||
(v0-0 (t9-0 obj arg0))
|
||||
)
|
||||
(set! (-> obj aware) arg1)
|
||||
(if (not v0-0)
|
||||
(logclear! (-> obj flags) (enemy-flag lock-focus))
|
||||
)
|
||||
v0-0
|
||||
)
|
||||
)
|
||||
|
||||
;; WARN: Return type mismatch enemy-flag vs none.
|
||||
(defmethod clear-focused enemy-focus ((obj enemy-focus))
|
||||
(let ((t9-0 (method-of-type focus clear-focused)))
|
||||
(t9-0 obj)
|
||||
)
|
||||
(set! (-> obj aware) (enemy-aware enemy-aware-0))
|
||||
(logclear! (-> obj flags) (enemy-flag lock-focus))
|
||||
(none)
|
||||
)
|
||||
|
||||
@@ -481,7 +481,7 @@
|
||||
(collide-shape-method-48 () none 48)
|
||||
(collide-shape-method-49 (_type_ int int int) none 49)
|
||||
(collide-shape-method-50 () none 50)
|
||||
(collide-shape-method-51 () none 51)
|
||||
(collide-shape-method-51 (_type_) none 51)
|
||||
(water-info-init! (_type_ water-info collide-action) water-info 52)
|
||||
(collide-shape-method-53 (_type_) none 53)
|
||||
(collide-shape-method-54 (_type_) none 54)
|
||||
|
||||
@@ -184,7 +184,7 @@
|
||||
:heap-size #x4000
|
||||
)
|
||||
(new 'static 'entity-info
|
||||
:ptype (type-ref neon-baron :method-count 19)
|
||||
:ptype (type-ref neon-baron :method-count 17)
|
||||
:package "game"
|
||||
:art-group '()
|
||||
:pool '*16k-dead-pool*
|
||||
@@ -219,7 +219,3 @@
|
||||
)
|
||||
)
|
||||
)
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -8,27 +8,28 @@
|
||||
;; DECOMP BEGINS
|
||||
|
||||
(deftype idle-control-frame (uint32)
|
||||
((command uint8 :offset 0)
|
||||
(anim uint8 :offset 8)
|
||||
(param0 uint8 :offset 16)
|
||||
(param1 uint8 :offset 24)
|
||||
)
|
||||
((command uint8 :offset 0 :size 8)
|
||||
(anim uint8 :offset 8 :size 8)
|
||||
(param0 uint8 :offset 16 :size 8)
|
||||
(param1 uint8 :offset 24 :size 8)
|
||||
)
|
||||
:method-count-assert 9
|
||||
:size-assert #x4
|
||||
:flag-assert #x900000004
|
||||
)
|
||||
|
||||
|
||||
(deftype idle-control (structure)
|
||||
((anim uint32 :offset-assert 0)
|
||||
(current uint32 :offset-assert 4)
|
||||
(counter int32 :offset-assert 8)
|
||||
(target int32 :offset-assert 12)
|
||||
((anim (pointer uint32) :offset-assert 0)
|
||||
(current (pointer uint32) :offset-assert 4)
|
||||
(counter int32 :offset-assert 8)
|
||||
(target int32 :offset-assert 12)
|
||||
)
|
||||
:method-count-assert 11
|
||||
:size-assert #x10
|
||||
:flag-assert #xb00000010
|
||||
(:methods
|
||||
(idle-control-method-9 () none 9)
|
||||
(idle-control-method-10 () none 10)
|
||||
(idle-control-method-9 (_type_ (pointer uint32)) none 9)
|
||||
(idle-control-method-10 (_type_ process-drawable) none 10)
|
||||
)
|
||||
)
|
||||
)
|
||||
|
||||
@@ -7,219 +7,51 @@
|
||||
|
||||
;; DECOMP BEGINS
|
||||
|
||||
(defenum enemy-flag
|
||||
:type int64
|
||||
:bitfield #t
|
||||
(lock-focus 0)
|
||||
(death-start 1)
|
||||
(enable-on-active 2)
|
||||
(checking-water 3)
|
||||
(check-water 4)
|
||||
(spawn-gem 5)
|
||||
(chase-startup 6)
|
||||
(attackable-backup 7)
|
||||
(look-at-focus 8)
|
||||
(use-notice-distance 9)
|
||||
(enable-on-notice 10)
|
||||
(look-at-move-dest 11)
|
||||
(notice 12)
|
||||
(auto-reset-penetrate 13)
|
||||
(jump-check-blocked 14)
|
||||
(drawn-mirrored 15)
|
||||
(multi-focus 16)
|
||||
(alert 17)
|
||||
(victory 18)
|
||||
(dangerous-backup 19)
|
||||
(actor-pause-backup 20)
|
||||
(trackable 21)
|
||||
(called-dying 22)
|
||||
(check-water-backup 23)
|
||||
(no-initial-move-to-ground 24)
|
||||
(cam-attack-mode 25)
|
||||
(trackable-backup 26)
|
||||
(enable-on-hostile 27)
|
||||
(directed-ready 28)
|
||||
(use-trigger 29)
|
||||
(directed 30)
|
||||
(dislike-combo 31)
|
||||
(recover-applied-velocity 32)
|
||||
(vulnerable-backup 33)
|
||||
(vulnerable 34)
|
||||
(recover 35)
|
||||
(deftype nav-enemy-info (enemy-info)
|
||||
((callback-info nav-callback-info :offset-assert 384)
|
||||
(use-momentum symbol :offset-assert 388)
|
||||
(use-frustration basic :offset-assert 392)
|
||||
(use-stop-chase basic :offset-assert 396)
|
||||
(use-circling basic :offset-assert 400)
|
||||
(use-pacing basic :offset-assert 404)
|
||||
(walk-anim int32 :offset-assert 408)
|
||||
(turn-anim int32 :offset-assert 412)
|
||||
(run-anim int32 :offset-assert 416)
|
||||
(taunt-anim int32 :offset-assert 420)
|
||||
(run-travel-speed meters :offset-assert 424)
|
||||
(run-acceleration meters :offset-assert 428)
|
||||
(run-turning-acceleration meters :offset-assert 432)
|
||||
(walk-travel-speed meters :offset-assert 436)
|
||||
(walk-acceleration meters :offset-assert 440)
|
||||
(walk-turning-acceleration meters :offset-assert 444)
|
||||
(maximum-rotation-rate degrees :offset-assert 448)
|
||||
(notice-nav-radius meters :offset-assert 452)
|
||||
(frustration-distance meters :offset-assert 456)
|
||||
(frustration-time time-frame :offset-assert 464)
|
||||
(blocked-time time-frame :offset-assert 472)
|
||||
(circle-dist-lo float :offset-assert 480)
|
||||
(circle-dist-hi float :offset-assert 484)
|
||||
(nav-mesh basic :offset-assert 488)
|
||||
)
|
||||
|
||||
(deftype enemy-focus (focus)
|
||||
((aware uint64 :offset-assert 16)
|
||||
(flags uint64 :offset-assert 24)
|
||||
)
|
||||
:method-count-assert 14
|
||||
:size-assert #x20
|
||||
:flag-assert #xe00000020
|
||||
:method-count-assert 11
|
||||
:size-assert #x1ec
|
||||
:flag-assert #xb000001ec
|
||||
(:methods
|
||||
(enemy-focus-method-13 () none 13)
|
||||
(nav-enemy-info-method-10 () none 10)
|
||||
)
|
||||
)
|
||||
|
||||
(deftype enemy-info (basic)
|
||||
((fact-defaults basic :offset-assert 4)
|
||||
(use-die-falling basic :offset-assert 8)
|
||||
(use-victory basic :offset-assert 12)
|
||||
(use-jump-blocked basic :offset-assert 16)
|
||||
(debug-draw-neck basic :offset-assert 20)
|
||||
(jump-debug-draw basic :offset-assert 24)
|
||||
(move-to-ground basic :offset-assert 28)
|
||||
(hover-if-no-ground basic :offset-assert 32)
|
||||
(idle-anim-script uint32 :offset-assert 36)
|
||||
(idle-anim int32 :offset-assert 40)
|
||||
(notice-anim int32 :offset-assert 44)
|
||||
(hostile-anim int32 :offset-assert 48)
|
||||
(hit-anim int32 :offset-assert 52)
|
||||
(knocked-anim int32 :offset-assert 56)
|
||||
(knocked-land-anim int32 :offset-assert 60)
|
||||
(die-anim int32 :offset-assert 64)
|
||||
(die-falling-anim int32 :offset-assert 68)
|
||||
(victory-anim int32 :offset-assert 72)
|
||||
(jump-wind-up-anim int32 :offset-assert 76)
|
||||
(jump-in-air-anim int32 :offset-assert 80)
|
||||
(jump-land-anim int32 :offset-assert 84)
|
||||
(neck-joint int32 :offset-assert 88)
|
||||
(look-at-joint int32 :offset-assert 92)
|
||||
(bullseye-joint int32 :offset-assert 96)
|
||||
(sound-hit uint128 :offset-assert 112)
|
||||
(sound-die uint128 :offset-assert 128)
|
||||
(notice-distance meters :offset-assert 144)
|
||||
(notice-distance-delta meters :offset-assert 148)
|
||||
(proximity-notice-distance meters :offset-assert 152)
|
||||
(default-hit-points int32 :offset-assert 156)
|
||||
(gnd-collide-with uint32 :offset-assert 160)
|
||||
(overlaps-others-collide-with-filter uint32 :offset-assert 164)
|
||||
(penetrate-flinch uint64 :offset-assert 168)
|
||||
(penetrate-knocked uint64 :offset-assert 176)
|
||||
(movement-gravity meters :offset-assert 184)
|
||||
(friction float :offset-assert 188)
|
||||
(slip-factor float :offset-assert 192)
|
||||
(attack-shove-back meters :offset-assert 196)
|
||||
(attack-shove-up meters :offset-assert 200)
|
||||
(attack-mode basic :offset-assert 204)
|
||||
(attack-damage int32 :offset-assert 208)
|
||||
(recover-gnd-collide-with uint32 :offset-assert 212)
|
||||
(jump-height-min meters :offset-assert 216)
|
||||
(jump-height-factor float :offset-assert 220)
|
||||
(knocked-seek-ry-clamp float :offset-assert 224)
|
||||
(knocked-soft-vxz-lo float :offset-assert 228)
|
||||
(knocked-soft-vxz-hi float :offset-assert 232)
|
||||
(knocked-soft-vy-lo float :offset-assert 236)
|
||||
(knocked-soft-vy-hi float :offset-assert 240)
|
||||
(knocked-medium-vxz-lo float :offset-assert 244)
|
||||
(knocked-medium-vxz-hi float :offset-assert 248)
|
||||
(knocked-medium-vy-lo float :offset-assert 252)
|
||||
(knocked-medium-vy-hi float :offset-assert 256)
|
||||
(knocked-hard-vxz-lo float :offset-assert 260)
|
||||
(knocked-hard-vxz-hi float :offset-assert 264)
|
||||
(knocked-hard-vy-lo float :offset-assert 268)
|
||||
(knocked-hard-vy-hi float :offset-assert 272)
|
||||
(knocked-huge-vxz-lo float :offset-assert 276)
|
||||
(knocked-huge-vxz-hi float :offset-assert 280)
|
||||
(knocked-huge-vy-lo float :offset-assert 284)
|
||||
(knocked-huge-vy-hi float :offset-assert 288)
|
||||
(knocked-yellow-vxz-lo float :offset-assert 292)
|
||||
(knocked-yellow-vxz-hi float :offset-assert 296)
|
||||
(knocked-yellow-vy-lo float :offset-assert 300)
|
||||
(knocked-yellow-vy-hi float :offset-assert 304)
|
||||
(knocked-red-vxz-lo float :offset-assert 308)
|
||||
(knocked-red-vxz-hi float :offset-assert 312)
|
||||
(knocked-red-vy-lo float :offset-assert 316)
|
||||
(knocked-red-vy-hi float :offset-assert 320)
|
||||
(knocked-blue-vxz-lo float :offset-assert 324)
|
||||
(knocked-blue-vxz-hi float :offset-assert 328)
|
||||
(knocked-blue-vy-lo float :offset-assert 332)
|
||||
(knocked-blue-vy-hi float :offset-assert 336)
|
||||
(shadow-size meters :offset-assert 340)
|
||||
(shadow-max-y meters :offset-assert 344)
|
||||
(shadow-min-y meters :offset-assert 348)
|
||||
(shadow-locus-dist meters :offset-assert 352)
|
||||
(gem-joint int32 :offset-assert 356)
|
||||
(gem-seg uint32 :offset-assert 360)
|
||||
(gem-no-seg uint32 :offset-assert 364)
|
||||
(gem-offset sphere :inline :offset-assert 368)
|
||||
)
|
||||
:method-count-assert 10
|
||||
:size-assert #x180
|
||||
:flag-assert #xa00000180
|
||||
(:methods
|
||||
(enemy-info-method-9 () none 9)
|
||||
)
|
||||
)
|
||||
|
||||
(deftype enemy-knocked-info (structure)
|
||||
((anim-speed float :offset-assert 0)
|
||||
(on-surface-count int32 :offset-assert 4)
|
||||
(move-count int32 :offset-assert 8)
|
||||
(land-can-land-time time-frame :offset-assert 16)
|
||||
)
|
||||
:method-count-assert 9
|
||||
:size-assert #x18
|
||||
:flag-assert #x900000018
|
||||
)
|
||||
|
||||
(deftype enemy-jump-info (structure)
|
||||
((flags uint8 :offset-assert 0)
|
||||
(anim-speed float :offset-assert 4)
|
||||
(hang-time time-frame :offset-assert 8)
|
||||
(start-pos vector :inline :offset-assert 16)
|
||||
(dest-pos vector :inline :offset-assert 32)
|
||||
(traj trajectory :inline :offset-assert 48)
|
||||
)
|
||||
:method-count-assert 9
|
||||
:size-assert #x58
|
||||
:flag-assert #x900000058
|
||||
)
|
||||
|
||||
(deftype enemy-init-by-other-params (structure)
|
||||
((trans vector :inline :offset-assert 0)
|
||||
(quat quaternion :inline :offset-assert 16)
|
||||
(entity basic :offset-assert 32)
|
||||
(directed? basic :offset-assert 36)
|
||||
(no-initial-move-to-ground? basic :offset-assert 40)
|
||||
)
|
||||
:method-count-assert 9
|
||||
:size-assert #x2c
|
||||
:flag-assert #x90000002c
|
||||
)
|
||||
|
||||
(deftype enemy-attack-info (structure)
|
||||
((attack-id uint32 :offset-assert 0)
|
||||
(knocked-type uint8 :offset-assert 4)
|
||||
(blue-juggle-count uint8 :offset-assert 5)
|
||||
(attacker-handle uint64 :offset-assert 8)
|
||||
(attack-time time-frame :offset-assert 16)
|
||||
(penetrate-using uint64 :offset-assert 24)
|
||||
(attacker-pos vector :inline :offset-assert 32)
|
||||
(attack-direction vector :inline :offset-assert 48)
|
||||
)
|
||||
:method-count-assert 9
|
||||
:size-assert #x40
|
||||
:flag-assert #x900000040
|
||||
)
|
||||
|
||||
(deftype enemy-best-focus (structure)
|
||||
((proc basic :offset-assert 0)
|
||||
(rating float :offset-assert 4)
|
||||
(aware uint64 :offset-assert 8)
|
||||
)
|
||||
:method-count-assert 9
|
||||
:size-assert #x10
|
||||
:flag-assert #x900000010
|
||||
)
|
||||
(deftype nav-enemy (enemy)
|
||||
((frustration-point vector :inline :offset-assert 544)
|
||||
(move-dest vector :inline :offset-assert 560)
|
||||
(frustration-time time-frame :offset-assert 576) ;; time-frame
|
||||
((frustration-point vector :inline :offset-assert 544)
|
||||
(move-dest vector :inline :offset-assert 560)
|
||||
(frustration-time time-frame :offset-assert 576)
|
||||
(blocked-start-time time-frame :offset-assert 584)
|
||||
(restore-nav-radius-time time-frame :offset-assert 592)
|
||||
(nav-radius-backup float :offset-assert 600)
|
||||
(circle-radial-dist float :offset 244)
|
||||
(nav-radius-backup float :offset-assert 600)
|
||||
(circle-radial-dist float :offset 244)
|
||||
)
|
||||
:heap-base #x1e0
|
||||
:method-count-assert 178
|
||||
:size-assert #x25c
|
||||
:flag-assert #xb201e0025c
|
||||
@@ -267,3 +99,14 @@
|
||||
(nav-enemy-method-177 () none 177)
|
||||
)
|
||||
)
|
||||
|
||||
|
||||
(deftype nav-enemy-debug-control-info (basic)
|
||||
((enable basic :offset-assert 4)
|
||||
(steering float :offset-assert 8)
|
||||
(throttle float :offset-assert 12)
|
||||
)
|
||||
:method-count-assert 9
|
||||
:size-assert #x10
|
||||
:flag-assert #x900000010
|
||||
)
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
+1
-50
@@ -1,7 +1,5 @@
|
||||
;;-*-Lisp-*-
|
||||
(in-package goal)
|
||||
|
||||
;; definition of type collide-rider
|
||||
(deftype collide-rider (structure)
|
||||
((rider-handle uint64 :offset-assert 0)
|
||||
(sticky-prim basic :offset-assert 8)
|
||||
@@ -13,7 +11,6 @@
|
||||
:flag-assert #x900000020
|
||||
)
|
||||
|
||||
;; definition for method 3 of type collide-rider
|
||||
(defmethod inspect collide-rider ((obj collide-rider))
|
||||
(when (not obj)
|
||||
(set! obj obj)
|
||||
@@ -28,7 +25,6 @@
|
||||
obj
|
||||
)
|
||||
|
||||
;; definition of type collide-rider-pool
|
||||
(deftype collide-rider-pool (basic)
|
||||
((alloc-count int32 :offset-assert 4)
|
||||
(riders collide-rider 20 :inline :offset-assert 16)
|
||||
@@ -42,7 +38,6 @@
|
||||
)
|
||||
)
|
||||
|
||||
;; definition for method 3 of type collide-rider-pool
|
||||
(defmethod inspect collide-rider-pool ((obj collide-rider-pool))
|
||||
(when (not obj)
|
||||
(set! obj obj)
|
||||
@@ -55,8 +50,6 @@
|
||||
obj
|
||||
)
|
||||
|
||||
;; definition for method 10 of type collide-rider-pool
|
||||
;; WARN: Return type mismatch int vs none.
|
||||
(defmethod prepare collide-rider-pool ((obj collide-rider-pool))
|
||||
"Gets this pool ready to be used to allow allocations. This should be called once at the start of every frame."
|
||||
(set! (-> obj alloc-count) 0)
|
||||
@@ -64,7 +57,6 @@
|
||||
(none)
|
||||
)
|
||||
|
||||
;; definition of type pull-rider-info
|
||||
(deftype pull-rider-info (structure)
|
||||
((rider collide-rider :offset-assert 0)
|
||||
(rider-cshape collide-shape-moving :offset-assert 4)
|
||||
@@ -76,7 +68,6 @@
|
||||
:flag-assert #x900000020
|
||||
)
|
||||
|
||||
;; definition for method 3 of type pull-rider-info
|
||||
(defmethod inspect pull-rider-info ((obj pull-rider-info))
|
||||
(when (not obj)
|
||||
(set! obj obj)
|
||||
@@ -91,22 +82,16 @@
|
||||
obj
|
||||
)
|
||||
|
||||
;; failed to figure out what this is:
|
||||
(kmemopen global "collide-lists")
|
||||
|
||||
;; definition for symbol *collide-hit-by-player-list*, type engine
|
||||
(define *collide-hit-by-player-list* (new 'global 'engine 'collide-hit-by-player-list 640 connection))
|
||||
|
||||
;; definition for symbol *collide-hit-by-others-list*, type engine
|
||||
(define *collide-hit-by-others-list* (new 'global 'engine 'collide-hit-by-others-list 768 connection))
|
||||
|
||||
;; definition for symbol *collide-player-list*, type engine
|
||||
(define *collide-player-list* (new 'global 'engine 'collide-player-list 32 connection))
|
||||
|
||||
;; failed to figure out what this is:
|
||||
(kmemclose)
|
||||
|
||||
;; definition of type overlaps-others-params
|
||||
(deftype overlaps-others-params (structure)
|
||||
((options overlaps-others-options :offset-assert 0)
|
||||
(collide-with-filter collide-spec :offset-assert 4)
|
||||
@@ -120,7 +105,6 @@
|
||||
:flag-assert #x900000018
|
||||
)
|
||||
|
||||
;; definition for method 3 of type overlaps-others-params
|
||||
(defmethod inspect overlaps-others-params ((obj overlaps-others-params))
|
||||
(when (not obj)
|
||||
(set! obj obj)
|
||||
@@ -137,7 +121,6 @@
|
||||
obj
|
||||
)
|
||||
|
||||
;; definition of type move-above-ground-params
|
||||
(deftype move-above-ground-params (structure)
|
||||
((gnd-collide-with collide-spec :offset-assert 0)
|
||||
(popup float :offset-assert 4)
|
||||
@@ -156,7 +139,6 @@
|
||||
:flag-assert #x90000006c
|
||||
)
|
||||
|
||||
;; definition for method 3 of type move-above-ground-params
|
||||
(defmethod inspect move-above-ground-params ((obj move-above-ground-params))
|
||||
(when (not obj)
|
||||
(set! obj obj)
|
||||
@@ -178,7 +160,6 @@
|
||||
obj
|
||||
)
|
||||
|
||||
;; definition of type collide-prim-core
|
||||
(deftype collide-prim-core (structure)
|
||||
((world-sphere vector :inline :offset-assert 0)
|
||||
(collide-as collide-spec :offset-assert 16)
|
||||
@@ -193,7 +174,6 @@
|
||||
:flag-assert #x900000020
|
||||
)
|
||||
|
||||
;; definition for method 3 of type collide-prim-core
|
||||
(defmethod inspect collide-prim-core ((obj collide-prim-core))
|
||||
(when (not obj)
|
||||
(set! obj obj)
|
||||
@@ -211,7 +191,6 @@
|
||||
obj
|
||||
)
|
||||
|
||||
;; definition of type collide-shape-prim
|
||||
(deftype collide-shape-prim (basic)
|
||||
((cshape collide-shape :offset-assert 4)
|
||||
(prim-id uint32 :offset-assert 8)
|
||||
@@ -246,7 +225,6 @@
|
||||
)
|
||||
)
|
||||
|
||||
;; definition for method 3 of type collide-shape-prim
|
||||
(defmethod inspect collide-shape-prim ((obj collide-shape-prim))
|
||||
(when (not obj)
|
||||
(set! obj obj)
|
||||
@@ -492,7 +470,6 @@
|
||||
obj
|
||||
)
|
||||
|
||||
;; definition of type collide-shape-prim-sphere
|
||||
(deftype collide-shape-prim-sphere (collide-shape-prim)
|
||||
((pat pat-surface :offset 64)
|
||||
(nav-radius float :offset 68)
|
||||
@@ -505,7 +482,6 @@
|
||||
)
|
||||
)
|
||||
|
||||
;; definition for method 3 of type collide-shape-prim-sphere
|
||||
(defmethod inspect collide-shape-prim-sphere ((obj collide-shape-prim-sphere))
|
||||
(when (not obj)
|
||||
(set! obj obj)
|
||||
@@ -753,7 +729,6 @@
|
||||
obj
|
||||
)
|
||||
|
||||
;; definition of type collide-shape-prim-mesh
|
||||
(deftype collide-shape-prim-mesh (collide-shape-prim)
|
||||
((mesh collide-mesh :offset 64)
|
||||
(mesh-id int32 :offset 68)
|
||||
@@ -768,7 +743,6 @@
|
||||
)
|
||||
)
|
||||
|
||||
;; definition for method 3 of type collide-shape-prim-mesh
|
||||
(defmethod inspect collide-shape-prim-mesh ((obj collide-shape-prim-mesh))
|
||||
(when (not obj)
|
||||
(set! obj obj)
|
||||
@@ -1018,7 +992,6 @@
|
||||
obj
|
||||
)
|
||||
|
||||
;; definition of type collide-shape-prim-group
|
||||
(deftype collide-shape-prim-group (collide-shape-prim)
|
||||
((num-children uint8 :offset 64)
|
||||
(num-alloc-children uint8 :offset 65)
|
||||
@@ -1032,7 +1005,6 @@
|
||||
)
|
||||
)
|
||||
|
||||
;; definition for method 3 of type collide-shape-prim-group
|
||||
(defmethod inspect collide-shape-prim-group ((obj collide-shape-prim-group))
|
||||
(when (not obj)
|
||||
(set! obj obj)
|
||||
@@ -1281,7 +1253,6 @@
|
||||
obj
|
||||
)
|
||||
|
||||
;; definition of type collide-shape
|
||||
(deftype collide-shape (trsqv)
|
||||
((actor-hash-index int16 :offset 12)
|
||||
(process process-drawable :offset-assert 140)
|
||||
@@ -1329,14 +1300,13 @@
|
||||
(collide-shape-method-48 () none 48)
|
||||
(collide-shape-method-49 (_type_ int int int) none 49)
|
||||
(collide-shape-method-50 () none 50)
|
||||
(collide-shape-method-51 () none 51)
|
||||
(collide-shape-method-51 (_type_) none 51)
|
||||
(water-info-init! (_type_ water-info collide-action) water-info 52)
|
||||
(collide-shape-method-53 (_type_) none 53)
|
||||
(collide-shape-method-54 (_type_) none 54)
|
||||
)
|
||||
)
|
||||
|
||||
;; definition for method 3 of type collide-shape
|
||||
(defmethod inspect collide-shape ((obj collide-shape))
|
||||
(when (not obj)
|
||||
(set! obj obj)
|
||||
@@ -1580,7 +1550,6 @@
|
||||
obj
|
||||
)
|
||||
|
||||
;; definition of type collide-shape-moving
|
||||
(deftype collide-shape-moving (collide-shape)
|
||||
((rider-time time-frame :offset-assert 200)
|
||||
(rider-last-move vector :inline :offset-assert 208)
|
||||
@@ -1630,7 +1599,6 @@
|
||||
)
|
||||
)
|
||||
|
||||
;; definition for method 3 of type collide-shape-moving
|
||||
(defmethod inspect collide-shape-moving ((obj collide-shape-moving))
|
||||
(when (not obj)
|
||||
(set! obj obj)
|
||||
@@ -1900,7 +1868,6 @@
|
||||
obj
|
||||
)
|
||||
|
||||
;; definition for method 0 of type collide-shape-prim
|
||||
(defmethod new collide-shape-prim ((allocation symbol) (type-to-make type) (arg0 collide-shape) (arg1 uint) (arg2 int))
|
||||
(let ((v0-0 (object-new allocation type-to-make arg2)))
|
||||
(set! (-> v0-0 cshape) arg0)
|
||||
@@ -1914,8 +1881,6 @@
|
||||
)
|
||||
)
|
||||
|
||||
;; definition for method 0 of type collide-shape-prim-sphere
|
||||
;; WARN: Return type mismatch collide-shape-prim vs collide-shape-prim-sphere.
|
||||
(defmethod new collide-shape-prim-sphere ((allocation symbol) (type-to-make type) (arg0 collide-shape) (arg1 uint))
|
||||
(let ((v0-0 ((method-of-type collide-shape-prim new) allocation type-to-make arg0 arg1 80)))
|
||||
(set! (-> (the-as collide-shape-prim-sphere v0-0) pat)
|
||||
@@ -1926,8 +1891,6 @@
|
||||
)
|
||||
)
|
||||
|
||||
;; definition for method 0 of type collide-shape-prim-mesh
|
||||
;; WARN: Return type mismatch collide-shape-prim vs collide-shape-prim-mesh.
|
||||
(defmethod new collide-shape-prim-mesh ((allocation symbol) (type-to-make type) (arg0 collide-shape) (arg1 uint) (arg2 uint))
|
||||
(let ((v0-0 ((method-of-type collide-shape-prim new) allocation type-to-make arg0 arg2 80)))
|
||||
(set! (-> (the-as collide-shape-prim-mesh v0-0) mesh) #f)
|
||||
@@ -1938,8 +1901,6 @@
|
||||
)
|
||||
)
|
||||
|
||||
;; definition for method 0 of type collide-shape-prim-group
|
||||
;; WARN: Return type mismatch collide-shape-prim vs collide-shape-prim-group.
|
||||
(defmethod new collide-shape-prim-group ((allocation symbol) (type-to-make type) (arg0 collide-shape) (arg1 uint) (arg2 int))
|
||||
(let ((v0-0 ((method-of-type collide-shape-prim new) allocation type-to-make arg0 (the-as uint arg2) 80)))
|
||||
(set! (-> (the-as collide-shape-prim-group v0-0) num-children) arg1)
|
||||
@@ -1952,13 +1913,10 @@
|
||||
)
|
||||
)
|
||||
|
||||
;; definition for method 4 of type collide-shape-prim-group
|
||||
;; WARN: Return type mismatch uint8 vs int.
|
||||
(defmethod length collide-shape-prim-group ((obj collide-shape-prim-group))
|
||||
(the-as int (-> obj num-children))
|
||||
)
|
||||
|
||||
;; definition for method 0 of type collide-shape
|
||||
(defmethod new collide-shape ((allocation symbol) (type-to-make type) (arg0 process-drawable) (arg1 collide-list-enum))
|
||||
(let ((s5-0 (object-new allocation type-to-make (the-as int (-> type-to-make size)))))
|
||||
(set! (-> s5-0 actor-hash-index) -1)
|
||||
@@ -2007,9 +1965,6 @@
|
||||
)
|
||||
)
|
||||
|
||||
;; definition for method 0 of type collide-shape-moving
|
||||
;; INFO: Used lq/sq
|
||||
;; WARN: Return type mismatch collide-shape vs collide-shape-moving.
|
||||
(defmethod new collide-shape-moving ((allocation symbol) (type-to-make type) (arg0 process-drawable) (arg1 collide-list-enum))
|
||||
(let ((v0-0 ((method-of-type collide-shape new) allocation type-to-make arg0 arg1)))
|
||||
(set! (-> (the-as collide-shape-moving v0-0) gspot-pos y) -40959590.0)
|
||||
@@ -2019,7 +1974,6 @@
|
||||
)
|
||||
)
|
||||
|
||||
;; definition for symbol *collide-shape-prim-backgnd*, type collide-shape-prim-mesh
|
||||
(define *collide-shape-prim-backgnd* (new 'static 'collide-shape-prim-mesh
|
||||
:cshape #f
|
||||
:prim-core (new 'static 'collide-prim-core
|
||||
@@ -2033,7 +1987,6 @@
|
||||
)
|
||||
)
|
||||
|
||||
;; definition for symbol *collide-shape-prim-water*, type collide-shape-prim-mesh
|
||||
(define *collide-shape-prim-water* (new 'static 'collide-shape-prim-mesh
|
||||
:cshape #f
|
||||
:prim-core (new 'static 'collide-prim-core
|
||||
@@ -2047,8 +2000,6 @@
|
||||
)
|
||||
)
|
||||
|
||||
;; definition (perm) for symbol *collide-rider-pool*, type collide-rider-pool
|
||||
(define-perm *collide-rider-pool* collide-rider-pool (new 'global 'collide-rider-pool))
|
||||
|
||||
;; failed to figure out what this is:
|
||||
0
|
||||
|
||||
+4
-37
@@ -1,7 +1,5 @@
|
||||
;;-*-Lisp-*-
|
||||
(in-package goal)
|
||||
|
||||
;; definition of type tr-stat
|
||||
(deftype tr-stat (structure)
|
||||
((groups uint16 :offset-assert 0)
|
||||
(fragments uint16 :offset-assert 2)
|
||||
@@ -15,7 +13,6 @@
|
||||
:flag-assert #x900000010
|
||||
)
|
||||
|
||||
;; definition for method 3 of type tr-stat
|
||||
(defmethod inspect tr-stat ((obj tr-stat))
|
||||
(when (not obj)
|
||||
(set! obj obj)
|
||||
@@ -32,7 +29,6 @@
|
||||
obj
|
||||
)
|
||||
|
||||
;; definition of type merc-global-stats
|
||||
(deftype merc-global-stats (structure)
|
||||
((merc tr-stat :inline :offset-assert 0)
|
||||
(emerc tr-stat :inline :offset-assert 16)
|
||||
@@ -43,7 +39,6 @@
|
||||
:flag-assert #x900000030
|
||||
)
|
||||
|
||||
;; definition for method 3 of type merc-global-stats
|
||||
(defmethod inspect merc-global-stats ((obj merc-global-stats))
|
||||
(when (not obj)
|
||||
(set! obj obj)
|
||||
@@ -57,7 +52,6 @@
|
||||
obj
|
||||
)
|
||||
|
||||
;; definition of type perf-stat
|
||||
(deftype perf-stat (structure)
|
||||
((frame-number uint32 :offset-assert 0)
|
||||
(count uint32 :offset-assert 4)
|
||||
@@ -86,7 +80,6 @@
|
||||
)
|
||||
)
|
||||
|
||||
;; definition for method 3 of type perf-stat
|
||||
(defmethod inspect perf-stat ((obj perf-stat))
|
||||
(when (not obj)
|
||||
(set! obj obj)
|
||||
@@ -110,7 +103,6 @@
|
||||
obj
|
||||
)
|
||||
|
||||
;; definition (debug) for function perf-stat-bucket->string
|
||||
(defun-debug perf-stat-bucket->string ((arg0 perf-stat-bucket))
|
||||
(case arg0
|
||||
(((perf-stat-bucket collide-fill))
|
||||
@@ -272,7 +264,6 @@
|
||||
)
|
||||
)
|
||||
|
||||
;; definition of type perf-stat-array
|
||||
(deftype perf-stat-array (inline-array-class)
|
||||
((data perf-stat :inline :dynamic :offset-assert 16)
|
||||
)
|
||||
@@ -281,7 +272,6 @@
|
||||
:flag-assert #x900000010
|
||||
)
|
||||
|
||||
;; definition for method 3 of type perf-stat-array
|
||||
(defmethod inspect perf-stat-array ((obj perf-stat-array))
|
||||
(when (not obj)
|
||||
(set! obj obj)
|
||||
@@ -295,30 +285,17 @@
|
||||
obj
|
||||
)
|
||||
|
||||
;; failed to figure out what this is:
|
||||
(set! (-> perf-stat-array heap-base) (the-as uint 52))
|
||||
|
||||
;; definition for method 11 of type perf-stat
|
||||
;; WARN: Return type mismatch int vs none.
|
||||
;; ERROR: Unsupported inline assembly instruction kind - [mtc0 Perf, r0]
|
||||
;; ERROR: Unsupported inline assembly instruction kind - [sync.l]
|
||||
;; ERROR: Unsupported inline assembly instruction kind - [sync.p]
|
||||
;; ERROR: Unsupported inline assembly instruction kind - [mtpc pcr0, r0]
|
||||
;; ERROR: Unsupported inline assembly instruction kind - [mtpc pcr1, r0]
|
||||
;; ERROR: Unsupported inline assembly instruction kind - [sync.l]
|
||||
;; ERROR: Unsupported inline assembly instruction kind - [sync.p]
|
||||
;; ERROR: Unsupported inline assembly instruction kind - [mtc0 Perf, v1]
|
||||
;; ERROR: Unsupported inline assembly instruction kind - [sync.l]
|
||||
;; ERROR: Unsupported inline assembly instruction kind - [sync.p]
|
||||
(defmethod reset! perf-stat ((obj perf-stat))
|
||||
(let ((v1-0 (-> obj ctrl)))
|
||||
(+! (-> obj count) 1)
|
||||
(b! (zero? v1-0) cfg-2 :delay (nop!))
|
||||
(.mtc0 Perf r0)
|
||||
(.mtc0 Perf 0)
|
||||
(.sync.l)
|
||||
(.sync.p)
|
||||
(.mtpc pcr0 r0)
|
||||
(.mtpc pcr1 r0)
|
||||
(.mtpc pcr0 0)
|
||||
(.mtpc pcr1 0)
|
||||
(.sync.l)
|
||||
(.sync.p)
|
||||
(.mtc0 Perf v1-0)
|
||||
@@ -330,17 +307,10 @@
|
||||
(none)
|
||||
)
|
||||
|
||||
;; definition for method 12 of type perf-stat
|
||||
;; WARN: Return type mismatch int vs none.
|
||||
;; ERROR: Unsupported inline assembly instruction kind - [mtc0 Perf, r0]
|
||||
;; ERROR: Unsupported inline assembly instruction kind - [sync.l]
|
||||
;; ERROR: Unsupported inline assembly instruction kind - [sync.p]
|
||||
;; ERROR: Unsupported inline assembly instruction kind - [mfpc v1, pcr0]
|
||||
;; ERROR: Unsupported inline assembly instruction kind - [mfpc v1, pcr1]
|
||||
(defmethod read! perf-stat ((obj perf-stat))
|
||||
(local-vars (v1-1 int) (v1-3 int))
|
||||
(b! (zero? (-> obj ctrl)) cfg-2 :delay (nop!))
|
||||
(.mtc0 Perf r0)
|
||||
(.mtc0 Perf 0)
|
||||
(.sync.l)
|
||||
(.sync.p)
|
||||
(.mfpc v1-1 pcr0)
|
||||
@@ -352,8 +322,6 @@
|
||||
(none)
|
||||
)
|
||||
|
||||
;; definition for method 13 of type perf-stat
|
||||
;; WARN: Return type mismatch int vs none.
|
||||
(defmethod update-wait-stats perf-stat ((obj perf-stat) (arg0 uint) (arg1 uint) (arg2 uint))
|
||||
(when (nonzero? (-> obj ctrl))
|
||||
(+! (-> obj to-vu0-waits) arg0)
|
||||
@@ -364,7 +332,6 @@
|
||||
(none)
|
||||
)
|
||||
|
||||
;; failed to figure out what this is:
|
||||
(when (not *debug-segment*)
|
||||
(set! (-> perf-stat method-table 11) nothing)
|
||||
(set! (-> perf-stat method-table 12) nothing)
|
||||
|
||||
+1
-5
@@ -1,7 +1,5 @@
|
||||
;;-*-Lisp-*-
|
||||
(in-package goal)
|
||||
|
||||
;; definition for symbol *entity-info*, type (array entity-info)
|
||||
(define *entity-info* (new 'static 'boxed-array :type entity-info
|
||||
(new 'static 'entity-info
|
||||
:ptype (type-ref stadium-part :method-count 19)
|
||||
@@ -179,7 +177,7 @@
|
||||
:heap-size #x4000
|
||||
)
|
||||
(new 'static 'entity-info
|
||||
:ptype (type-ref neon-baron :method-count 19)
|
||||
:ptype (type-ref neon-baron :method-count 17)
|
||||
:package "game"
|
||||
:art-group '()
|
||||
:pool '*16k-dead-pool*
|
||||
@@ -188,8 +186,6 @@
|
||||
)
|
||||
)
|
||||
|
||||
;; definition for function entity-info-lookup
|
||||
;; WARN: Return type mismatch basic vs entity-info.
|
||||
(defun entity-info-lookup ((arg0 type))
|
||||
"Given a type, return the [[entity-info]] from [[*entity-info*]] whos type
|
||||
matches the `ptype` field. Set's `method 13` on said type that returns the `length`
|
||||
|
||||
+1
-173
@@ -1,17 +1,11 @@
|
||||
;;-*-Lisp-*-
|
||||
(in-package goal)
|
||||
|
||||
;; definition for symbol *spawn-actors*, type symbol
|
||||
(define *spawn-actors* #t)
|
||||
|
||||
;; definition for symbol *compact-actors*, type symbol
|
||||
(define *compact-actors* #t)
|
||||
|
||||
;; definition for symbol *vis-actors*, type symbol
|
||||
(define *vis-actors* #t)
|
||||
|
||||
;; definition for method 8 of type drawable-actor
|
||||
;; WARN: Return type mismatch int vs drawable-actor.
|
||||
(defmethod mem-usage drawable-actor ((obj drawable-actor) (arg0 memory-usage-block) (arg1 int))
|
||||
(set! (-> arg0 length) (max 44 (-> arg0 length)))
|
||||
(set! (-> arg0 data 43 name) "entity")
|
||||
@@ -24,8 +18,6 @@
|
||||
(the-as drawable-actor 0)
|
||||
)
|
||||
|
||||
;; definition for method 8 of type drawable-inline-array-actor
|
||||
;; WARN: Return type mismatch int vs drawable-inline-array-actor.
|
||||
(defmethod mem-usage drawable-inline-array-actor ((obj drawable-inline-array-actor) (arg0 memory-usage-block) (arg1 int))
|
||||
(set! (-> arg0 length) (max 1 (-> arg0 length)))
|
||||
(set! (-> arg0 data 0 name) (symbol->string 'drawable-group))
|
||||
@@ -40,13 +32,11 @@
|
||||
(the-as drawable-inline-array-actor 0)
|
||||
)
|
||||
|
||||
;; definition for method 2 of type entity-links
|
||||
(defmethod print entity-links ((obj entity-links))
|
||||
(format #t "#<entity-links :process ~A @ #x~X>" (-> obj process) obj)
|
||||
obj
|
||||
)
|
||||
|
||||
;; definition for method 2 of type entity-perm
|
||||
(defmethod print entity-perm ((obj entity-perm))
|
||||
(format
|
||||
#t
|
||||
@@ -60,7 +50,6 @@
|
||||
obj
|
||||
)
|
||||
|
||||
;; definition for method 2 of type actor-group
|
||||
(defmethod print actor-group ((obj actor-group))
|
||||
(format #t "#<actor-group")
|
||||
(dotimes (s5-0 (-> obj length))
|
||||
@@ -70,8 +59,6 @@
|
||||
obj
|
||||
)
|
||||
|
||||
;; definition for method 3 of type actor-group
|
||||
;; INFO: this function exists in multiple non-identical object files
|
||||
(defmethod inspect actor-group ((obj actor-group))
|
||||
(format #t "[~8x] ~A~%" obj (-> obj type))
|
||||
(format #t "~Tlength: ~D~%" (-> obj length))
|
||||
@@ -83,25 +70,21 @@
|
||||
obj
|
||||
)
|
||||
|
||||
;; definition for method 22 of type entity
|
||||
(defmethod birth! entity ((obj entity))
|
||||
(format #t "birth ~A~%" obj)
|
||||
obj
|
||||
)
|
||||
|
||||
;; definition for method 23 of type entity
|
||||
(defmethod kill! entity ((obj entity))
|
||||
(format #t "kill ~A~%" obj)
|
||||
obj
|
||||
)
|
||||
|
||||
;; definition for method 2 of type entity
|
||||
(defmethod print entity ((obj entity))
|
||||
(format #t "#<~A :name ~S @ #x~X>" (-> obj type) (res-lump-struct obj 'name structure) obj)
|
||||
obj
|
||||
)
|
||||
|
||||
;; definition for method 26 of type entity
|
||||
(defmethod get-level entity ((obj entity))
|
||||
(dotimes (v1-0 (-> *level* length))
|
||||
(let ((a1-3 (-> *level* level v1-0)))
|
||||
@@ -117,7 +100,6 @@
|
||||
(-> *level* default-level)
|
||||
)
|
||||
|
||||
;; definition for function entity-by-name
|
||||
(defun entity-by-name ((arg0 string))
|
||||
(dotimes (s5-0 (-> *level* length))
|
||||
(let ((s4-0 (-> *level* level s5-0)))
|
||||
@@ -172,7 +154,6 @@
|
||||
(the-as entity #f)
|
||||
)
|
||||
|
||||
;; definition for function entity-by-type
|
||||
(defun entity-by-type ((arg0 type))
|
||||
(dotimes (s5-0 (-> *level* length))
|
||||
(let ((v1-3 (-> *level* level s5-0)))
|
||||
@@ -194,7 +175,6 @@
|
||||
(the-as entity-actor #f)
|
||||
)
|
||||
|
||||
;; definition for function entity-by-aid
|
||||
(defun entity-by-aid ((arg0 uint))
|
||||
(dotimes (v1-0 (-> *level* length))
|
||||
(let ((a1-3 (-> *level* level v1-0)))
|
||||
@@ -232,8 +212,6 @@
|
||||
(the-as entity #f)
|
||||
)
|
||||
|
||||
;; definition for function entity-actor-from-level-name
|
||||
;; WARN: Return type mismatch entity vs entity-actor.
|
||||
(defun entity-actor-from-level-name ((arg0 level))
|
||||
(let ((v0-0 (the-as entity #f)))
|
||||
(dotimes (s5-0 (-> *level* length))
|
||||
@@ -256,8 +234,6 @@
|
||||
)
|
||||
)
|
||||
|
||||
;; definition for method 18 of type level-group
|
||||
;; WARN: Return type mismatch int vs none.
|
||||
(defmethod level-group-method-18 level-group ((obj level-group))
|
||||
(when (not (paused?))
|
||||
(dotimes (s5-0 (-> obj length))
|
||||
@@ -278,7 +254,6 @@
|
||||
(none)
|
||||
)
|
||||
|
||||
;; definition for function entity-nav-mesh-by-aid
|
||||
(defun entity-nav-mesh-by-aid ((arg0 actor-id))
|
||||
(dotimes (v1-0 (-> *level* length))
|
||||
(let ((a1-3 (-> *level* level v1-0)))
|
||||
@@ -316,7 +291,6 @@
|
||||
(the-as entity-nav-mesh #f)
|
||||
)
|
||||
|
||||
;; definition for function nav-mesh-from-res-tag
|
||||
(defun nav-mesh-from-res-tag ((arg0 entity) (arg1 symbol) (arg2 int))
|
||||
(let ((v1-1 (res-lump-data arg0 arg1 pointer))
|
||||
(gp-0 (the-as nav-mesh #f))
|
||||
@@ -337,7 +311,6 @@
|
||||
)
|
||||
)
|
||||
|
||||
;; definition for function entity-by-meters
|
||||
(defun entity-by-meters ((arg0 float) (arg1 float) (arg2 float))
|
||||
(dotimes (v1-0 (-> *level* length))
|
||||
(let ((a3-3 (-> *level* level v1-0)))
|
||||
@@ -364,7 +337,6 @@
|
||||
(the-as entity-actor #f)
|
||||
)
|
||||
|
||||
;; definition for function process-by-ename
|
||||
(defun process-by-ename ((arg0 string))
|
||||
(let ((v1-0 (entity-by-name arg0)))
|
||||
(if v1-0
|
||||
@@ -373,7 +345,6 @@
|
||||
)
|
||||
)
|
||||
|
||||
;; definition for function entity-process-count
|
||||
(defun entity-process-count ((arg0 symbol))
|
||||
(let ((gp-0 0))
|
||||
(dotimes (s4-0 (-> *level* length))
|
||||
@@ -404,7 +375,6 @@
|
||||
)
|
||||
)
|
||||
|
||||
;; definition for function entity-count
|
||||
(defun entity-count ()
|
||||
(let ((v0-0 0))
|
||||
(dotimes (v1-0 (-> *level* length))
|
||||
@@ -423,8 +393,6 @@
|
||||
)
|
||||
)
|
||||
|
||||
;; definition for function entity-remap-names
|
||||
;; WARN: Return type mismatch int vs none.
|
||||
(defun entity-remap-names ((arg0 pair))
|
||||
(let ((s5-0 (car arg0)))
|
||||
(while (not (null? arg0))
|
||||
@@ -451,8 +419,6 @@
|
||||
(none)
|
||||
)
|
||||
|
||||
;; definition (debug) for function process-status-bits
|
||||
;; WARN: Return type mismatch int vs none.
|
||||
(defun-debug process-status-bits ((arg0 process) (arg1 symbol))
|
||||
(let* ((s5-0 arg0)
|
||||
(s3-0 (if (type? s5-0 process-drawable)
|
||||
@@ -514,7 +480,6 @@
|
||||
(none)
|
||||
)
|
||||
|
||||
;; definition for function process-entity-set!
|
||||
(defun process-entity-set! ((arg0 process) (arg1 entity-actor))
|
||||
(set! (-> arg0 entity) arg1)
|
||||
(if arg1
|
||||
@@ -524,13 +489,10 @@
|
||||
arg1
|
||||
)
|
||||
|
||||
;; definition for function process-task-mask
|
||||
(defun process-task-mask ((arg0 process))
|
||||
(-> arg0 level task-mask)
|
||||
)
|
||||
|
||||
;; definition for method 2 of type process
|
||||
;; INFO: this function exists in multiple non-identical object files
|
||||
(defmethod print process ((obj process))
|
||||
(cond
|
||||
((and (-> obj top-thread) (!= (-> obj status) 'dead))
|
||||
@@ -566,7 +528,6 @@
|
||||
obj
|
||||
)
|
||||
|
||||
;; definition for method 3 of type entity
|
||||
(defmethod inspect entity ((obj entity))
|
||||
((the-as (function entity entity) (find-parent-method entity 3)) obj)
|
||||
(format #t "~Ttrans: ~`vector`P~%" (-> obj trans))
|
||||
@@ -574,7 +535,6 @@
|
||||
obj
|
||||
)
|
||||
|
||||
;; definition for method 3 of type entity-nav-mesh
|
||||
(defmethod inspect entity-nav-mesh ((obj entity-nav-mesh))
|
||||
((the-as (function object object) (find-parent-method entity-nav-mesh 3)) obj)
|
||||
(format #t "~Tnav-mesh ~A~%" (-> obj nav-mesh))
|
||||
@@ -584,7 +544,6 @@
|
||||
obj
|
||||
)
|
||||
|
||||
;; definition for method 3 of type entity-actor
|
||||
(defmethod inspect entity-actor ((obj entity-actor))
|
||||
((the-as (function entity entity) (find-parent-method entity-actor 3)) obj)
|
||||
(format #t "~Tetype: ~A~%" (-> obj etype))
|
||||
@@ -655,8 +614,6 @@
|
||||
obj
|
||||
)
|
||||
|
||||
;; definition for method 29 of type entity-actor
|
||||
;; WARN: Return type mismatch entity-actor vs none.
|
||||
(defmethod debug-print entity-actor ((obj entity-actor) (arg0 symbol) (arg1 type))
|
||||
(let ((s4-0 (-> obj etype)))
|
||||
(when (or (not arg1) (and s4-0 (valid? s4-0 type #f #f 0) (type-type? s4-0 arg1)))
|
||||
@@ -729,8 +686,6 @@
|
||||
(none)
|
||||
)
|
||||
|
||||
;; definition for method 14 of type level-group
|
||||
;; WARN: Return type mismatch int vs none.
|
||||
(defmethod debug-print-entities level-group ((obj level-group) (arg0 symbol) (arg1 type))
|
||||
(let ((t9-0 format)
|
||||
(a0-1 #t)
|
||||
@@ -768,9 +723,6 @@
|
||||
(none)
|
||||
)
|
||||
|
||||
;; definition for method 24 of type entity-actor
|
||||
;; INFO: Used lq/sq
|
||||
;; WARN: Return type mismatch entity-actor vs none.
|
||||
(defmethod add-to-level! entity-actor ((obj entity-actor) (arg0 level-group) (arg1 level) (arg2 actor-id))
|
||||
(let ((v1-4 (-> arg1 entity data (-> arg1 entity length))))
|
||||
(+! (-> arg1 entity length) 1)
|
||||
@@ -842,7 +794,6 @@
|
||||
(none)
|
||||
)
|
||||
|
||||
;; definition for method 25 of type entity
|
||||
(defmethod remove-from-level! entity ((obj entity) (arg0 level-group))
|
||||
(let ((v1-0 (-> obj extra)))
|
||||
(cond
|
||||
@@ -861,8 +812,6 @@
|
||||
obj
|
||||
)
|
||||
|
||||
;; definition for function update-actor-vis-box
|
||||
;; WARN: Return type mismatch int vs none.
|
||||
(defun update-actor-vis-box ((arg0 process-drawable) (arg1 vector) (arg2 vector))
|
||||
(when (and arg0 (nonzero? (-> arg0 draw)) (zero? (logand (-> arg0 draw status) (draw-control-status no-draw))))
|
||||
(let ((v1-5 (-> arg0 draw origin))
|
||||
@@ -880,8 +829,6 @@
|
||||
(none)
|
||||
)
|
||||
|
||||
;; definition for method 25 of type level-group
|
||||
;; WARN: Return type mismatch int vs none.
|
||||
(defmethod update-vis-volumes level-group ((obj level-group))
|
||||
(local-vars (sv-16 pointer) (sv-20 pointer) (sv-24 pointer) (sv-28 process))
|
||||
(dotimes (s5-0 (-> obj length))
|
||||
@@ -929,8 +876,6 @@
|
||||
(none)
|
||||
)
|
||||
|
||||
;; definition for function expand-bounding-box
|
||||
;; WARN: Return type mismatch int vs none.
|
||||
(defun expand-bounding-box ((arg0 vector) (arg1 vector) (arg2 vector) (arg3 vector))
|
||||
(set! (-> arg0 x) (fmin (-> arg0 x) (-> arg2 x)))
|
||||
(set! (-> arg0 y) (fmin (-> arg0 y) (-> arg2 y)))
|
||||
@@ -942,45 +887,6 @@
|
||||
(none)
|
||||
)
|
||||
|
||||
;; definition for method 26 of type level-group
|
||||
;; INFO: Used lq/sq
|
||||
;; WARN: Stack slot offset 28 signed mismatch
|
||||
;; WARN: Stack slot offset 28 signed mismatch
|
||||
;; WARN: Stack slot offset 28 signed mismatch
|
||||
;; WARN: Stack slot offset 32 signed mismatch
|
||||
;; WARN: Stack slot offset 32 signed mismatch
|
||||
;; WARN: Stack slot offset 32 signed mismatch
|
||||
;; WARN: Stack slot offset 28 signed mismatch
|
||||
;; WARN: Stack slot offset 28 signed mismatch
|
||||
;; WARN: Stack slot offset 28 signed mismatch
|
||||
;; WARN: Stack slot offset 32 signed mismatch
|
||||
;; WARN: Stack slot offset 32 signed mismatch
|
||||
;; WARN: Stack slot offset 32 signed mismatch
|
||||
;; WARN: Stack slot offset 28 signed mismatch
|
||||
;; WARN: Stack slot offset 28 signed mismatch
|
||||
;; WARN: Stack slot offset 28 signed mismatch
|
||||
;; WARN: Stack slot offset 32 signed mismatch
|
||||
;; WARN: Stack slot offset 32 signed mismatch
|
||||
;; WARN: Stack slot offset 32 signed mismatch
|
||||
;; WARN: Stack slot offset 28 signed mismatch
|
||||
;; WARN: Stack slot offset 28 signed mismatch
|
||||
;; WARN: Stack slot offset 28 signed mismatch
|
||||
;; WARN: Stack slot offset 32 signed mismatch
|
||||
;; WARN: Stack slot offset 32 signed mismatch
|
||||
;; WARN: Stack slot offset 32 signed mismatch
|
||||
;; WARN: Stack slot offset 28 signed mismatch
|
||||
;; WARN: Stack slot offset 28 signed mismatch
|
||||
;; WARN: Stack slot offset 28 signed mismatch
|
||||
;; WARN: Stack slot offset 32 signed mismatch
|
||||
;; WARN: Stack slot offset 32 signed mismatch
|
||||
;; WARN: Stack slot offset 32 signed mismatch
|
||||
;; WARN: Stack slot offset 28 signed mismatch
|
||||
;; WARN: Stack slot offset 28 signed mismatch
|
||||
;; WARN: Stack slot offset 28 signed mismatch
|
||||
;; WARN: Stack slot offset 32 signed mismatch
|
||||
;; WARN: Stack slot offset 32 signed mismatch
|
||||
;; WARN: Stack slot offset 32 signed mismatch
|
||||
;; WARN: Return type mismatch int vs none.
|
||||
(defmethod update-vis-volumes-from-nav-mesh level-group ((obj level-group))
|
||||
(local-vars
|
||||
(sv-16 pointer)
|
||||
@@ -1078,15 +984,6 @@
|
||||
(none)
|
||||
)
|
||||
|
||||
;; definition for method 27 of type level-group
|
||||
;; INFO: Used lq/sq
|
||||
;; WARN: Stack slot offset 20 signed mismatch
|
||||
;; WARN: Stack slot offset 20 signed mismatch
|
||||
;; WARN: Stack slot offset 20 signed mismatch
|
||||
;; WARN: Stack slot offset 20 signed mismatch
|
||||
;; WARN: Stack slot offset 20 signed mismatch
|
||||
;; WARN: Stack slot offset 20 signed mismatch
|
||||
;; WARN: Return type mismatch int vs none.
|
||||
(defmethod print-volume-sizes level-group ((obj level-group))
|
||||
(local-vars
|
||||
(sv-16 pointer)
|
||||
@@ -1167,8 +1064,6 @@
|
||||
(none)
|
||||
)
|
||||
|
||||
;; definition for function expand-vis-box-with-point
|
||||
;; WARN: Return type mismatch int vs none.
|
||||
(defun expand-vis-box-with-point ((arg0 entity) (arg1 vector))
|
||||
(let ((v1-1 (res-lump-data arg0 'visvol (inline-array vector))))
|
||||
(when v1-1
|
||||
@@ -1188,7 +1083,6 @@
|
||||
(none)
|
||||
)
|
||||
|
||||
;; definition of type debug-actor-info
|
||||
(deftype debug-actor-info (basic)
|
||||
((name basic :offset-assert 4)
|
||||
(handle handle :offset-assert 8)
|
||||
@@ -1200,7 +1094,6 @@
|
||||
:flag-assert #x900000018
|
||||
)
|
||||
|
||||
;; definition for method 3 of type debug-actor-info
|
||||
(defmethod inspect debug-actor-info ((obj debug-actor-info))
|
||||
(when (not obj)
|
||||
(set! obj obj)
|
||||
@@ -1215,14 +1108,10 @@
|
||||
obj
|
||||
)
|
||||
|
||||
;; definition for symbol *debug-actor-info*, type debug-actor-info
|
||||
(define *debug-actor-info* (new 'static 'debug-actor-info :name #f))
|
||||
|
||||
;; definition for symbol *pid-string*, type string
|
||||
(define *pid-string* (new 'global 'string 128 (the-as string #f)))
|
||||
|
||||
;; definition (debug) for function debug-actor
|
||||
;; WARN: Return type mismatch int vs none.
|
||||
(defun-debug debug-actor ((arg0 string))
|
||||
(let ((gp-0 *debug-actor-info*))
|
||||
(set! (-> gp-0 name) #f)
|
||||
@@ -1259,8 +1148,6 @@
|
||||
(none)
|
||||
)
|
||||
|
||||
;; definition (debug) for function draw-actor-marks
|
||||
;; WARN: Return type mismatch int vs none.
|
||||
(defun-debug draw-actor-marks ((arg0 process))
|
||||
(local-vars (sv-16 entity-actor) (sv-20 (pointer int32)))
|
||||
(b!
|
||||
@@ -1394,9 +1281,6 @@
|
||||
(none)
|
||||
)
|
||||
|
||||
;; definition for method 15 of type level-group
|
||||
;; INFO: Used lq/sq
|
||||
;; WARN: Return type mismatch int vs none.
|
||||
(defmethod debug-draw-actors level-group ((obj level-group) (arg0 symbol))
|
||||
(local-vars
|
||||
(sv-16 symbol)
|
||||
@@ -1775,20 +1659,16 @@
|
||||
)
|
||||
)
|
||||
|
||||
;; definition for method 22 of type entity-camera
|
||||
(defmethod birth! entity-camera ((obj entity-camera))
|
||||
(add-connection *camera-engine* *camera* nothing obj #f #f)
|
||||
obj
|
||||
)
|
||||
|
||||
;; definition for method 23 of type entity-camera
|
||||
(defmethod kill! entity-camera ((obj entity-camera))
|
||||
(remove-by-param1 *camera-engine* (the-as int obj))
|
||||
obj
|
||||
)
|
||||
|
||||
;; definition for function init-entity
|
||||
;; WARN: Return type mismatch process vs none.
|
||||
(defun init-entity ((arg0 process) (arg1 entity-actor))
|
||||
(activate arg0 *entity-pool* (res-lump-struct arg1 'name basic) (the-as pointer #x70004000))
|
||||
(set! (-> arg0 entity) arg1)
|
||||
@@ -1798,7 +1678,6 @@
|
||||
(none)
|
||||
)
|
||||
|
||||
;; definition for method 22 of type entity-actor
|
||||
(defmethod birth! entity-actor ((obj entity-actor))
|
||||
(let* ((s5-0 (-> obj etype))
|
||||
(v1-0 (entity-info-lookup s5-0))
|
||||
@@ -1829,8 +1708,6 @@
|
||||
obj
|
||||
)
|
||||
|
||||
;; definition for function entity-deactivate-handler
|
||||
;; WARN: Return type mismatch symbol vs none.
|
||||
(defun entity-deactivate-handler ((arg0 process) (arg1 entity-actor))
|
||||
(when (= arg0 (-> arg1 extra process))
|
||||
(logclear! (-> arg1 extra perm status) (entity-perm-status bit-1 no-kill))
|
||||
@@ -1839,7 +1716,6 @@
|
||||
(none)
|
||||
)
|
||||
|
||||
;; definition for method 23 of type entity-actor
|
||||
(defmethod kill! entity-actor ((obj entity-actor))
|
||||
(let ((a0-1 (-> obj extra process)))
|
||||
(if a0-1
|
||||
@@ -1850,11 +1726,6 @@
|
||||
obj
|
||||
)
|
||||
|
||||
;; definition for method 17 of type bsp-header
|
||||
;; INFO: Used lq/sq
|
||||
;; WARN: Return type mismatch bsp-header vs none.
|
||||
;; ERROR: Unsupported inline assembly instruction kind - [mfc0 s5, Count]
|
||||
;; ERROR: Unsupported inline assembly instruction kind - [mfc0 v1, Count]
|
||||
(defmethod birth bsp-header ((obj bsp-header))
|
||||
(local-vars (v1-74 int) (s5-0 int) (sv-16 int))
|
||||
(.mfc0 s5-0 Count)
|
||||
@@ -1927,8 +1798,6 @@
|
||||
(none)
|
||||
)
|
||||
|
||||
;; definition for function check-for-rougue-process
|
||||
;; WARN: Return type mismatch int vs none.
|
||||
(defun check-for-rougue-process ((arg0 process) (arg1 int) (arg2 int) (arg3 level))
|
||||
(cond
|
||||
((-> arg0 entity)
|
||||
@@ -2033,8 +1902,6 @@
|
||||
(none)
|
||||
)
|
||||
|
||||
;; definition for method 18 of type bsp-header
|
||||
;; WARN: Return type mismatch bsp-header vs none.
|
||||
(defmethod deactivate-entities bsp-header ((obj bsp-header))
|
||||
(let ((v1-1 (-> obj level heap base))
|
||||
(a0-2 (-> obj level heap top-base))
|
||||
@@ -2121,9 +1988,6 @@
|
||||
(none)
|
||||
)
|
||||
|
||||
;; definition for function process-drawable-scale-from-entity!
|
||||
;; INFO: Used lq/sq
|
||||
;; WARN: Return type mismatch int vs none.
|
||||
(defun process-drawable-scale-from-entity! ((arg0 process-drawable) (arg1 entity))
|
||||
(let ((v1-1 (res-lump-struct arg1 'scale structure)))
|
||||
(if v1-1
|
||||
@@ -2135,9 +1999,6 @@
|
||||
(none)
|
||||
)
|
||||
|
||||
;; definition for function process-drawable-from-entity!
|
||||
;; INFO: Used lq/sq
|
||||
;; WARN: Return type mismatch process-drawable vs none.
|
||||
(defun process-drawable-from-entity! ((arg0 process-drawable) (arg1 entity-actor))
|
||||
(logior! (-> arg0 mask) (process-mask actor-pause))
|
||||
(set! (-> arg0 root trans quad) (-> arg1 extra trans quad))
|
||||
@@ -2146,7 +2007,6 @@
|
||||
(none)
|
||||
)
|
||||
|
||||
;; definition for method 9 of type entity-perm
|
||||
(defmethod update entity-perm ((obj entity-perm) (arg0 symbol) (arg1 entity-perm-status))
|
||||
(cond
|
||||
((= arg0 'game)
|
||||
@@ -2177,8 +2037,6 @@
|
||||
obj
|
||||
)
|
||||
|
||||
;; definition for function reset-actors
|
||||
;; WARN: Return type mismatch int vs none.
|
||||
(defun reset-actors ((arg0 symbol))
|
||||
(let* ((v1-0 arg0)
|
||||
(s5-0 (cond
|
||||
@@ -2263,8 +2121,6 @@
|
||||
(none)
|
||||
)
|
||||
|
||||
;; definition for function reset-cameras
|
||||
;; WARN: Return type mismatch int vs none.
|
||||
(defun reset-cameras ()
|
||||
(remove-all *camera-engine*)
|
||||
(dotimes (gp-0 (-> *level* length))
|
||||
@@ -2284,7 +2140,6 @@
|
||||
(none)
|
||||
)
|
||||
|
||||
;; definition for method 12 of type process-drawable
|
||||
(defmethod run-logic? process-drawable ((obj process-drawable))
|
||||
(or (not (logtest? (-> obj mask) (process-mask actor-pause)))
|
||||
(or (>= (+ (-> *ACTOR-bank* pause-dist) (-> obj root pause-adjust-distance))
|
||||
@@ -2296,21 +2151,12 @@
|
||||
)
|
||||
)
|
||||
|
||||
;; definition for method 9 of type entity-links
|
||||
(defmethod birth? entity-links ((obj entity-links) (arg0 vector))
|
||||
(and (not (logtest? (-> obj perm status) (entity-perm-status bit-0 dead)))
|
||||
(< (vector-vector-distance (-> obj trans) arg0) (-> *ACTOR-bank* birth-dist))
|
||||
)
|
||||
)
|
||||
|
||||
;; definition for method 17 of type level-group
|
||||
;; INFO: Used lq/sq
|
||||
;; ERROR: Stack slot load at 96 mismatch: defined as size 4, got size 16
|
||||
;; ERROR: Stack slot load at 96 mismatch: defined as size 4, got size 16
|
||||
;; ERROR: Stack slot load at 96 mismatch: defined as size 4, got size 16
|
||||
;; ERROR: Stack slot load at 96 mismatch: defined as size 4, got size 16
|
||||
;; WARN: Return type mismatch int vs none.
|
||||
;; WARN: Function (method 17 level-group) has a return type of none, but the expression builder found a return statement.
|
||||
(defmethod actors-update level-group ((obj level-group))
|
||||
(local-vars
|
||||
(sv-16 vector)
|
||||
@@ -2517,7 +2363,6 @@
|
||||
)
|
||||
)
|
||||
|
||||
;; definition for function entity-birth-no-kill
|
||||
(defun entity-birth-no-kill ((arg0 entity))
|
||||
(let ((gp-0 (-> arg0 extra)))
|
||||
(logior! (-> gp-0 perm status) (entity-perm-status no-kill))
|
||||
@@ -2528,8 +2373,6 @@
|
||||
)
|
||||
)
|
||||
|
||||
;; definition for function entity-task-complete-on
|
||||
;; WARN: Return type mismatch int vs none.
|
||||
(defun entity-task-complete-on ((arg0 entity))
|
||||
(let ((v1-0 (-> arg0 extra)))
|
||||
(if (nonzero? (-> v1-0 perm task))
|
||||
@@ -2540,8 +2383,6 @@
|
||||
(none)
|
||||
)
|
||||
|
||||
;; definition for function entity-task-complete-off
|
||||
;; WARN: Return type mismatch int vs none.
|
||||
(defun entity-task-complete-off ((arg0 entity))
|
||||
(let ((v1-0 (-> arg0 extra)))
|
||||
(if (!= (-> v1-0 perm task) 1)
|
||||
@@ -2552,8 +2393,6 @@
|
||||
(none)
|
||||
)
|
||||
|
||||
;; definition for method 30 of type entity-actor
|
||||
;; WARN: Return type mismatch entity-perm-status vs none.
|
||||
(defmethod toggle-status entity-actor ((obj entity-actor) (arg0 entity-perm-status) (arg1 symbol))
|
||||
(let ((v1-0 (-> obj extra)))
|
||||
(if arg1
|
||||
@@ -2565,8 +2404,6 @@
|
||||
(none)
|
||||
)
|
||||
|
||||
;; definition for function process-entity-status!
|
||||
;; WARN: Return type mismatch int vs entity-perm-status.
|
||||
(defun process-entity-status! ((arg0 process) (arg1 entity-perm-status) (arg2 symbol))
|
||||
(the-as entity-perm-status (cond
|
||||
((and (-> arg0 entity) arg0 (= arg0 (-> arg0 entity extra process)))
|
||||
@@ -2585,8 +2422,6 @@
|
||||
)
|
||||
)
|
||||
|
||||
;; definition for function find-nearest-entity
|
||||
;; WARN: Return type mismatch entity-actor vs entity.
|
||||
(defun find-nearest-entity ((arg0 vector) (arg1 type))
|
||||
(local-vars (v1-9 object))
|
||||
(let ((gp-0 (the-as entity-actor #f)))
|
||||
@@ -2626,10 +2461,6 @@
|
||||
)
|
||||
)
|
||||
|
||||
;; definition (debug) for function entity-speed-test
|
||||
;; ERROR: Unsupported inline assembly instruction kind - [mtc0 Count, r0]
|
||||
;; ERROR: Unsupported inline assembly instruction kind - [sync.p]
|
||||
;; ERROR: Unsupported inline assembly instruction kind - [mfc0 s4, Count]
|
||||
(defun-debug entity-speed-test ((arg0 string))
|
||||
(local-vars (s4-0 int))
|
||||
(let ((gp-0 (entity-by-name arg0)))
|
||||
@@ -2638,7 +2469,7 @@
|
||||
(reset-actors 'debug)
|
||||
0
|
||||
(disable-irq)
|
||||
(.mtc0 Count r0)
|
||||
(.mtc0 Count 0)
|
||||
(.sync.p)
|
||||
(birth! gp-0)
|
||||
(.mfc0 s4-0 Count)
|
||||
@@ -2649,9 +2480,6 @@
|
||||
)
|
||||
)
|
||||
|
||||
;; definition (debug) for function dump-entity-remap
|
||||
;; INFO: Used lq/sq
|
||||
;; WARN: Return type mismatch int vs none.
|
||||
(defun-debug dump-entity-remap ((arg0 object) (arg1 object))
|
||||
(local-vars
|
||||
(sv-16 symbol)
|
||||
|
||||
+8
-94
@@ -1,13 +1,10 @@
|
||||
;;-*-Lisp-*-
|
||||
(in-package goal)
|
||||
|
||||
;; definition for method 9 of type billboard
|
||||
(defmethod login billboard ((obj billboard))
|
||||
(adgif-shader-login (-> obj flat))
|
||||
obj
|
||||
)
|
||||
|
||||
;; definition for method 8 of type billboard
|
||||
(defmethod mem-usage billboard ((obj billboard) (arg0 memory-usage-block) (arg1 int))
|
||||
(set! (-> arg0 length) (max 34 (-> arg0 length)))
|
||||
(set! (-> arg0 data 33 name) "billboard")
|
||||
@@ -19,7 +16,6 @@
|
||||
obj
|
||||
)
|
||||
|
||||
;; definition for function mem-usage-shrub-walk
|
||||
(defun mem-usage-shrub-walk ((arg0 draw-node) (arg1 int) (arg2 memory-usage-block) (arg3 int))
|
||||
(set! (-> arg2 length) (max 64 (-> arg2 length)))
|
||||
(set! (-> arg2 data 63 name) "draw-node")
|
||||
@@ -52,7 +48,6 @@
|
||||
arg0
|
||||
)
|
||||
|
||||
;; definition for method 8 of type drawable-tree-instance-shrub
|
||||
(defmethod mem-usage drawable-tree-instance-shrub ((obj drawable-tree-instance-shrub) (arg0 memory-usage-block) (arg1 int))
|
||||
(set! (-> arg0 length) (max 1 (-> arg0 length)))
|
||||
(set! (-> arg0 data 0 name) (symbol->string 'drawable-group))
|
||||
@@ -80,7 +75,6 @@
|
||||
obj
|
||||
)
|
||||
|
||||
;; definition for method 9 of type generic-shrub-fragment
|
||||
(defmethod login generic-shrub-fragment ((obj generic-shrub-fragment))
|
||||
(let ((s5-0 (/ (-> obj cnt-qwc) (the-as uint 5))))
|
||||
(dotimes (s4-0 (the-as int s5-0))
|
||||
@@ -90,7 +84,6 @@
|
||||
obj
|
||||
)
|
||||
|
||||
;; definition for method 8 of type generic-shrub-fragment
|
||||
(defmethod mem-usage generic-shrub-fragment ((obj generic-shrub-fragment) (arg0 memory-usage-block) (arg1 int))
|
||||
(set! (-> arg0 length) (max 27 (-> arg0 length)))
|
||||
(set! (-> arg0 data 25 name) "generic-shrub")
|
||||
@@ -108,7 +101,6 @@
|
||||
obj
|
||||
)
|
||||
|
||||
;; definition for method 3 of type prototype-shrubbery
|
||||
(defmethod inspect prototype-shrubbery ((obj prototype-shrubbery))
|
||||
(format #t "[~8x] ~A~%" obj (-> obj type))
|
||||
(format #t "~Tlength: ~D~%" (-> obj length))
|
||||
@@ -119,7 +111,6 @@
|
||||
obj
|
||||
)
|
||||
|
||||
;; definition for method 8 of type prototype-shrubbery
|
||||
(defmethod mem-usage prototype-shrubbery ((obj prototype-shrubbery) (arg0 memory-usage-block) (arg1 int))
|
||||
(set! (-> arg0 length) (max 1 (-> arg0 length)))
|
||||
(set! (-> arg0 data 0 name) (symbol->string 'drawable-group))
|
||||
@@ -134,7 +125,6 @@
|
||||
obj
|
||||
)
|
||||
|
||||
;; definition for method 9 of type prototype-shrubbery
|
||||
(defmethod login prototype-shrubbery ((obj prototype-shrubbery))
|
||||
(dotimes (s5-0 (-> obj length))
|
||||
(login (-> obj data s5-0))
|
||||
@@ -142,13 +132,10 @@
|
||||
obj
|
||||
)
|
||||
|
||||
;; definition for method 5 of type prototype-shrubbery
|
||||
;; WARN: Return type mismatch uint vs int.
|
||||
(defmethod asize-of prototype-shrubbery ((obj prototype-shrubbery))
|
||||
(the-as int (+ (-> prototype-shrubbery size) (* (+ (-> obj length) -1) 32)))
|
||||
)
|
||||
|
||||
;; definition for method 9 of type prototype-generic-shrub
|
||||
(defmethod login prototype-generic-shrub ((obj prototype-generic-shrub))
|
||||
(dotimes (s5-0 (-> obj length))
|
||||
(login (-> obj data s5-0))
|
||||
@@ -156,7 +143,6 @@
|
||||
obj
|
||||
)
|
||||
|
||||
;; definition for method 9 of type shrubbery
|
||||
(defmethod login shrubbery ((obj shrubbery))
|
||||
(let ((s5-0 (* (-> obj header data 0) 2)))
|
||||
(dotimes (s4-0 (the-as int s5-0))
|
||||
@@ -182,7 +168,6 @@
|
||||
obj
|
||||
)
|
||||
|
||||
;; definition for method 8 of type shrubbery
|
||||
(defmethod mem-usage shrubbery ((obj shrubbery) (arg0 memory-usage-block) (arg1 int))
|
||||
(set! (-> arg0 length) (max 28 (-> arg0 length)))
|
||||
(set! (-> arg0 data 27 name) "shrubbery")
|
||||
@@ -222,7 +207,6 @@
|
||||
obj
|
||||
)
|
||||
|
||||
;; definition for method 9 of type drawable-tree-instance-shrub
|
||||
(defmethod login drawable-tree-instance-shrub ((obj drawable-tree-instance-shrub))
|
||||
(if (nonzero? (-> obj info prototype-inline-array-shrub))
|
||||
(login (-> obj info prototype-inline-array-shrub))
|
||||
@@ -230,17 +214,12 @@
|
||||
obj
|
||||
)
|
||||
|
||||
;; definition for symbol shrub-vu1-block, type vu-function
|
||||
(define shrub-vu1-block (new 'static 'vu-function :length #x26a :qlength #x135))
|
||||
|
||||
;; definition for function shrub-num-tris
|
||||
;; WARN: Return type mismatch uint32 vs uint.
|
||||
(defun shrub-num-tris ((shrub shrubbery))
|
||||
(the-as uint (- (-> shrub header data 2) (the-as uint (* (-> shrub header data 1) 2))))
|
||||
)
|
||||
|
||||
;; definition for function shrub-make-perspective-matrix
|
||||
;; INFO: Used lq/sq
|
||||
(defun shrub-make-perspective-matrix ((out matrix) (camera-temp matrix))
|
||||
(let* ((v1-0 out)
|
||||
(t0-0 camera-temp)
|
||||
@@ -275,7 +254,6 @@
|
||||
out
|
||||
)
|
||||
|
||||
;; definition for function shrub-init-view-data
|
||||
(defun shrub-init-view-data ((view-data shrub-view-data))
|
||||
(set! (-> view-data texture-giftag tag) (new 'static 'gif-tag64 :nloop #x1 :nreg #x4))
|
||||
(set! (-> view-data texture-giftag regs) (new 'static 'gif-tag-regs
|
||||
@@ -295,7 +273,6 @@
|
||||
#f
|
||||
)
|
||||
|
||||
;; definition for function shrub-upload-view-data
|
||||
(defun shrub-upload-view-data ((dma-buff dma-buffer))
|
||||
(let ((qwc 3))
|
||||
(let* ((buf dma-buff)
|
||||
@@ -312,12 +289,10 @@
|
||||
#f
|
||||
)
|
||||
|
||||
;; definition for function shrub-time
|
||||
(defun shrub-time ((arg0 int) (arg1 int) (arg2 int) (arg3 int) (arg4 int))
|
||||
(+ (* arg0 8) 29 (* 22 arg2) (* 11 arg1) (* (+ (* arg4 2) 15 (* 5 arg2) (* 13 arg0)) arg3) 53)
|
||||
)
|
||||
|
||||
;; definition for function shrub-do-init-frame
|
||||
(defun shrub-do-init-frame ((dma-buff dma-buffer))
|
||||
(dma-buffer-add-vu-function dma-buff shrub-vu1-block 1)
|
||||
(shrub-upload-view-data dma-buff)
|
||||
@@ -356,7 +331,6 @@
|
||||
#f
|
||||
)
|
||||
|
||||
;; definition for function shrub-init-frame
|
||||
(defun shrub-init-frame ((dma-buff dma-buffer) (test gs-test))
|
||||
(shrub-do-init-frame dma-buff)
|
||||
(let* ((v1-0 dma-buff)
|
||||
@@ -382,7 +356,6 @@
|
||||
#f
|
||||
)
|
||||
|
||||
;; definition for function shrub-upload-model
|
||||
(defun shrub-upload-model ((shrub shrubbery) (dma-buff dma-buffer) (arg2 int))
|
||||
(let* ((v1-0 dma-buff)
|
||||
(a3-0 (the-as dma-packet (-> v1-0 base)))
|
||||
@@ -423,12 +396,7 @@
|
||||
#f
|
||||
)
|
||||
|
||||
;; definition for function draw-inline-array-instance-shrub
|
||||
;; ERROR: function was not converted to expressions. Cannot decompile.
|
||||
|
||||
;; definition for function draw-prototype-inline-array-shrub
|
||||
;; INFO: Used lq/sq
|
||||
;; ERROR: Function may read a register that is not set: a2
|
||||
(defun draw-prototype-inline-array-shrub ((proto-array-len int) (proto-array (inline-array prototype-bucket-shrub)))
|
||||
(local-vars
|
||||
(dma-ptr object)
|
||||
@@ -997,39 +965,6 @@
|
||||
)
|
||||
)
|
||||
|
||||
;; definition for function draw-drawable-tree-instance-shrub
|
||||
;; INFO: Used lq/sq
|
||||
;; WARN: Return type mismatch int vs none.
|
||||
;; ERROR: Unsupported inline assembly instruction kind - [mtc0 Perf, r0]
|
||||
;; ERROR: Unsupported inline assembly instruction kind - [sync.l]
|
||||
;; ERROR: Unsupported inline assembly instruction kind - [sync.p]
|
||||
;; ERROR: Unsupported inline assembly instruction kind - [mtpc pcr0, r0]
|
||||
;; ERROR: Unsupported inline assembly instruction kind - [mtpc pcr1, r0]
|
||||
;; ERROR: Unsupported inline assembly instruction kind - [sync.l]
|
||||
;; ERROR: Unsupported inline assembly instruction kind - [sync.p]
|
||||
;; ERROR: Unsupported inline assembly instruction kind - [mtc0 Perf, a2]
|
||||
;; ERROR: Unsupported inline assembly instruction kind - [sync.l]
|
||||
;; ERROR: Unsupported inline assembly instruction kind - [sync.p]
|
||||
;; ERROR: Unsupported inline assembly instruction kind - [mtc0 Perf, r0]
|
||||
;; ERROR: Unsupported inline assembly instruction kind - [sync.l]
|
||||
;; ERROR: Unsupported inline assembly instruction kind - [sync.p]
|
||||
;; ERROR: Unsupported inline assembly instruction kind - [mfpc a0, pcr0]
|
||||
;; ERROR: Unsupported inline assembly instruction kind - [mfpc a0, pcr1]
|
||||
;; ERROR: Unsupported inline assembly instruction kind - [mtc0 Perf, r0]
|
||||
;; ERROR: Unsupported inline assembly instruction kind - [sync.l]
|
||||
;; ERROR: Unsupported inline assembly instruction kind - [sync.p]
|
||||
;; ERROR: Unsupported inline assembly instruction kind - [mtpc pcr0, r0]
|
||||
;; ERROR: Unsupported inline assembly instruction kind - [mtpc pcr1, r0]
|
||||
;; ERROR: Unsupported inline assembly instruction kind - [sync.l]
|
||||
;; ERROR: Unsupported inline assembly instruction kind - [sync.p]
|
||||
;; ERROR: Unsupported inline assembly instruction kind - [mtc0 Perf, a0]
|
||||
;; ERROR: Unsupported inline assembly instruction kind - [sync.l]
|
||||
;; ERROR: Unsupported inline assembly instruction kind - [sync.p]
|
||||
;; ERROR: Unsupported inline assembly instruction kind - [mtc0 Perf, r0]
|
||||
;; ERROR: Unsupported inline assembly instruction kind - [sync.l]
|
||||
;; ERROR: Unsupported inline assembly instruction kind - [sync.p]
|
||||
;; ERROR: Unsupported inline assembly instruction kind - [mfpc a0, pcr0]
|
||||
;; ERROR: Unsupported inline assembly instruction kind - [mfpc a0, pcr1]
|
||||
(defun draw-drawable-tree-instance-shrub ((tree drawable-tree-instance-shrub) (level level))
|
||||
(local-vars (a0-4 int) (a0-6 int) (a0-11 int) (a0-13 int))
|
||||
(set! (-> *instance-shrub-work* texture-dists) (the-as uint (-> level bsp shrub-closest)))
|
||||
@@ -1063,11 +998,11 @@
|
||||
)
|
||||
(+! (-> a1-16 count) 1)
|
||||
(b! (zero? a2-6) cfg-7 :delay (nop!))
|
||||
(.mtc0 Perf r0)
|
||||
(.mtc0 Perf 0)
|
||||
(.sync.l)
|
||||
(.sync.p)
|
||||
(.mtpc pcr0 r0)
|
||||
(.mtpc pcr1 r0)
|
||||
(.mtpc pcr0 0)
|
||||
(.mtpc pcr1 0)
|
||||
(.sync.l)
|
||||
(.sync.p)
|
||||
(.mtc0 Perf a2-6)
|
||||
@@ -1084,7 +1019,7 @@
|
||||
)
|
||||
(let ((v1-26 (-> *perf-stats* data 44)))
|
||||
(b! (zero? (-> v1-26 ctrl)) cfg-9 :delay (nop!))
|
||||
(.mtc0 Perf r0)
|
||||
(.mtc0 Perf 0)
|
||||
(.sync.l)
|
||||
(.sync.p)
|
||||
(.mfpc a0-4 pcr0)
|
||||
@@ -1099,11 +1034,11 @@
|
||||
)
|
||||
(+! (-> v1-29 count) 1)
|
||||
(b! (zero? a0-8) cfg-11 :delay (nop!))
|
||||
(.mtc0 Perf r0)
|
||||
(.mtc0 Perf 0)
|
||||
(.sync.l)
|
||||
(.sync.p)
|
||||
(.mtpc pcr0 r0)
|
||||
(.mtpc pcr1 r0)
|
||||
(.mtpc pcr0 0)
|
||||
(.mtpc pcr1 0)
|
||||
(.sync.l)
|
||||
(.sync.p)
|
||||
(.mtc0 Perf a0-8)
|
||||
@@ -1115,7 +1050,7 @@
|
||||
(draw-prototype-inline-array-shrub proto-array-len proto-array-data)
|
||||
(let ((v1-32 (-> *perf-stats* data 45)))
|
||||
(b! (zero? (-> v1-32 ctrl)) cfg-13 :delay (nop!))
|
||||
(.mtc0 Perf r0)
|
||||
(.mtc0 Perf 0)
|
||||
(.sync.l)
|
||||
(.sync.p)
|
||||
(.mfpc a0-11 pcr0)
|
||||
@@ -1151,8 +1086,6 @@
|
||||
(none)
|
||||
)
|
||||
|
||||
;; definition for method 10 of type drawable-tree-instance-shrub
|
||||
;; WARN: Return type mismatch int vs none.
|
||||
(defmethod draw drawable-tree-instance-shrub ((obj drawable-tree-instance-shrub) (arg0 drawable-tree-instance-shrub) (arg1 display-frame))
|
||||
(let ((v1-1 (-> *background-work* shrub-tree-count))
|
||||
(a1-4 (-> *level* draw-level *draw-index*))
|
||||
@@ -1165,13 +1098,10 @@
|
||||
(none)
|
||||
)
|
||||
|
||||
;; definition for method 15 of type drawable-tree-instance-shrub
|
||||
(defmethod unpack-vis drawable-tree-instance-shrub ((obj drawable-tree-instance-shrub) (arg0 (pointer int8)) (arg1 (pointer int8)))
|
||||
arg1
|
||||
)
|
||||
|
||||
;; definition for method 13 of type drawable-tree-instance-shrub
|
||||
;; WARN: Return type mismatch int vs none.
|
||||
(defmethod collect-stats drawable-tree-instance-shrub ((obj drawable-tree-instance-shrub))
|
||||
(when (logtest? (vu1-renderer-mask shrubbery shrub-near billboard shrubbery-vanish) (-> *display* vu1-enable-user))
|
||||
(let* ((v1-4 (-> obj info prototype-inline-array-shrub))
|
||||
@@ -1259,7 +1189,6 @@
|
||||
(none)
|
||||
)
|
||||
|
||||
;; definition of type dma-test
|
||||
(deftype dma-test (structure)
|
||||
((data qword 101 :inline :offset-assert 0)
|
||||
)
|
||||
@@ -1268,7 +1197,6 @@
|
||||
:flag-assert #x900000650
|
||||
)
|
||||
|
||||
;; definition for method 3 of type dma-test
|
||||
(defmethod inspect dma-test ((obj dma-test))
|
||||
(when (not obj)
|
||||
(set! obj obj)
|
||||
@@ -1280,10 +1208,8 @@
|
||||
obj
|
||||
)
|
||||
|
||||
;; definition for symbol *dma-test*, type dma-test
|
||||
(define *dma-test* (new 'global 'dma-test))
|
||||
|
||||
;; definition of type dma-test-work
|
||||
(deftype dma-test-work (structure)
|
||||
((upload dma-packet :inline :offset-assert 0)
|
||||
(end dma-packet :inline :offset-assert 16)
|
||||
@@ -1293,7 +1219,6 @@
|
||||
:flag-assert #x900000020
|
||||
)
|
||||
|
||||
;; definition for method 3 of type dma-test-work
|
||||
(defmethod inspect dma-test-work ((obj dma-test-work))
|
||||
(when (not obj)
|
||||
(set! obj obj)
|
||||
@@ -1306,7 +1231,6 @@
|
||||
obj
|
||||
)
|
||||
|
||||
;; definition for symbol *dma-test-work*, type dma-test-work
|
||||
(define *dma-test-work*
|
||||
(new 'static 'dma-test-work
|
||||
:upload (new 'static 'dma-packet :dma (new 'static 'dma-tag :qwc #x20 :id (dma-tag-id ref)))
|
||||
@@ -1314,9 +1238,6 @@
|
||||
)
|
||||
)
|
||||
|
||||
;; definition for function init-dma-test
|
||||
;; INFO: Used lq/sq
|
||||
;; WARN: Return type mismatch uint128 vs none.
|
||||
(defun init-dma-test ()
|
||||
(let ((a0-0 *dma-test-work*)
|
||||
(v1-0 (the-as object *dma-test*))
|
||||
@@ -1333,11 +1254,4 @@
|
||||
(none)
|
||||
)
|
||||
|
||||
;; failed to figure out what this is:
|
||||
(init-dma-test)
|
||||
|
||||
;; definition for function dma-test-func
|
||||
;; ERROR: function was not converted to expressions. Cannot decompile.
|
||||
|
||||
;; definition for function move-test-func
|
||||
;; ERROR: function was not converted to expressions. Cannot decompile.
|
||||
|
||||
+1
-15
@@ -1,7 +1,5 @@
|
||||
;;-*-Lisp-*-
|
||||
(in-package goal)
|
||||
|
||||
;; definition of type process-focusable
|
||||
(deftype process-focusable (process-drawable)
|
||||
((focus-status focus-status :offset-assert 200)
|
||||
)
|
||||
@@ -20,7 +18,6 @@
|
||||
)
|
||||
)
|
||||
|
||||
;; definition for method 3 of type process-focusable
|
||||
(defmethod inspect process-focusable ((obj process-focusable))
|
||||
(when (not obj)
|
||||
(set! obj obj)
|
||||
@@ -34,10 +31,8 @@
|
||||
obj
|
||||
)
|
||||
|
||||
;; definition for method 20 of type process-focusable
|
||||
;; WARN: Return type mismatch structure vs vector.
|
||||
(defmethod get-trans process-focusable ((obj process-focusable) (arg0 int))
|
||||
"@returns the `trans` [[vector]] from the process's `root` (typically either a [[trsqv]] or a [[collide-shape]]"
|
||||
"@returns the `trans` [[vector]] from the process's `root` (typically either a [[trsqv]] or a [[collide-shape]])"
|
||||
(let ((gp-0 (-> obj root)))
|
||||
(the-as vector (cond
|
||||
((zero? arg0)
|
||||
@@ -57,37 +52,28 @@
|
||||
)
|
||||
)
|
||||
|
||||
;; definition for method 22 of type process-focusable
|
||||
(defmethod get-transv process-focusable ((obj process-focusable))
|
||||
(-> obj root transv)
|
||||
)
|
||||
|
||||
;; definition for method 21 of type process-focusable
|
||||
(defmethod get-quat process-focusable ((obj process-focusable) (arg0 int))
|
||||
(-> obj root quat)
|
||||
)
|
||||
|
||||
;; definition for method 23 of type process-focusable
|
||||
(defmethod process-focusable-method-23 process-focusable ((obj process-focusable) (arg0 int))
|
||||
0
|
||||
)
|
||||
|
||||
;; definition for method 24 of type process-focusable
|
||||
;; WARN: Return type mismatch int vs meters.
|
||||
(defmethod get-water-height process-focusable ((obj process-focusable))
|
||||
(the-as meters 0)
|
||||
)
|
||||
|
||||
;; definition for method 26 of type process-focusable
|
||||
(defmethod process-focusable-method-26 process-focusable ((obj process-focusable))
|
||||
0.0
|
||||
)
|
||||
|
||||
;; definition for method 25 of type process-focusable
|
||||
;; WARN: Return type mismatch int vs time-frame.
|
||||
(defmethod process-focusable-method-25 process-focusable ((obj process-focusable))
|
||||
(the-as time-frame 0)
|
||||
)
|
||||
|
||||
;; failed to figure out what this is:
|
||||
0
|
||||
|
||||
+1
-9
@@ -1,7 +1,5 @@
|
||||
;;-*-Lisp-*-
|
||||
(in-package goal)
|
||||
|
||||
;; definition of type simple-focus
|
||||
(deftype simple-focus (process-focusable)
|
||||
((first-time? symbol :offset-assert 204)
|
||||
)
|
||||
@@ -14,7 +12,6 @@
|
||||
)
|
||||
)
|
||||
|
||||
;; definition for method 3 of type simple-focus
|
||||
(defmethod inspect simple-focus ((obj simple-focus))
|
||||
(when (not obj)
|
||||
(set! obj obj)
|
||||
@@ -28,13 +25,11 @@
|
||||
obj
|
||||
)
|
||||
|
||||
;; definition for method 20 of type simple-focus
|
||||
(defmethod get-trans simple-focus ((obj simple-focus) (arg0 int))
|
||||
"@returns the `trans` [[vector]] from the process's `root` (typically either a [[trsqv]] or a [[collide-shape]]"
|
||||
"@returns the `trans` [[vector]] from the process's `root` (typically either a [[trsqv]] or a [[collide-shape]])"
|
||||
(-> obj root trans)
|
||||
)
|
||||
|
||||
;; definition for method 12 of type simple-focus
|
||||
(defmethod run-logic? simple-focus ((obj simple-focus))
|
||||
(when (-> obj first-time?)
|
||||
(set! (-> obj first-time?) #f)
|
||||
@@ -42,7 +37,6 @@
|
||||
)
|
||||
)
|
||||
|
||||
;; failed to figure out what this is:
|
||||
(defstate idle (simple-focus)
|
||||
:virtual #t
|
||||
:event (behavior ((proc process) (arg1 int) (event-type symbol) (event event-message-block))
|
||||
@@ -59,8 +53,6 @@
|
||||
:code (the-as (function none :behavior simple-focus) sleep-code)
|
||||
)
|
||||
|
||||
;; definition for function simple-focus-init-by-other
|
||||
;; WARN: Return type mismatch object vs none.
|
||||
(defbehavior simple-focus-init-by-other simple-focus ()
|
||||
"Initializes the new [[simple-focus]]. `first-time?` will be set to [[#t]]"
|
||||
(let ((root (new 'process 'trsqv)))
|
||||
|
||||
+1
-81
@@ -1,7 +1,5 @@
|
||||
;;-*-Lisp-*-
|
||||
(in-package goal)
|
||||
|
||||
;; failed to figure out what this is:
|
||||
(defskelgroup skel-jchar jakb 0 -1
|
||||
((1 (meters 999999)))
|
||||
:bounds (static-spherem 0 0 0 3.2)
|
||||
@@ -13,7 +11,6 @@
|
||||
:shadow-joint-index 3
|
||||
)
|
||||
|
||||
;; definition for symbol *target-shadow-control*, type shadow-control
|
||||
(define *target-shadow-control*
|
||||
(new 'static 'shadow-control :settings (new 'static 'shadow-settings
|
||||
:center (new 'static 'vector :w (the-as float #x2))
|
||||
@@ -24,7 +21,6 @@
|
||||
)
|
||||
)
|
||||
|
||||
;; failed to figure out what this is:
|
||||
(defskelgroup skel-jak-highres jak-highres 0 -1
|
||||
((1 (meters 999999)))
|
||||
:bounds (static-spherem 0 0 0 3.2)
|
||||
@@ -35,7 +31,6 @@
|
||||
:shadow-joint-index 3
|
||||
)
|
||||
|
||||
;; failed to figure out what this is:
|
||||
(defskelgroup skel-generic-blast collectables 10 12
|
||||
((11 (meters 999999)))
|
||||
:bounds (static-spherem 0 0 0 50)
|
||||
@@ -43,7 +38,6 @@
|
||||
:sort 4
|
||||
)
|
||||
|
||||
;; failed to figure out what this is:
|
||||
(defskelgroup skel-generic-ripples collectables 13 15
|
||||
((14 (meters 999999)))
|
||||
:bounds (static-spherem 0 0 0 6)
|
||||
@@ -51,7 +45,6 @@
|
||||
:sort 4
|
||||
)
|
||||
|
||||
;; failed to figure out what this is:
|
||||
(defskelgroup skel-bomb-blast collectables 0 2
|
||||
((1 (meters 999999)))
|
||||
:bounds (static-spherem 0 0 0 50)
|
||||
@@ -59,7 +52,6 @@
|
||||
:sort 4
|
||||
)
|
||||
|
||||
;; definition of type target-bank
|
||||
(deftype target-bank (basic)
|
||||
((jump-collide-offset meters :offset-assert 4)
|
||||
(jump-height-min meters :offset-assert 8)
|
||||
@@ -170,7 +162,6 @@
|
||||
:flag-assert #x9000002a8
|
||||
)
|
||||
|
||||
;; definition for method 3 of type target-bank
|
||||
(defmethod inspect target-bank ((obj target-bank))
|
||||
(when (not obj)
|
||||
(set! obj obj)
|
||||
@@ -284,7 +275,6 @@
|
||||
obj
|
||||
)
|
||||
|
||||
;; definition for symbol *TARGET-bank*, type target-bank
|
||||
(define *TARGET-bank* (new 'static 'target-bank
|
||||
:jump-collide-offset (meters 0.7)
|
||||
:jump-height-min (meters 1.01)
|
||||
@@ -390,8 +380,6 @@
|
||||
)
|
||||
)
|
||||
|
||||
;; definition for function target-start-attack
|
||||
;; WARN: Return type mismatch int vs none.
|
||||
(defbehavior target-start-attack target ()
|
||||
(let* ((v1-0 *game-info*)
|
||||
(a0-1 (+ (-> v1-0 attack-id) 1))
|
||||
@@ -406,9 +394,6 @@
|
||||
(none)
|
||||
)
|
||||
|
||||
;; definition for function target-danger-set!
|
||||
;; INFO: Used lq/sq
|
||||
;; WARN: Return type mismatch int vs none.
|
||||
(defbehavior target-danger-set! target ((arg0 symbol) (arg1 symbol))
|
||||
(let ((s4-0 (-> self control unknown-sphere-array00 6))
|
||||
(s5-0 (-> self control unknown-sphere-array00 7))
|
||||
@@ -765,7 +750,6 @@
|
||||
(none)
|
||||
)
|
||||
|
||||
;; definition for function target-collide-set!
|
||||
(defbehavior target-collide-set! target ((arg0 symbol) (arg1 float))
|
||||
(let ((gp-0 (-> self control)))
|
||||
(if (and (= arg0 'normal)
|
||||
@@ -1115,12 +1099,10 @@
|
||||
0
|
||||
)
|
||||
|
||||
;; definition for method 27 of type control-info
|
||||
(defmethod get-quaternion control-info ((obj control-info))
|
||||
(-> obj unknown-quaternion00)
|
||||
)
|
||||
|
||||
;; definition for function debounce-speed
|
||||
(defbehavior debounce-speed target ((arg0 float) (arg1 float) (arg2 vector) (arg3 vector))
|
||||
(if (and (< 0.3 arg0) (< arg0 0.7) (< 0.0 arg1) (< (vector-dot arg2 arg3) 0.2))
|
||||
(set! arg0 0.0)
|
||||
@@ -1128,7 +1110,6 @@
|
||||
arg0
|
||||
)
|
||||
|
||||
;; definition for function target-align-vel-z-adjust
|
||||
(defbehavior target-align-vel-z-adjust target ((arg0 float))
|
||||
(let ((f1-0 (-> self control unknown-float17)))
|
||||
(* arg0 (if (< 0.0 f1-0)
|
||||
@@ -1139,7 +1120,6 @@
|
||||
)
|
||||
)
|
||||
|
||||
;; definition for method 26 of type target
|
||||
(defmethod process-focusable-method-26 target ((obj target))
|
||||
(if (or (and (logtest? (focus-status dark) (-> obj focus-status))
|
||||
(nonzero? (-> obj darkjak))
|
||||
@@ -1152,9 +1132,6 @@
|
||||
)
|
||||
)
|
||||
|
||||
;; definition for method 16 of type target
|
||||
;; INFO: Used lq/sq
|
||||
;; WARN: Return type mismatch control-info vs object.
|
||||
(defmethod apply-alignment target ((obj target) (arg0 align-opts) (arg1 transformq) (arg2 vector))
|
||||
(with-pp
|
||||
(let ((s2-0 (new 'stack-no-clear 'vector)))
|
||||
@@ -1208,7 +1185,6 @@
|
||||
)
|
||||
)
|
||||
|
||||
;; definition for function average-turn-angle
|
||||
(defun average-turn-angle ((arg0 target))
|
||||
(let ((f30-0 0.0))
|
||||
(dotimes (s5-0 8)
|
||||
@@ -1225,7 +1201,6 @@
|
||||
)
|
||||
)
|
||||
|
||||
;; definition for function can-play-stance-amibent?
|
||||
(defbehavior can-play-stance-amibent? target ()
|
||||
(and (or (and (= *kernel-boot-message* 'kiosk)
|
||||
(>= (+ -300000 (-> *display* real-clock frame-counter)) (seconds 60))
|
||||
@@ -1272,12 +1247,10 @@
|
||||
)
|
||||
)
|
||||
|
||||
;; definition for function target-height-above-ground
|
||||
(defbehavior target-height-above-ground target ()
|
||||
(- (-> self control trans y) (-> self control gspot-pos y))
|
||||
)
|
||||
|
||||
;; definition for function can-jump?
|
||||
(defbehavior can-jump? target ((arg0 symbol))
|
||||
(and (or (logtest? (-> self control status) (cshape-moving-flags on-surface))
|
||||
(< (- (-> self clock frame-counter) (-> self control unknown-time-frame06))
|
||||
@@ -1305,19 +1278,15 @@
|
||||
)
|
||||
)
|
||||
|
||||
;; definition for function target-jump-go
|
||||
;; WARN: Return type mismatch object vs none.
|
||||
(defbehavior target-jump-go target ()
|
||||
(go target-jump (-> *TARGET-bank* jump-height-min) (-> *TARGET-bank* jump-height-max) (the-as surface #f))
|
||||
(none)
|
||||
)
|
||||
|
||||
;; definition for function move-legs?
|
||||
(defbehavior move-legs? target ()
|
||||
(!= (-> *cpad-list* cpads (-> self control unknown-cpad-info00 number) stick0-speed) 0.0)
|
||||
)
|
||||
|
||||
;; definition for function jump-hit-ground-stuck?
|
||||
(defbehavior jump-hit-ground-stuck? target ()
|
||||
(or (logtest? (-> self control status) (cshape-moving-flags on-surface))
|
||||
(when (and (< (target-move-dist (-> *TARGET-bank* stuck-time)) (-> *TARGET-bank* stuck-distance))
|
||||
@@ -1329,8 +1298,6 @@
|
||||
)
|
||||
)
|
||||
|
||||
;; definition for function target-time-to-ground
|
||||
;; WARN: Return type mismatch int vs time-frame.
|
||||
(defbehavior target-time-to-ground target ()
|
||||
(let ((f0-0 (target-height-above-ground))
|
||||
(f2-0 (vector-dot (-> self control dynam gravity-normal) (-> self control transv)))
|
||||
@@ -1345,8 +1312,6 @@
|
||||
)
|
||||
)
|
||||
|
||||
;; definition for function fall-test
|
||||
;; WARN: Return type mismatch object vs none.
|
||||
(defbehavior fall-test target ((arg0 (state symbol target)) (arg1 float))
|
||||
(when (and (not (logtest? (-> self control status) (cshape-moving-flags on-surface)))
|
||||
(>= (- (-> self clock frame-counter) (-> self control unknown-time-frame06))
|
||||
@@ -1365,8 +1330,6 @@
|
||||
(none)
|
||||
)
|
||||
|
||||
;; definition for function slide-down-test
|
||||
;; WARN: Return type mismatch object vs none.
|
||||
(defbehavior slide-down-test target ()
|
||||
(if (and (not (logtest? (-> self control status) (cshape-moving-flags on-surface csmf07)))
|
||||
(>= (- (-> self clock frame-counter) (-> self control unknown-time-frame06))
|
||||
@@ -1380,7 +1343,6 @@
|
||||
(none)
|
||||
)
|
||||
|
||||
;; definition for function smack-surface?
|
||||
(defbehavior smack-surface? target ((arg0 symbol))
|
||||
(and (< 0.7 (-> self control touch-angle))
|
||||
(and (< (-> self control surface-angle) 0.3)
|
||||
@@ -1390,7 +1352,6 @@
|
||||
)
|
||||
)
|
||||
|
||||
;; definition for function can-roll?
|
||||
(defbehavior can-roll? target ()
|
||||
(and (logtest? (-> self control status) (cshape-moving-flags on-surface))
|
||||
(or (not (logtest? (-> self control status) (cshape-moving-flags t-wall)))
|
||||
@@ -1412,7 +1373,6 @@
|
||||
)
|
||||
)
|
||||
|
||||
;; definition for function can-duck?
|
||||
(defbehavior can-duck? target ()
|
||||
(and (logtest? (-> self control status) (cshape-moving-flags on-surface))
|
||||
(>= (-> self control unknown-float0000) 0.7)
|
||||
@@ -1424,8 +1384,6 @@
|
||||
)
|
||||
)
|
||||
|
||||
;; definition for function can-exit-duck?
|
||||
;; INFO: Used lq/sq
|
||||
(defun can-exit-duck? ((arg0 target))
|
||||
(let ((gp-0 (new 'stack-no-clear 'collide-query)))
|
||||
(let ((s4-0 (new 'stack-no-clear 'inline-array 'sphere 2)))
|
||||
@@ -1460,7 +1418,6 @@
|
||||
)
|
||||
)
|
||||
|
||||
;; definition for function can-hands?
|
||||
(defbehavior can-hands? target ((arg0 symbol))
|
||||
(cond
|
||||
((or (logtest? (-> self state-flags) (state-flags sf8))
|
||||
@@ -1494,7 +1451,6 @@
|
||||
)
|
||||
)
|
||||
|
||||
;; definition for function can-feet?
|
||||
(defbehavior can-feet? target ((arg0 symbol))
|
||||
(cond
|
||||
((or (logtest? (-> self state-flags) (state-flags sf8))
|
||||
@@ -1514,15 +1470,12 @@
|
||||
)
|
||||
)
|
||||
|
||||
;; definition for function are-still?
|
||||
(defbehavior are-still? target ()
|
||||
(or (= (-> *cpad-list* cpads (-> self control unknown-cpad-info00 number) stick0-speed) 0.0)
|
||||
(< (-> self control unknown-float05) 61440.0)
|
||||
)
|
||||
)
|
||||
|
||||
;; definition for function vector-local+!
|
||||
;; INFO: Used lq/sq
|
||||
(defbehavior vector-local+! target ((arg0 vector) (arg1 vector))
|
||||
(let ((s5-0 (new-stack-vector0)))
|
||||
(vector-matrix*! s5-0 arg1 (-> self control unknown-matrix01))
|
||||
@@ -1530,8 +1483,6 @@
|
||||
)
|
||||
)
|
||||
|
||||
;; definition for function move-forward
|
||||
;; INFO: Used lq/sq
|
||||
(defbehavior move-forward target ((arg0 float))
|
||||
(let ((a1-0 (new-stack-vector0))
|
||||
(gp-0 (new-stack-vector0))
|
||||
@@ -1542,8 +1493,6 @@
|
||||
)
|
||||
)
|
||||
|
||||
;; definition for function set-forward-vel
|
||||
;; INFO: Used lq/sq
|
||||
(defbehavior set-forward-vel target ((arg0 float))
|
||||
(let ((gp-0 (new-stack-vector0)))
|
||||
(vector-matrix*! gp-0 (-> self control transv) (-> self control unknown-matrix00))
|
||||
@@ -1553,9 +1502,6 @@
|
||||
)
|
||||
)
|
||||
|
||||
;; definition for function delete-back-vel
|
||||
;; INFO: Used lq/sq
|
||||
;; WARN: Return type mismatch int vs none.
|
||||
(defbehavior delete-back-vel target ()
|
||||
(let ((gp-0 (new-stack-vector0)))
|
||||
(vector-z-quaternion! gp-0 (-> self control dir-targ))
|
||||
@@ -1582,8 +1528,6 @@
|
||||
(none)
|
||||
)
|
||||
|
||||
;; definition for function set-side-vel
|
||||
;; INFO: Used lq/sq
|
||||
(defbehavior set-side-vel target ((arg0 float))
|
||||
(let ((gp-0 (new-stack-vector0)))
|
||||
(vector-matrix*! gp-0 (-> self control transv) (-> self control unknown-matrix00))
|
||||
@@ -1593,8 +1537,6 @@
|
||||
)
|
||||
)
|
||||
|
||||
;; definition for function target-timed-invulnerable
|
||||
;; WARN: Return type mismatch int vs none.
|
||||
(defun target-timed-invulnerable ((arg0 time-frame) (arg1 target) (arg2 int))
|
||||
(with-pp
|
||||
(case arg2
|
||||
@@ -1616,8 +1558,6 @@
|
||||
)
|
||||
)
|
||||
|
||||
;; definition for function target-timed-invulnerable-off
|
||||
;; WARN: Return type mismatch int vs none.
|
||||
(defun target-timed-invulnerable-off ((arg0 target) (arg1 int))
|
||||
(let ((v1-0 arg1))
|
||||
(cond
|
||||
@@ -1640,7 +1580,6 @@
|
||||
(none)
|
||||
)
|
||||
|
||||
;; definition for function target-log-attack
|
||||
(defbehavior target-log-attack target ((arg0 attack-info) (arg1 symbol))
|
||||
(if (and (= arg1 'background) (= (-> arg0 id) 2))
|
||||
(return #t)
|
||||
@@ -1679,9 +1618,6 @@
|
||||
#t
|
||||
)
|
||||
|
||||
;; definition for method 9 of type attack-info
|
||||
;; INFO: Used lq/sq
|
||||
;; WARN: Return type mismatch int vs none.
|
||||
(defmethod attack-info-method-9 attack-info ((obj attack-info) (arg0 attack-info) (arg1 process-drawable) (arg2 process-drawable))
|
||||
(local-vars (v1-14 float))
|
||||
(rlet ((acc :class vf)
|
||||
@@ -1753,7 +1689,6 @@
|
||||
)
|
||||
)
|
||||
|
||||
;; definition for method 10 of type attack-info
|
||||
(defmethod attack-info-method-10 attack-info ((obj attack-info) (arg0 object) (arg1 process-drawable) (arg2 process) (arg3 touching-shapes-entry))
|
||||
(when (and arg3 arg1)
|
||||
(let ((a1-2 (prims-touching? arg3 (the-as collide-shape (-> arg1 root)) (the-as uint -1))))
|
||||
@@ -1781,8 +1716,6 @@
|
||||
obj
|
||||
)
|
||||
|
||||
;; definition for method 11 of type attack-info
|
||||
;; INFO: Used lq/sq
|
||||
(defmethod combine! attack-info ((obj attack-info) (arg0 attack-info) (arg1 process-drawable))
|
||||
(let ((s4-0 (-> arg0 mask)))
|
||||
(set! (-> obj mask) (-> arg0 mask))
|
||||
@@ -1887,7 +1820,6 @@
|
||||
obj
|
||||
)
|
||||
|
||||
;; definition for function ground-tween-initialize
|
||||
(defbehavior ground-tween-initialize target ((arg0 ground-tween-info)
|
||||
(arg1 uint)
|
||||
(arg2 uint)
|
||||
@@ -1916,8 +1848,6 @@
|
||||
arg0
|
||||
)
|
||||
|
||||
;; definition for function ground-tween-update
|
||||
;; WARN: Return type mismatch int vs none.
|
||||
(defbehavior ground-tween-update target ((arg0 ground-tween-info) (arg1 float) (arg2 float) (arg3 float))
|
||||
(let ((f0-1 (fmax -1.0 (fmin 1.0 arg1)))
|
||||
(f30-0 (fmax -1.0 (fmin 1.0 arg2)))
|
||||
@@ -1973,7 +1903,6 @@
|
||||
(none)
|
||||
)
|
||||
|
||||
;; definition for function target-pos
|
||||
(defun target-pos ((arg0 int))
|
||||
(let ((a1-0 *target*))
|
||||
(cond
|
||||
@@ -1990,8 +1919,6 @@
|
||||
)
|
||||
)
|
||||
|
||||
;; definition for function target-cam-pos
|
||||
;; INFO: Used lq/sq
|
||||
(defun target-cam-pos ()
|
||||
(let ((gp-0 *target*))
|
||||
(cond
|
||||
@@ -2046,7 +1973,6 @@
|
||||
)
|
||||
)
|
||||
|
||||
;; definition for function target-rot
|
||||
(defun target-rot ()
|
||||
(let ((v1-0 *target*))
|
||||
(if v1-0
|
||||
@@ -2056,10 +1982,8 @@
|
||||
)
|
||||
)
|
||||
|
||||
;; definition for method 20 of type target
|
||||
;; INFO: Used lq/sq
|
||||
(defmethod get-trans target ((obj target) (arg0 int))
|
||||
"@returns the `trans` [[vector]] from the process's `root` (typically either a [[trsqv]] or a [[collide-shape]]"
|
||||
"@returns the `trans` [[vector]] from the process's `root` (typically either a [[trsqv]] or a [[collide-shape]])"
|
||||
(local-vars (v0-0 vector))
|
||||
(let ((v1-0 (-> obj control)))
|
||||
(cond
|
||||
@@ -2131,7 +2055,6 @@
|
||||
)
|
||||
)
|
||||
|
||||
;; definition for method 23 of type target
|
||||
(defmethod process-focusable-method-23 target ((obj target) (arg0 int))
|
||||
(let ((v1-0 (-> obj control)))
|
||||
(cond
|
||||
@@ -2156,7 +2079,6 @@
|
||||
)
|
||||
)
|
||||
|
||||
;; definition for method 21 of type target
|
||||
(defmethod get-quat target ((obj target) (arg0 int))
|
||||
(let ((v1-0 arg0))
|
||||
(cond
|
||||
@@ -2186,12 +2108,10 @@
|
||||
)
|
||||
)
|
||||
|
||||
;; definition for method 24 of type target
|
||||
(defmethod get-water-height target ((obj target))
|
||||
(-> obj water surface-height)
|
||||
)
|
||||
|
||||
;; definition for method 25 of type target
|
||||
(defmethod process-focusable-method-25 target ((obj target))
|
||||
(-> obj neck notice-time)
|
||||
)
|
||||
|
||||
+4999
File diff suppressed because it is too large
Load Diff
@@ -5,7 +5,8 @@
|
||||
"CGO/COMMON.CGO",
|
||||
"CGO/GAME.CGO",
|
||||
"DGO/CWI.DGO",
|
||||
"DGO/STD.DGO"
|
||||
"DGO/STD.DGO",
|
||||
"DGO/PALOUT.DGO"
|
||||
],
|
||||
|
||||
"skip_compile_files": [],
|
||||
|
||||
Reference in New Issue
Block a user