d/jak2: finish palace-ocean

This commit is contained in:
Tyler Wilding
2022-10-20 23:56:40 -04:00
parent b602b83d17
commit a21626a597
25 changed files with 34577 additions and 5276 deletions
+5 -2
View File
@@ -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
View File
@@ -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)"]
]
}
-2
View File
@@ -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)",
+2 -2
View File
@@ -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
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
+350 -259
View File
@@ -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)
+1 -5
View File
@@ -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 @@
)
)
)
+13 -12
View File
@@ -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)
)
)
)
+46 -203
View File
@@ -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
View File
@@ -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
View File
@@ -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
View File
@@ -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
View File
@@ -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
View File
@@ -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,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,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
View File
@@ -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)
)
File diff suppressed because it is too large Load Diff
+2 -1
View File
@@ -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": [],