mirror of
https://github.com/open-goal/jak-project
synced 2026-08-09 02:49:19 -04:00
d/jak2: finish decompiling enemy-h | enemy | grunt and flitter (#2023)
This commit is contained in:
+123
-129
@@ -14605,24 +14605,24 @@
|
||||
(water 25) ;; hi 512
|
||||
)
|
||||
|
||||
(declare-type actor-group basic)
|
||||
(deftype fact-info-enemy (fact-info)
|
||||
((speed float)
|
||||
(idle-distance meters)
|
||||
(notice-top meters)
|
||||
(notice-bottom meters)
|
||||
(cam-horz meters)
|
||||
(cam-vert meters)
|
||||
(cam-notice-dist meters)
|
||||
(enemy-options enemy-option)
|
||||
(trig-dist meters)
|
||||
(trig-actor-group uint32)
|
||||
(trig-mask-count int8)
|
||||
(trig-mask uint8 2)
|
||||
((speed float :offset-assert 40)
|
||||
(idle-distance meters :offset-assert 44)
|
||||
(notice-top meters :offset-assert 48)
|
||||
(notice-bottom meters :offset-assert 52)
|
||||
(cam-horz meters :offset-assert 56)
|
||||
(cam-vert meters :offset-assert 60)
|
||||
(cam-notice-dist meters :offset-assert 64)
|
||||
(enemy-options enemy-option :offset-assert 68)
|
||||
(trig-dist meters :offset-assert 72)
|
||||
(trig-actor-group (pointer actor-group) :offset-assert 76) ;; this is an array of handles...i think
|
||||
(trig-mask-count int8 :offset-assert 80)
|
||||
(trig-mask uint8 2 :offset-assert 81)
|
||||
)
|
||||
:method-count-assert 13
|
||||
:size-assert #x53
|
||||
:flag-assert #xd00000053
|
||||
;; Failed to read fields.
|
||||
(:methods
|
||||
(new (symbol type process (pointer float) pickup-type float) _type_ 0)
|
||||
(clear-mask-bits (_type_ int) none 12)
|
||||
@@ -15057,30 +15057,30 @@
|
||||
(declare-type touching-shapes-entry structure)
|
||||
|
||||
(deftype attack-info (structure)
|
||||
((trans vector :inline)
|
||||
(vector vector :inline)
|
||||
(attacker-velocity vector :inline)
|
||||
(intersection vector :inline)
|
||||
(attacker handle)
|
||||
(attack-time time-frame)
|
||||
(invinc-time time-frame)
|
||||
(mask attack-info-mask)
|
||||
(mode symbol)
|
||||
(shove-back meters)
|
||||
(shove-up meters)
|
||||
(speed meters)
|
||||
(dist meters)
|
||||
(control float)
|
||||
(angle symbol)
|
||||
(rotate-to degrees)
|
||||
(prev-state state)
|
||||
(id uint32)
|
||||
(count uint32)
|
||||
(penetrate-using uint64)
|
||||
(damage float)
|
||||
(shield-damage float)
|
||||
(knock uint8)
|
||||
(test symbol)
|
||||
((trans vector :inline :offset-assert 0)
|
||||
(vector vector :inline :offset-assert 16)
|
||||
(attacker-velocity vector :inline :offset-assert 32)
|
||||
(intersection vector :inline :offset-assert 48)
|
||||
(attacker handle :offset-assert 64)
|
||||
(attack-time time-frame :offset-assert 72)
|
||||
(invinc-time time-frame :offset-assert 80)
|
||||
(mask attack-info-mask :offset-assert 88)
|
||||
(mode symbol :offset-assert 92)
|
||||
(shove-back meters :offset-assert 96)
|
||||
(shove-up meters :offset-assert 100)
|
||||
(speed meters :offset-assert 104)
|
||||
(dist meters :offset-assert 108)
|
||||
(control float :offset-assert 112)
|
||||
(angle symbol :offset-assert 116)
|
||||
(rotate-to degrees :offset-assert 120)
|
||||
(prev-state state :offset-assert 124)
|
||||
(id uint32 :offset-assert 128)
|
||||
(count uint32 :offset-assert 132)
|
||||
(penetrate-using uint64 :offset-assert 136)
|
||||
(damage float :offset-assert 144)
|
||||
(shield-damage float :offset-assert 148)
|
||||
(knock uint8 :offset-assert 152)
|
||||
(test symbol :offset-assert 156)
|
||||
)
|
||||
:method-count-assert 12
|
||||
:size-assert #xa0
|
||||
@@ -32328,15 +32328,12 @@
|
||||
:flag-assert #xe00000020
|
||||
(:methods
|
||||
(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)
|
||||
(enemy-focus-method-13 (_type_ process-focusable enemy-aware) symbol 13)
|
||||
)
|
||||
)
|
||||
|
||||
(deftype enemy-info (basic)
|
||||
((fact-defaults basic :offset-assert 4)
|
||||
((fact-defaults fact-info-enemy-defaults :offset-assert 4)
|
||||
(use-die-falling symbol :offset-assert 8)
|
||||
(use-victory symbol :offset-assert 12)
|
||||
(use-jump-blocked symbol :offset-assert 16)
|
||||
@@ -32344,7 +32341,7 @@
|
||||
(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-script (pointer uint32) :offset-assert 36) ;; TODO very likely WRONG, possible `script-form`s?
|
||||
(idle-anim int32 :offset-assert 40)
|
||||
(notice-anim int32 :offset-assert 44)
|
||||
(hostile-anim int32 :offset-assert 48)
|
||||
@@ -32360,8 +32357,8 @@
|
||||
(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)
|
||||
(sound-hit sound-name :offset-assert 112)
|
||||
(sound-die sound-name :offset-assert 128)
|
||||
(notice-distance meters :offset-assert 144)
|
||||
(notice-distance-delta meters :offset-assert 148)
|
||||
(proximity-notice-distance meters :offset-assert 152)
|
||||
@@ -32375,7 +32372,7 @@
|
||||
(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-mode symbol :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)
|
||||
@@ -32453,7 +32450,7 @@
|
||||
(deftype enemy-init-by-other-params (structure)
|
||||
((trans vector :inline :offset-assert 0)
|
||||
(quat quaternion :inline :offset-assert 16)
|
||||
(entity basic :offset-assert 32)
|
||||
(entity entity :offset-assert 32)
|
||||
(directed? symbol :offset-assert 36)
|
||||
(no-initial-move-to-ground? symbol :offset-assert 40)
|
||||
)
|
||||
@@ -32465,6 +32462,7 @@
|
||||
;; +++enemy-h:knocked-type
|
||||
(defenum knocked-type
|
||||
:type uint8
|
||||
(knocked-type-0 0)
|
||||
(knocked-type-1 1)
|
||||
(knocked-type-2 2)
|
||||
(knocked-type-3 3)
|
||||
@@ -32491,9 +32489,9 @@
|
||||
)
|
||||
|
||||
(deftype enemy-best-focus (structure)
|
||||
((proc basic :offset-assert 0)
|
||||
((proc process :offset-assert 0)
|
||||
(rating float :offset-assert 4)
|
||||
(aware uint64 :offset-assert 8)
|
||||
(aware enemy-aware :offset-assert 8)
|
||||
)
|
||||
:method-count-assert 9
|
||||
:size-assert #x10
|
||||
@@ -32562,9 +32560,9 @@
|
||||
(jump-blocked () _type_ :state 43)
|
||||
(ambush () _type_ :state 44)
|
||||
(view-anims () _type_ :state 45)
|
||||
(enemy-method-46 "@abstract" (_type_) none 46)
|
||||
(enemy-method-46 "@abstract" (_type_ int) none 46)
|
||||
(enemy-method-47 (_type_ vector) float 47)
|
||||
(enemy-method-48 (_type_) none 48)
|
||||
(enemy-method-48 (_type_ process event-message-block) int 48)
|
||||
(enemy-method-49 (_type_) time-frame :behavior enemy 49)
|
||||
(enemy-method-50 (_type_ vector) vector 50)
|
||||
(enemy-method-51 (_type_) float 51)
|
||||
@@ -32574,8 +32572,8 @@
|
||||
(_type_ process-focusable) symbol 53)
|
||||
(enemy-method-54 (_type_) enemy-flag 54)
|
||||
(enemy-method-55 (_type_) none 55)
|
||||
(enemy-method-56 (_type_ object enemy-attack-info) none 56)
|
||||
(enemy-method-57 (_type_ process-focusable enemy-attack-info) none 57)
|
||||
(enemy-method-56 (_type_ process event-message-block) int 56)
|
||||
(enemy-method-57 (_type_ process-focusable enemy-best-focus) enemy-aware 57)
|
||||
(enemy-method-58 (_type_) symbol 58)
|
||||
(enemy-method-59 (_type_) penetrate 59)
|
||||
(coin-flip?
|
||||
@@ -32594,23 +32592,23 @@
|
||||
(go-flee (_type_) none 71)
|
||||
(enemy-method-72 (_type_) none 72)
|
||||
(enemy-method-73 (_type_) none 73)
|
||||
(enemy-method-74 (_type_ object object symbol event-message-block) none 74)
|
||||
(enemy-method-74 (_type_ process object symbol event-message-block) none 74)
|
||||
(enemy-method-75 (_type_ process touching-shapes-entry) none 75)
|
||||
(enemy-method-76 (_type_) none 76)
|
||||
(enemy-method-77 (_type_ (pointer float)) none 77)
|
||||
(enemy-method-78 (_type_ (pointer float)) none 78)
|
||||
(enemy-method-79 (_type_) none 79)
|
||||
(enemy-method-80 (_type_) none 80)
|
||||
(enemy-method-76 (_type_ process event-message-block) symbol 76)
|
||||
(enemy-method-77 (_type_ (pointer float)) symbol 77)
|
||||
(enemy-method-78 (_type_ (pointer float)) symbol 78)
|
||||
(enemy-method-79 (_type_ int enemy-knocked-info) symbol 79)
|
||||
(enemy-method-80 (_type_ enemy-knocked-info) symbol 80)
|
||||
(enemy-method-81 (_type_) symbol 81)
|
||||
(enemy-method-82 "TODO - nav-poly is a guess" (_type_ nav-poly) none 82)
|
||||
(enemy-method-82 "@abstract" (_type_ enemy-jump-info) symbol 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-87 (_type_ enemy-jump-info) symbol 87)
|
||||
(enemy-method-88 (_type_ enemy-jump-info) symbol 88)
|
||||
(enemy-method-89 (_type_ enemy-jump-info) symbol 89)
|
||||
(enemy-method-90 (_type_ int enemy-jump-info) symbol 90)
|
||||
(enemy-method-91 (_type_ int enemy-jump-info) none 91)
|
||||
(enemy-method-92
|
||||
"TODO - nav-poly is a guess
|
||||
@@ -32620,18 +32618,18 @@
|
||||
(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-97 (_type_) process 97)
|
||||
(enemy-method-98 (_type_ process-focusable vector) symbol 98)
|
||||
(enemy-method-99 (_type_) symbol 99)
|
||||
(enemy-method-99 (_type_ process-focusable) 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-105 (_type_ process) enemy-flag 105)
|
||||
(enemy-method-106 (_type_ process object int attack-info) none :behavior enemy 106)
|
||||
(enemy-method-107 (_type_) process-focusable 107)
|
||||
(enemy-method-108 (_type_ enemy event-message-block) int 108)
|
||||
(enemy-method-109 (_type_ int) none 109)
|
||||
(enemy-method-110 (_type_) none 110)
|
||||
(enemy-method-111 (_type_) none :behavior enemy 111)
|
||||
@@ -32666,15 +32664,15 @@
|
||||
(_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-125 (_type_ collide-query collide-spec float float float) pat-surface 125)
|
||||
(enemy-method-126 (_type_ collide-query vector collide-spec float float float) symbol 126)
|
||||
(enemy-method-127 (_type_) none 127)
|
||||
(enemy-method-127 (_type_ float float symbol collide-spec) symbol 127)
|
||||
(enemy-method-128 (_type_ vector move-above-ground-params) none 128)
|
||||
(enemy-method-129 (_type_) none 129)
|
||||
(enemy-method-130 (_type_) none 130)
|
||||
(enemy-method-131 (_type_) none 131)
|
||||
(enemy-method-130 (_type_ float) symbol 130)
|
||||
(enemy-method-131 (_type_ int) uint 131)
|
||||
(enemy-method-132 (_type_) none 132)
|
||||
(enemy-method-133 (_type_) none 133)
|
||||
(enemy-method-133 (_type_) symbol 133)
|
||||
(enemy-method-134 (_type_ process attack-info) process-focusable 134)
|
||||
(enemy-method-135 (_type_ int) sound-id 135)
|
||||
(enemy-method-136 (_type_) enemy-flag 136)
|
||||
@@ -32698,10 +32696,10 @@
|
||||
(deftype nav-enemy-info (enemy-info)
|
||||
((callback-info nav-callback-info :offset-assert 384)
|
||||
(use-momentum symbol :offset-assert 388) ;; guessed by decompiler
|
||||
(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)
|
||||
(use-frustration symbol :offset-assert 392)
|
||||
(use-stop-chase symbol :offset-assert 396)
|
||||
(use-circling symbol :offset-assert 400)
|
||||
(use-pacing symbol :offset-assert 404)
|
||||
(walk-anim int32 :offset-assert 408)
|
||||
(turn-anim int32 :offset-assert 412)
|
||||
(run-anim int32 :offset-assert 416)
|
||||
@@ -32719,7 +32717,7 @@
|
||||
(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)
|
||||
(nav-mesh nav-mesh :offset-assert 488)
|
||||
)
|
||||
:method-count-assert 11
|
||||
:size-assert #x1ec
|
||||
@@ -32772,7 +32770,7 @@
|
||||
(nav-enemy-method-160 (_type_) none 160)
|
||||
(nav-enemy-method-161 (_type_) none 161)
|
||||
(nav-enemy-method-162 (_type_) none 162)
|
||||
(nav-enemy-method-163 (_type_) none 163)
|
||||
(nav-enemy-method-163 (_type_) symbol 163)
|
||||
(nav-enemy-method-164 (_type_) none 164)
|
||||
(nav-enemy-method-165 (_type_) none 165)
|
||||
(nav-enemy-method-166 (_type_) none 166)
|
||||
@@ -34170,54 +34168,53 @@
|
||||
;; grunt ;;
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
|
||||
#|
|
||||
(deftype grunt-anim-info (structure)
|
||||
((anim-index int32 :offset-assert 0)
|
||||
(travel-speed meters :offset-assert 4)
|
||||
)
|
||||
:pack-me
|
||||
:method-count-assert 9
|
||||
:size-assert #x8
|
||||
:flag-assert #x900000008
|
||||
)
|
||||
|#
|
||||
|
||||
#|
|
||||
(deftype grunt-global-info (basic)
|
||||
((prev-knocked-anim-index int32 :offset-assert 4)
|
||||
(prev-yellow-hit-anim-index int32 :offset-assert 8)
|
||||
(prev-blue-hit-anim-index int32 :offset-assert 12)
|
||||
(patrol-anim UNKNOWN 4 :offset-assert 16)
|
||||
(charge-anim UNKNOWN 3 :offset-assert 48)
|
||||
(attack-anim UNKNOWN 2 :offset-assert 72)
|
||||
(knocked-anim UNKNOWN 4 :offset-assert 88)
|
||||
(knocked-land-anim UNKNOWN 4 :offset-assert 120)
|
||||
(yellow-hit-anim UNKNOWN 4 :offset-assert 152)
|
||||
(blue-hit-anim UNKNOWN 6 :offset-assert 184)
|
||||
(patrol-anim grunt-anim-info 4 :inline :offset-assert 16)
|
||||
(charge-anim grunt-anim-info 3 :inline :offset-assert 48)
|
||||
(attack-anim grunt-anim-info 2 :inline :offset-assert 72)
|
||||
(knocked-anim grunt-anim-info 4 :inline :offset-assert 88)
|
||||
(knocked-land-anim grunt-anim-info 4 :inline :offset-assert 120)
|
||||
(yellow-hit-anim grunt-anim-info 4 :inline :offset-assert 152)
|
||||
(blue-hit-anim grunt-anim-info 6 :inline :offset-assert 184)
|
||||
)
|
||||
:method-count-assert 9
|
||||
:size-assert #xe8
|
||||
:flag-assert #x9000000e8
|
||||
)
|
||||
|#
|
||||
|
||||
#|
|
||||
(deftype grunt (nav-enemy)
|
||||
((patrol-anim grunt-anim-info :offset-assert 600)
|
||||
(charge-anim grunt-anim-info :offset-assert 604)
|
||||
(attack-anim grunt-anim-info :offset-assert 608)
|
||||
(knocked-anim grunt-anim-info :offset-assert 612)
|
||||
(yellow-hit-anim grunt-anim-info :offset-assert 616)
|
||||
(blue-hit-anim grunt-anim-info :offset-assert 620)
|
||||
(intro-path basic :offset-assert 624)
|
||||
((patrol-anim grunt-anim-info :offset-assert 604)
|
||||
(charge-anim grunt-anim-info :offset-assert 608)
|
||||
(attack-anim grunt-anim-info :offset-assert 612)
|
||||
(knocked-anim grunt-anim-info :offset-assert 616)
|
||||
(yellow-hit-anim grunt-anim-info :offset-assert 620)
|
||||
(blue-hit-anim grunt-anim-info :offset-assert 624)
|
||||
(intro-path path-control :offset-assert 628)
|
||||
(use-charge-anim-index int8 :offset-assert 632)
|
||||
(knocked-anim-index int8 :offset-assert 633)
|
||||
(jumping-ambush-path-pt int8 :offset-assert 634)
|
||||
(grunt-flags uint8 :offset-assert 635)
|
||||
(state-timeout2 uint64 :offset-assert 636)
|
||||
(next-warn-time time-frame :offset-assert 644)
|
||||
(dest vector :inline :offset-assert 652)
|
||||
(focus-pos vector :inline :offset-assert 348)
|
||||
(minimap connection-minimap :offset-assert 684)
|
||||
(unknown-byte-n1k2n3 int8 :offset 636)
|
||||
(unknown-byte-m2j342 int8 :offset 637)
|
||||
(unknown-byte-1ji2n3 int8 :offset 638)
|
||||
(unknown-byte-n123n int8 :offset 639)
|
||||
(state-timeout2 uint64 :offset-assert 640)
|
||||
(next-warn-time time-frame :offset-assert 648)
|
||||
(dest vector :inline :offset-assert 656)
|
||||
(minimap connection-minimap :offset 688)
|
||||
)
|
||||
:method-count-assert 186
|
||||
:size-assert #x2b4
|
||||
@@ -34229,32 +34226,30 @@
|
||||
(jumping-ambush-cont () _type_ :state 181)
|
||||
(wait-for-focus () _type_ :state 182)
|
||||
(spin-attack () _type_ :state 183)
|
||||
(grunt-method-184 () none 184)
|
||||
(grunt-method-184 (_type_ float) process-focusable 184)
|
||||
(grunt-method-185 () none 185)
|
||||
)
|
||||
)
|
||||
|#
|
||||
|
||||
;; (define-extern *grunt-global-info* grunt-global-info)
|
||||
;; (define-extern *grunt-nav-enemy-info* nav-enemy-info)
|
||||
(define-extern *grunt-global-info* grunt-global-info)
|
||||
(define-extern *grunt-nav-enemy-info* nav-enemy-info)
|
||||
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
;; flitter ;;
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
|
||||
#|
|
||||
(deftype flitter (nav-enemy)
|
||||
((move-angle float :offset-assert 600)
|
||||
(heading basic :offset-assert 604)
|
||||
(change-dir-time time-frame :offset-assert 612)
|
||||
(last-change-dir uint64 :offset-assert 620)
|
||||
(off-screen-timer uint64 :offset-assert 628)
|
||||
(amb-sound-timer uint64 :offset-assert 636)
|
||||
(attack-time time-frame :offset-assert 644)
|
||||
(target-pos vector :inline :offset-assert 652)
|
||||
(attack-pos vector :inline :offset-assert 668)
|
||||
(base-height float :offset-assert 684)
|
||||
(minimap connection-minimap :offset-assert 688)
|
||||
((move-angle float :offset-assert 604)
|
||||
(heading basic :offset-assert 608)
|
||||
(change-dir-time time-frame :offset-assert 616)
|
||||
(last-change-dir uint64 :offset-assert 624)
|
||||
(off-screen-timer uint64 :offset-assert 632)
|
||||
(amb-sound-timer uint64 :offset-assert 640)
|
||||
(attack-time time-frame :offset-assert 648)
|
||||
(target-pos vector :inline :offset-assert 656)
|
||||
(attack-pos vector :inline :offset-assert 672)
|
||||
(base-height float :offset-assert 688)
|
||||
(minimap connection-minimap :offset-assert 692)
|
||||
)
|
||||
:method-count-assert 184
|
||||
:size-assert #x2b8
|
||||
@@ -34262,17 +34257,16 @@
|
||||
(:methods
|
||||
(attack () _type_ :state 178)
|
||||
(ambush-jumping () _type_ :state 179)
|
||||
(flitter-method-180 () none 180)
|
||||
(flitter-method-181 () none 181)
|
||||
(flitter-method-182 () none 182)
|
||||
(flitter-method-183 () none 183)
|
||||
(flitter-method-180 (_type_) none 180)
|
||||
(flitter-method-181 (_type_) none 181)
|
||||
(flitter-method-182 (_type_ process-focusable) symbol 182)
|
||||
(flitter-method-183 (_type_) float 183)
|
||||
)
|
||||
)
|
||||
|#
|
||||
|
||||
;; (define-extern check-drop-level-flitter-dirt-rubble function)
|
||||
;; (define-extern *flitter-nav-enemy-info* nav-enemy-info)
|
||||
;; (define-extern flitter-fall-and-play-death-anim function)
|
||||
(define-extern check-drop-level-flitter-dirt-rubble (function sparticle-system sparticle-cpuinfo vector none))
|
||||
(define-extern *flitter-nav-enemy-info* nav-enemy-info)
|
||||
(define-extern flitter-fall-and-play-death-anim (function art-joint-anim float time-frame none :behavior flitter))
|
||||
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
;; battle ;;
|
||||
|
||||
@@ -524,5 +524,13 @@
|
||||
["L536", "attack-info"],
|
||||
["L534", "attack-info"]
|
||||
],
|
||||
"gun-dark-shot": [["L125", "attack-info"]]
|
||||
"gun-dark-shot": [["L125", "attack-info"]],
|
||||
"grunt": [
|
||||
["L225", "vector"],
|
||||
["L224", "vector"]
|
||||
],
|
||||
"flitter": [
|
||||
["L159", "vector"],
|
||||
["L158", "vector"]
|
||||
]
|
||||
}
|
||||
|
||||
@@ -1200,7 +1200,7 @@
|
||||
[384, "vector"]
|
||||
],
|
||||
"(method 20 collide-cache)": [[16, "matrix"]],
|
||||
"col-rend-draw": [
|
||||
[16, "matrix"]
|
||||
]
|
||||
"col-rend-draw": [[16, "matrix"]],
|
||||
"(code jump enemy)": [[16, "enemy-jump-info"]],
|
||||
"check-drop-level-flitter-dirt-rubble": [[16, "vector"]]
|
||||
}
|
||||
|
||||
@@ -3893,16 +3893,26 @@
|
||||
"(method 10 idle-control)": [[64, "v1", "art-joint-anim"]],
|
||||
"(method 136 enemy)": [[34, "a1", "process-focusable"]],
|
||||
"(method 107 enemy)": [[17, "v0", "process-focusable"]],
|
||||
"(method 96 enemy)": [[16, "a0", "process-focusable"]],
|
||||
"(method 96 enemy)": [[[16, 20], "a0", "process-focusable"]],
|
||||
"(method 129 enemy)": [[18, "a1", "process-focusable"]],
|
||||
"(method 97 enemy)": [[16, "v1", "connection"]],
|
||||
"(method 97 enemy)": [
|
||||
[16, "v1", "connection"],
|
||||
[[17, 22], "v1", "collide-shape"],
|
||||
[27, "s2", "process-focusable"],
|
||||
[65, "v1", "connection"],
|
||||
[[66, 71], "v1", "collide-shape"],
|
||||
[76, "s2", "process-focusable"],
|
||||
[112, "v1", "connection"],
|
||||
[[113, 118], "v1", "collide-shape"],
|
||||
[123, "s2", "process-focusable"]
|
||||
],
|
||||
"(method 75 enemy)": [[9, "s2", "process-focusable"]],
|
||||
"(code notice enemy)": [[31, "v1", "art-joint-anim"]],
|
||||
"(code stare enemy)": [[23, "gp", "art-joint-anim"]],
|
||||
"(code victory enemy)": [[30, "v1", "art-joint-anim"]],
|
||||
"(method 88 enemy)": [[28, "a1", "art-joint-anim"]],
|
||||
"(code hit enemy)": [[30, "v1", "art-joint-anim"]],
|
||||
"(method 51 enemy)": [[27, "a0", "process-focusable"]],
|
||||
"(method 51 enemy)": [[[27, 31], "a0", "process-focusable"]],
|
||||
"(method 78 enemy)": [[11, "v1", "art-joint-anim"]],
|
||||
"(code die enemy)": [[30, "v1", "art-joint-anim"]],
|
||||
"(code die-falling enemy)": [[32, "gp", "art-joint-anim"]],
|
||||
@@ -4679,7 +4689,10 @@
|
||||
"(method 10 flow-control)": [["_stack_", 32, "flow-section"]],
|
||||
"(method 9 lod-set)": [["_stack_", 16, "res-tag"]],
|
||||
"execute-math-engine": [[[15, 28], "v1", "process-drawable"]],
|
||||
"(method 14 draw-control)": [[13, "v1", "process-drawable"], [[58, 64], "t9", "(function object object object none)"]],
|
||||
"(method 14 draw-control)": [
|
||||
[13, "v1", "process-drawable"],
|
||||
[[58, 64], "t9", "(function object object object none)"]
|
||||
],
|
||||
"(method 17 process-drawable)": [[7, "v1", "collide-shape"]],
|
||||
"(method 10 process-drawable)": [[32, "a0", "collide-shape"]],
|
||||
"(code process-drawable-art-error)": [[[18, 50], "v1", "collide-shape"]],
|
||||
@@ -4961,9 +4974,7 @@
|
||||
[164, "v1", "collide-shape-prim-sphere"],
|
||||
[[14, 152], "s3", "collide-cache-tri"]
|
||||
],
|
||||
"effect-param->sound-spec": [
|
||||
[178, "v1", "collide-shape-moving"]
|
||||
],
|
||||
"effect-param->sound-spec": [[178, "v1", "collide-shape-moving"]],
|
||||
"(method 10 effect-control)": [
|
||||
[128, "v1", "collide-shape-moving"],
|
||||
[183, "s3", "(pointer object)"],
|
||||
@@ -4977,6 +4988,82 @@
|
||||
"(method 12 effect-control)": [
|
||||
[99, "gp", "(pointer int8)"],
|
||||
["_stack_", 112, "res-tag"]
|
||||
]
|
||||
|
||||
],
|
||||
"(method 55 enemy)": [[[66, 70], "a0", "process-focusable"]],
|
||||
"(method 74 enemy)": [
|
||||
[50, "s3", "process-drawable"],
|
||||
[94, "v1", "attack-info"],
|
||||
[[111, 205], "s2", "attack-info"],
|
||||
[554, "a0", "vector"]
|
||||
],
|
||||
"(method 56 enemy)": [[[0, 6], "v1", "attack-info"]],
|
||||
"(method 89 enemy)": [[28, "a1", "art-joint-anim"]],
|
||||
"(method 87 enemy)": [[52, "s5", "art-joint-anim"]],
|
||||
"(code jump enemy)": [[30, "v0", "enemy-jump-info"]],
|
||||
"(method 77 enemy)": [[17, "a1", "art-joint-anim"]],
|
||||
"(method 108 enemy)": [[[2, 51], "s4", "touching-shapes-entry"]],
|
||||
"(method 130 enemy)": [[37, "t1", "int"]],
|
||||
"(method 113 enemy)": [["_stack_", 16, "res-tag"]],
|
||||
"(code falling-ambush grunt)": [[53, "v1", "art-joint-anim"]],
|
||||
"(code active grunt)": [
|
||||
[227, "gp", "art-joint-anim"],
|
||||
[271, "gp", "art-joint-anim"],
|
||||
[354, "v1", "art-joint-anim"],
|
||||
[414, "v1", "art-joint-anim"],
|
||||
[143, "gp", "art-joint-anim"]
|
||||
],
|
||||
"(code hostile grunt)": [[122, "gp", "art-joint-anim"]],
|
||||
"(code attack grunt)": [
|
||||
[55, "gp", "art-joint-anim"],
|
||||
[155, "a0", "grunt-anim-info"]
|
||||
],
|
||||
"(enter spin-attack grunt)": [[[43, 48], "gp", "process-focusable"]],
|
||||
"(code spin-attack grunt)": [
|
||||
[45, "gp", "art-joint-anim"],
|
||||
[[73, 77], "a0", "process-focusable"]
|
||||
],
|
||||
"(code circling grunt)": [
|
||||
[260, "v1", "art-joint-anim"],
|
||||
[308, "v1", "art-joint-anim"],
|
||||
[153, "v1", "art-joint-anim"],
|
||||
[153, "gp", "art-joint-anim"]
|
||||
],
|
||||
"(code pacing grunt)": [[145, "gp", "art-joint-anim"]],
|
||||
"(code stop-chase grunt)": [[77, "gp", "art-joint-anim"]],
|
||||
"(method 77 grunt)": [
|
||||
[87, "s4", "art-joint-anim"],
|
||||
[233, "a1", "art-joint-anim"],
|
||||
[323, "s4", "art-joint-anim"]
|
||||
],
|
||||
"(method 78 grunt)": [
|
||||
[53, "s4", "art-joint-anim"],
|
||||
[91, "a1", "art-joint-anim"]
|
||||
],
|
||||
"(trans wait-for-focus grunt)": [
|
||||
[40, "s5", "process-focusable"],
|
||||
[13, "s5", "process-focusable"]
|
||||
],
|
||||
"(method 132 grunt)": [[16, "t9", "(function nav-enemy none)"]],
|
||||
"(method 77 flitter)": [
|
||||
[14, "v1", "art-joint-anim"],
|
||||
[69, "v1", "art-joint-anim"]
|
||||
],
|
||||
"(method 78 flitter)": [[15, "a1", "art-joint-anim"]],
|
||||
"(code ambush flitter)": [[[72, 76], "a0", "process-focusable"]],
|
||||
"(code ambush-jumping flitter)": [
|
||||
[14, "v1", "art-joint-anim"],
|
||||
[191, "v1", "art-joint-anim"]
|
||||
],
|
||||
"(method 180 flitter)": [[17, "s5", "process-focusable"]],
|
||||
"(post active flitter)": [[9, "t9", "(function none)"]],
|
||||
"(code stare flitter)": [[126, "v1", "art-joint-anim"]],
|
||||
"(post stare flitter)": [[9, "t9", "(function none)"]],
|
||||
"(trans circling flitter)": [[14, "gp", "process-focusable"]],
|
||||
"(code circling flitter)": [[27, "v1", "art-joint-anim"]],
|
||||
"(trans attack flitter)": [[16, "s5", "process-focusable"]],
|
||||
"(code attack flitter)": [
|
||||
[20, "v1", "art-joint-anim"],
|
||||
[147, "v1", "art-joint-anim"]
|
||||
],
|
||||
"(method 132 flitter)": [[16, "t9", "(function nav-enemy none)"]]
|
||||
}
|
||||
|
||||
@@ -215,7 +215,8 @@ goos::Object decompile_at_label(const TypeSpec& type,
|
||||
return decompile_pair(label, labels, words, ts, true, file, version);
|
||||
}
|
||||
|
||||
throw std::runtime_error("Unimplemented decompile_at_label for " + type.print());
|
||||
throw std::runtime_error(fmt::format(
|
||||
"Unimplemented decompile_at_label for Label: {} and Type: {}", label.name, type.print()));
|
||||
}
|
||||
|
||||
/*!
|
||||
@@ -744,6 +745,11 @@ const std::unordered_map<
|
||||
{{"data", ArrayFieldDecompMeta(TypeSpec("int8"),
|
||||
1,
|
||||
ArrayFieldDecompMeta::Kind::REF_TO_INTEGER_ARR)}}},
|
||||
{"nav-enemy-info",
|
||||
{{"idle-anim-script",
|
||||
ArrayFieldDecompMeta(TypeSpec("uint32"),
|
||||
4,
|
||||
ArrayFieldDecompMeta::Kind::REF_TO_INTEGER_ARR)}}},
|
||||
// kinda want to add regex support now...
|
||||
{"bigmap-compressed-layers",
|
||||
{{"layer0", ArrayFieldDecompMeta(TypeSpec("uint32"),
|
||||
|
||||
+113
-114
@@ -77,6 +77,7 @@
|
||||
;; +++knocked-type
|
||||
(defenum knocked-type
|
||||
:type uint8
|
||||
(knocked-type-0 0)
|
||||
(knocked-type-1 1)
|
||||
(knocked-type-2 2)
|
||||
(knocked-type-3 3)
|
||||
@@ -104,87 +105,87 @@
|
||||
|
||||
|
||||
(deftype enemy-info (basic)
|
||||
((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)
|
||||
((fact-defaults fact-info-enemy-defaults :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 (pointer 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 sound-name :offset-assert 112)
|
||||
(sound-die sound-name :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 symbol :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
|
||||
@@ -224,7 +225,7 @@
|
||||
(deftype enemy-init-by-other-params (structure)
|
||||
((trans vector :inline :offset-assert 0)
|
||||
(quat quaternion :inline :offset-assert 16)
|
||||
(entity basic :offset-assert 32)
|
||||
(entity entity :offset-assert 32)
|
||||
(directed? symbol :offset-assert 36)
|
||||
(no-initial-move-to-ground? symbol :offset-assert 40)
|
||||
)
|
||||
@@ -251,9 +252,9 @@
|
||||
|
||||
|
||||
(deftype enemy-best-focus (structure)
|
||||
((proc basic :offset-assert 0)
|
||||
(rating float :offset-assert 4)
|
||||
(aware uint64 :offset-assert 8)
|
||||
((proc process :offset-assert 0)
|
||||
(rating float :offset-assert 4)
|
||||
(aware enemy-aware :offset-assert 8)
|
||||
)
|
||||
:method-count-assert 9
|
||||
:size-assert #x10
|
||||
@@ -324,9 +325,9 @@
|
||||
(jump-blocked () _type_ :state 43)
|
||||
(ambush () _type_ :state 44)
|
||||
(view-anims () _type_ :state 45)
|
||||
(enemy-method-46 (_type_) none 46)
|
||||
(enemy-method-46 (_type_ int) none 46)
|
||||
(enemy-method-47 (_type_ vector) float 47)
|
||||
(enemy-method-48 (_type_) none 48)
|
||||
(enemy-method-48 (_type_ process event-message-block) int 48)
|
||||
(enemy-method-49 (_type_) time-frame :behavior enemy 49)
|
||||
(enemy-method-50 (_type_ vector) vector 50)
|
||||
(enemy-method-51 (_type_) float 51)
|
||||
@@ -334,8 +335,8 @@
|
||||
(enemy-method-53 (_type_ process-focusable) symbol 53)
|
||||
(enemy-method-54 (_type_) enemy-flag 54)
|
||||
(enemy-method-55 (_type_) none 55)
|
||||
(enemy-method-56 (_type_ object enemy-attack-info) none 56)
|
||||
(enemy-method-57 (_type_ process-focusable enemy-attack-info) none 57)
|
||||
(enemy-method-56 (_type_ process event-message-block) int 56)
|
||||
(enemy-method-57 (_type_ process-focusable enemy-best-focus) enemy-aware 57)
|
||||
(enemy-method-58 (_type_) symbol 58)
|
||||
(enemy-method-59 (_type_) penetrate 59)
|
||||
(coin-flip? (_type_) symbol 60)
|
||||
@@ -352,41 +353,41 @@
|
||||
(go-flee (_type_) none 71)
|
||||
(enemy-method-72 (_type_) none 72)
|
||||
(enemy-method-73 (_type_) none 73)
|
||||
(enemy-method-74 (_type_ object object symbol event-message-block) none 74)
|
||||
(enemy-method-74 (_type_ process object symbol event-message-block) none 74)
|
||||
(enemy-method-75 (_type_ process touching-shapes-entry) none 75)
|
||||
(enemy-method-76 (_type_) none 76)
|
||||
(enemy-method-77 (_type_ (pointer float)) none 77)
|
||||
(enemy-method-78 (_type_ (pointer float)) none 78)
|
||||
(enemy-method-79 (_type_) none 79)
|
||||
(enemy-method-80 (_type_) none 80)
|
||||
(enemy-method-76 (_type_ process event-message-block) symbol 76)
|
||||
(enemy-method-77 (_type_ (pointer float)) symbol 77)
|
||||
(enemy-method-78 (_type_ (pointer float)) symbol 78)
|
||||
(enemy-method-79 (_type_ int enemy-knocked-info) symbol 79)
|
||||
(enemy-method-80 (_type_ enemy-knocked-info) symbol 80)
|
||||
(enemy-method-81 (_type_) symbol 81)
|
||||
(enemy-method-82 (_type_ nav-poly) none 82)
|
||||
(enemy-method-82 (_type_ enemy-jump-info) symbol 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-87 (_type_ enemy-jump-info) symbol 87)
|
||||
(enemy-method-88 (_type_ enemy-jump-info) symbol 88)
|
||||
(enemy-method-89 (_type_ enemy-jump-info) symbol 89)
|
||||
(enemy-method-90 (_type_ int enemy-jump-info) symbol 90)
|
||||
(enemy-method-91 (_type_ int enemy-jump-info) none 91)
|
||||
(enemy-method-92 (_type_ int nav-poly) 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-97 (_type_) process 97)
|
||||
(enemy-method-98 (_type_ process-focusable vector) symbol 98)
|
||||
(enemy-method-99 (_type_) symbol 99)
|
||||
(enemy-method-99 (_type_ process-focusable) 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-105 (_type_ process) enemy-flag 105)
|
||||
(enemy-method-106 (_type_ process object int attack-info) none :behavior enemy 106)
|
||||
(enemy-method-107 (_type_) process-focusable 107)
|
||||
(enemy-method-108 (_type_ enemy event-message-block) int 108)
|
||||
(enemy-method-109 (_type_ int) none 109)
|
||||
(enemy-method-110 (_type_) none 110)
|
||||
(enemy-method-111 (_type_) none :behavior enemy 111)
|
||||
@@ -403,15 +404,15 @@
|
||||
(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-125 (_type_ collide-query collide-spec float float float) pat-surface 125)
|
||||
(enemy-method-126 (_type_ collide-query vector collide-spec float float float) symbol 126)
|
||||
(enemy-method-127 (_type_) none 127)
|
||||
(enemy-method-127 (_type_ float float symbol collide-spec) symbol 127)
|
||||
(enemy-method-128 (_type_ vector move-above-ground-params) none 128)
|
||||
(enemy-method-129 (_type_) none 129)
|
||||
(enemy-method-130 (_type_) none 130)
|
||||
(enemy-method-131 (_type_) none 131)
|
||||
(enemy-method-130 (_type_ float) symbol 130)
|
||||
(enemy-method-131 (_type_ int) uint 131)
|
||||
(enemy-method-132 (_type_) none 132)
|
||||
(enemy-method-133 (_type_) none 133)
|
||||
(enemy-method-133 (_type_) symbol 133)
|
||||
(enemy-method-134 (_type_ process attack-info) process-focusable 134)
|
||||
(enemy-method-135 (_type_ int) sound-id 135)
|
||||
(enemy-method-136 (_type_) enemy-flag 136)
|
||||
@@ -438,7 +439,7 @@
|
||||
(set! (-> obj aware)
|
||||
(the-as
|
||||
enemy-aware
|
||||
(enemy-method-61 arg1 (the-as int (enemy-method-57 arg1 arg0 (the-as enemy-attack-info #f))))
|
||||
(enemy-method-61 arg1 (the-as int (enemy-method-57 arg1 arg0 (the-as enemy-best-focus #f))))
|
||||
)
|
||||
)
|
||||
)
|
||||
@@ -447,8 +448,6 @@
|
||||
)
|
||||
|
||||
(defmethod enemy-focus-method-13 enemy-focus ((obj enemy-focus) (arg0 process-focusable) (arg1 enemy-aware))
|
||||
"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.'"
|
||||
(let* ((t9-0 (method-of-type focus try-update-focus))
|
||||
(v0-0 (t9-0 obj arg0))
|
||||
)
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -113,6 +113,7 @@
|
||||
|
||||
(declare-type entity res-lump)
|
||||
(declare-type entity-actor entity)
|
||||
(declare-type actor-group inline-array-class)
|
||||
(declare-type target process-focusable)
|
||||
(define-extern process-task-mask (function process task-mask))
|
||||
|
||||
@@ -373,18 +374,18 @@
|
||||
|
||||
|
||||
(deftype fact-info-enemy (fact-info)
|
||||
((speed float :offset-assert 40)
|
||||
(idle-distance meters :offset-assert 44)
|
||||
(notice-top meters :offset-assert 48)
|
||||
(notice-bottom meters :offset-assert 52)
|
||||
(cam-horz meters :offset-assert 56)
|
||||
(cam-vert meters :offset-assert 60)
|
||||
(cam-notice-dist meters :offset-assert 64)
|
||||
(enemy-options enemy-option :offset-assert 68)
|
||||
(trig-dist meters :offset-assert 72)
|
||||
(trig-actor-group uint32 :offset-assert 76)
|
||||
(trig-mask-count int8 :offset-assert 80)
|
||||
(trig-mask uint8 2 :offset-assert 81)
|
||||
((speed float :offset-assert 40)
|
||||
(idle-distance meters :offset-assert 44)
|
||||
(notice-top meters :offset-assert 48)
|
||||
(notice-bottom meters :offset-assert 52)
|
||||
(cam-horz meters :offset-assert 56)
|
||||
(cam-vert meters :offset-assert 60)
|
||||
(cam-notice-dist meters :offset-assert 64)
|
||||
(enemy-options enemy-option :offset-assert 68)
|
||||
(trig-dist meters :offset-assert 72)
|
||||
(trig-actor-group (pointer actor-group) :offset-assert 76)
|
||||
(trig-mask-count int8 :offset-assert 80)
|
||||
(trig-mask uint8 2 :offset-assert 81)
|
||||
)
|
||||
:method-count-assert 13
|
||||
:size-assert #x53
|
||||
@@ -518,7 +519,7 @@
|
||||
(set! sv-32 (new 'static 'res-tag))
|
||||
(let ((v1-20 (res-lump-data s5-0 'trig-ag pointer :tag-ptr (& sv-32))))
|
||||
(if (and v1-20 (nonzero? (-> sv-32 elt-count)))
|
||||
(set! (-> gp-0 trig-actor-group) (the-as uint v1-20))
|
||||
(set! (-> gp-0 trig-actor-group) (the-as (pointer actor-group) v1-20))
|
||||
(clear-mask-bits gp-0 2)
|
||||
)
|
||||
)
|
||||
|
||||
@@ -5,15 +5,27 @@
|
||||
;; name in dgo: nav-enemy-h
|
||||
;; dgos: GAME, COMMON
|
||||
|
||||
;; grunt
|
||||
(declare-type nav-enemy enemy)
|
||||
(define-extern nav-enemy-falling-post (function none :behavior nav-enemy))
|
||||
(define-extern nav-enemy-chase-post (function none :behavior nav-enemy))
|
||||
(define-extern nav-enemy-simple-post (function none :behavior nav-enemy))
|
||||
|
||||
(declare-type nav-callback-info structure)
|
||||
(define-extern *nav-enemy-null-callback-info* nav-callback-info)
|
||||
|
||||
;; flitter
|
||||
(define-extern nav-enemy-travel-post (function none :behavior nav-enemy))
|
||||
|
||||
;; DECOMP BEGINS
|
||||
|
||||
(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)
|
||||
(use-frustration symbol :offset-assert 392)
|
||||
(use-stop-chase symbol :offset-assert 396)
|
||||
(use-circling symbol :offset-assert 400)
|
||||
(use-pacing symbol :offset-assert 404)
|
||||
(walk-anim int32 :offset-assert 408)
|
||||
(turn-anim int32 :offset-assert 412)
|
||||
(run-anim int32 :offset-assert 416)
|
||||
@@ -31,7 +43,7 @@
|
||||
(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)
|
||||
(nav-mesh nav-mesh :offset-assert 488)
|
||||
)
|
||||
:method-count-assert 11
|
||||
:size-assert #x1ec
|
||||
@@ -84,7 +96,7 @@
|
||||
(nav-enemy-method-160 (_type_) none 160)
|
||||
(nav-enemy-method-161 (_type_) none 161)
|
||||
(nav-enemy-method-162 (_type_) none 162)
|
||||
(nav-enemy-method-163 (_type_) none 163)
|
||||
(nav-enemy-method-163 (_type_) symbol 163)
|
||||
(nav-enemy-method-164 (_type_) none 164)
|
||||
(nav-enemy-method-165 (_type_) none 165)
|
||||
(nav-enemy-method-166 (_type_) none 166)
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
+753
@@ -0,0 +1,753 @@
|
||||
;;-*-Lisp-*-
|
||||
(in-package goal)
|
||||
|
||||
;; definition of type enemy-focus
|
||||
(deftype enemy-focus (focus)
|
||||
((aware enemy-aware :offset-assert 16)
|
||||
(flags enemy-flag :offset-assert 24)
|
||||
)
|
||||
:method-count-assert 14
|
||||
:size-assert #x20
|
||||
:flag-assert #xe00000020
|
||||
(:methods
|
||||
(try-update-focus (_type_ process-focusable enemy) symbol :replace 12)
|
||||
(enemy-focus-method-13 (_type_ process-focusable enemy-aware) symbol 13)
|
||||
)
|
||||
)
|
||||
|
||||
;; definition for method 3 of type enemy-focus
|
||||
(defmethod inspect enemy-focus ((obj enemy-focus))
|
||||
(when (not obj)
|
||||
(set! obj obj)
|
||||
(goto cfg-4)
|
||||
)
|
||||
(format #t "[~8x] ~A~%" obj 'enemy-focus)
|
||||
(format #t "~1Thandle: ~D~%" (-> obj handle))
|
||||
(format #t "~1Tcollide-with: ~D~%" (-> obj collide-with))
|
||||
(format #t "~1Taware: ~D~%" (-> obj aware))
|
||||
(format #t "~1Tflags: ~D~%" (-> obj flags))
|
||||
(label cfg-4)
|
||||
obj
|
||||
)
|
||||
|
||||
;; definition of type enemy-info
|
||||
(deftype enemy-info (basic)
|
||||
((fact-defaults fact-info-enemy-defaults :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 (pointer 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 sound-name :offset-assert 112)
|
||||
(sound-die sound-name :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 symbol :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
|
||||
(copy-enemy-info! (_type_ _type_) none 9)
|
||||
)
|
||||
)
|
||||
|
||||
;; definition for method 3 of type enemy-info
|
||||
;; INFO: Used lq/sq
|
||||
(defmethod inspect enemy-info ((obj enemy-info))
|
||||
(when (not obj)
|
||||
(set! obj obj)
|
||||
(goto cfg-4)
|
||||
)
|
||||
(format #t "[~8x] ~A~%" obj (-> obj type))
|
||||
(format #t "~1Tfact-defaults: ~A~%" (-> obj fact-defaults))
|
||||
(format #t "~1Tuse-die-falling: ~A~%" (-> obj use-die-falling))
|
||||
(format #t "~1Tuse-victory: ~A~%" (-> obj use-victory))
|
||||
(format #t "~1Tuse-jump-blocked: ~A~%" (-> obj use-jump-blocked))
|
||||
(format #t "~1Tdebug-draw-neck: ~A~%" (-> obj debug-draw-neck))
|
||||
(format #t "~1Tjump-debug-draw: ~A~%" (-> obj jump-debug-draw))
|
||||
(format #t "~1Tmove-to-ground: ~A~%" (-> obj move-to-ground))
|
||||
(format #t "~1Thover-if-no-ground: ~A~%" (-> obj hover-if-no-ground))
|
||||
(format #t "~1Tidle-anim-script: #x~X~%" (-> obj idle-anim-script))
|
||||
(format #t "~1Tidle-anim: ~D~%" (-> obj idle-anim))
|
||||
(format #t "~1Tnotice-anim: ~D~%" (-> obj notice-anim))
|
||||
(format #t "~1Thostile-anim: ~D~%" (-> obj hostile-anim))
|
||||
(format #t "~1Thit-anim: ~D~%" (-> obj hit-anim))
|
||||
(format #t "~1Tknocked-anim: ~D~%" (-> obj knocked-anim))
|
||||
(format #t "~1Tknocked-land-anim: ~D~%" (-> obj knocked-land-anim))
|
||||
(format #t "~1Tdie-anim: ~D~%" (-> obj die-anim))
|
||||
(format #t "~1Tdie-falling-anim: ~D~%" (-> obj die-falling-anim))
|
||||
(format #t "~1Tvictory-anim: ~D~%" (-> obj victory-anim))
|
||||
(format #t "~1Tjump-wind-up-anim: ~D~%" (-> obj jump-wind-up-anim))
|
||||
(format #t "~1Tjump-in-air-anim: ~D~%" (-> obj jump-in-air-anim))
|
||||
(format #t "~1Tjump-land-anim: ~D~%" (-> obj jump-land-anim))
|
||||
(format #t "~1Tneck-joint: ~D~%" (-> obj neck-joint))
|
||||
(format #t "~1Tlook-at-joint: ~D~%" (-> obj look-at-joint))
|
||||
(format #t "~1Tbullseye-joint: ~D~%" (-> obj bullseye-joint))
|
||||
(format #t "~1Tsound-hit: ~D~%" (-> obj sound-hit))
|
||||
(format #t "~1Tsound-die: ~D~%" (-> obj sound-die))
|
||||
(format #t "~1Tnotice-distance: (meters ~m)~%" (-> obj notice-distance))
|
||||
(format #t "~1Tnotice-distance-delta: (meters ~m)~%" (-> obj notice-distance-delta))
|
||||
(format #t "~1Tproximity-notice-distance: (meters ~m)~%" (-> obj proximity-notice-distance))
|
||||
(format #t "~1Tdefault-hit-points: ~D~%" (-> obj default-hit-points))
|
||||
(format #t "~1Tgnd-collide-with: ~D~%" (-> obj gnd-collide-with))
|
||||
(format #t "~1Toverlaps-others-collide-with-filter: ~D~%" (-> obj overlaps-others-collide-with-filter))
|
||||
(format #t "~1Tpenetrate-flinch: ~D~%" (-> obj penetrate-flinch))
|
||||
(format #t "~1Tpenetrate-knocked: ~D~%" (-> obj penetrate-knocked))
|
||||
(format #t "~1Tmovement-gravity: (meters ~m)~%" (-> obj movement-gravity))
|
||||
(format #t "~1Tfriction: ~f~%" (-> obj friction))
|
||||
(format #t "~1Tslip-factor: ~f~%" (-> obj slip-factor))
|
||||
(format #t "~1Tattack-shove-back: (meters ~m)~%" (-> obj attack-shove-back))
|
||||
(format #t "~1Tattack-shove-up: (meters ~m)~%" (-> obj attack-shove-up))
|
||||
(format #t "~1Tattack-mode: ~A~%" (-> obj attack-mode))
|
||||
(format #t "~1Tattack-damage: ~D~%" (-> obj attack-damage))
|
||||
(format #t "~1Trecover-gnd-collide-with: ~D~%" (-> obj recover-gnd-collide-with))
|
||||
(format #t "~1Tjump-height-min: (meters ~m)~%" (-> obj jump-height-min))
|
||||
(format #t "~1Tjump-height-factor: ~f~%" (-> obj jump-height-factor))
|
||||
(format #t "~1Tknocked-seek-ry-clamp: ~f~%" (-> obj knocked-seek-ry-clamp))
|
||||
(format #t "~1Tknocked-soft-vxz-lo: ~f~%" (-> obj knocked-soft-vxz-lo))
|
||||
(format #t "~1Tknocked-soft-vxz-hi: ~f~%" (-> obj knocked-soft-vxz-hi))
|
||||
(format #t "~1Tknocked-soft-vy-lo: ~f~%" (-> obj knocked-soft-vy-lo))
|
||||
(format #t "~1Tknocked-soft-vy-hi: ~f~%" (-> obj knocked-soft-vy-hi))
|
||||
(format #t "~1Tknocked-medium-vxz-lo: ~f~%" (-> obj knocked-medium-vxz-lo))
|
||||
(format #t "~1Tknocked-medium-vxz-hi: ~f~%" (-> obj knocked-medium-vxz-hi))
|
||||
(format #t "~1Tknocked-medium-vy-lo: ~f~%" (-> obj knocked-medium-vy-lo))
|
||||
(format #t "~1Tknocked-medium-vy-hi: ~f~%" (-> obj knocked-medium-vy-hi))
|
||||
(format #t "~1Tknocked-hard-vxz-lo: ~f~%" (-> obj knocked-hard-vxz-lo))
|
||||
(format #t "~1Tknocked-hard-vxz-hi: ~f~%" (-> obj knocked-hard-vxz-hi))
|
||||
(format #t "~1Tknocked-hard-vy-lo: ~f~%" (-> obj knocked-hard-vy-lo))
|
||||
(format #t "~1Tknocked-hard-vy-hi: ~f~%" (-> obj knocked-hard-vy-hi))
|
||||
(format #t "~1Tknocked-huge-vxz-lo: ~f~%" (-> obj knocked-huge-vxz-lo))
|
||||
(format #t "~1Tknocked-huge-vxz-hi: ~f~%" (-> obj knocked-huge-vxz-hi))
|
||||
(format #t "~1Tknocked-huge-vy-lo: ~f~%" (-> obj knocked-huge-vy-lo))
|
||||
(format #t "~1Tknocked-huge-vy-hi: ~f~%" (-> obj knocked-huge-vy-hi))
|
||||
(format #t "~1Tknocked-yellow-vxz-lo: ~f~%" (-> obj knocked-yellow-vxz-lo))
|
||||
(format #t "~1Tknocked-yellow-vxz-hi: ~f~%" (-> obj knocked-yellow-vxz-hi))
|
||||
(format #t "~1Tknocked-yellow-vy-lo: ~f~%" (-> obj knocked-yellow-vy-lo))
|
||||
(format #t "~1Tknocked-yellow-vy-hi: ~f~%" (-> obj knocked-yellow-vy-hi))
|
||||
(format #t "~1Tknocked-red-vxz-lo: ~f~%" (-> obj knocked-red-vxz-lo))
|
||||
(format #t "~1Tknocked-red-vxz-hi: ~f~%" (-> obj knocked-red-vxz-hi))
|
||||
(format #t "~1Tknocked-red-vy-lo: ~f~%" (-> obj knocked-red-vy-lo))
|
||||
(format #t "~1Tknocked-red-vy-hi: ~f~%" (-> obj knocked-red-vy-hi))
|
||||
(format #t "~1Tknocked-blue-vxz-lo: ~f~%" (-> obj knocked-blue-vxz-lo))
|
||||
(format #t "~1Tknocked-blue-vxz-hi: ~f~%" (-> obj knocked-blue-vxz-hi))
|
||||
(format #t "~1Tknocked-blue-vy-lo: ~f~%" (-> obj knocked-blue-vy-lo))
|
||||
(format #t "~1Tknocked-blue-vy-hi: ~f~%" (-> obj knocked-blue-vy-hi))
|
||||
(format #t "~1Tshadow-size: (meters ~m)~%" (-> obj shadow-size))
|
||||
(format #t "~1Tshadow-max-y: (meters ~m)~%" (-> obj shadow-max-y))
|
||||
(format #t "~1Tshadow-min-y: (meters ~m)~%" (-> obj shadow-min-y))
|
||||
(format #t "~1Tshadow-locus-dist: (meters ~m)~%" (-> obj shadow-locus-dist))
|
||||
(format #t "~1Tgem-joint: ~D~%" (-> obj gem-joint))
|
||||
(format #t "~1Tgem-seg: ~D~%" (-> obj gem-seg))
|
||||
(format #t "~1Tgem-no-seg: ~D~%" (-> obj gem-no-seg))
|
||||
(format #t "~1Tgem-offset: #<sphere @ #x~X>~%" (-> obj gem-offset))
|
||||
(label cfg-4)
|
||||
obj
|
||||
)
|
||||
|
||||
;; definition of type enemy-knocked-info
|
||||
(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
|
||||
)
|
||||
|
||||
;; definition for method 3 of type enemy-knocked-info
|
||||
(defmethod inspect enemy-knocked-info ((obj enemy-knocked-info))
|
||||
(when (not obj)
|
||||
(set! obj obj)
|
||||
(goto cfg-4)
|
||||
)
|
||||
(format #t "[~8x] ~A~%" obj 'enemy-knocked-info)
|
||||
(format #t "~1Tanim-speed: ~f~%" (-> obj anim-speed))
|
||||
(format #t "~1Ton-surface-count: ~D~%" (-> obj on-surface-count))
|
||||
(format #t "~1Tmove-count: ~D~%" (-> obj move-count))
|
||||
(format #t "~1Tland-can-land-time: ~D~%" (-> obj land-can-land-time))
|
||||
(label cfg-4)
|
||||
obj
|
||||
)
|
||||
|
||||
;; definition of type enemy-jump-info
|
||||
(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
|
||||
)
|
||||
|
||||
;; definition for method 3 of type enemy-jump-info
|
||||
(defmethod inspect enemy-jump-info ((obj enemy-jump-info))
|
||||
(when (not obj)
|
||||
(set! obj obj)
|
||||
(goto cfg-4)
|
||||
)
|
||||
(format #t "[~8x] ~A~%" obj 'enemy-jump-info)
|
||||
(format #t "~1Tflags: ~D~%" (-> obj flags))
|
||||
(format #t "~1Tanim-speed: ~f~%" (-> obj anim-speed))
|
||||
(format #t "~1Thang-time: ~D~%" (-> obj hang-time))
|
||||
(format #t "~1Tstart-pos: #<vector @ #x~X>~%" (-> obj start-pos))
|
||||
(format #t "~1Tdest-pos: #<vector @ #x~X>~%" (-> obj dest-pos))
|
||||
(format #t "~1Ttraj: #<trajectory @ #x~X>~%" (-> obj traj))
|
||||
(label cfg-4)
|
||||
obj
|
||||
)
|
||||
|
||||
;; definition of type enemy-init-by-other-params
|
||||
(deftype enemy-init-by-other-params (structure)
|
||||
((trans vector :inline :offset-assert 0)
|
||||
(quat quaternion :inline :offset-assert 16)
|
||||
(entity entity :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
|
||||
)
|
||||
|
||||
;; definition for method 3 of type enemy-init-by-other-params
|
||||
(defmethod inspect enemy-init-by-other-params ((obj enemy-init-by-other-params))
|
||||
(when (not obj)
|
||||
(set! obj obj)
|
||||
(goto cfg-4)
|
||||
)
|
||||
(format #t "[~8x] ~A~%" obj 'enemy-init-by-other-params)
|
||||
(format #t "~1Ttrans: #<vector @ #x~X>~%" (-> obj trans))
|
||||
(format #t "~1Tquat: #<quaternion @ #x~X>~%" (-> obj quat))
|
||||
(format #t "~1Tentity: ~A~%" (-> obj entity))
|
||||
(format #t "~1Tdirected?: ~A~%" (-> obj directed?))
|
||||
(format #t "~1Tno-initial-move-to-ground?: ~A~%" (-> obj no-initial-move-to-ground?))
|
||||
(label cfg-4)
|
||||
obj
|
||||
)
|
||||
|
||||
;; definition of type enemy-attack-info
|
||||
(deftype enemy-attack-info (structure)
|
||||
((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
|
||||
)
|
||||
|
||||
;; definition for method 3 of type enemy-attack-info
|
||||
(defmethod inspect enemy-attack-info ((obj enemy-attack-info))
|
||||
(when (not obj)
|
||||
(set! obj obj)
|
||||
(goto cfg-4)
|
||||
)
|
||||
(format #t "[~8x] ~A~%" obj 'enemy-attack-info)
|
||||
(format #t "~1Tattack-id: ~D~%" (-> obj attack-id))
|
||||
(format #t "~1Tknocked-type: ~D~%" (-> obj knocked-type))
|
||||
(format #t "~1Tblue-juggle-count: ~D~%" (-> obj blue-juggle-count))
|
||||
(format #t "~1Tattacker-handle: ~D~%" (-> obj attacker-handle))
|
||||
(format #t "~1Tattack-time: ~D~%" (-> obj attack-time))
|
||||
(format #t "~1Tpenetrate-using: ~D~%" (-> obj penetrate-using))
|
||||
(format #t "~1Tattacker-pos: ~`vector`P~%" (-> obj attacker-pos))
|
||||
(format #t "~1Tattack-direction: ~`vector`P~%" (-> obj attack-direction))
|
||||
(label cfg-4)
|
||||
obj
|
||||
)
|
||||
|
||||
;; definition of type enemy-best-focus
|
||||
(deftype enemy-best-focus (structure)
|
||||
((proc process :offset-assert 0)
|
||||
(rating float :offset-assert 4)
|
||||
(aware enemy-aware :offset-assert 8)
|
||||
)
|
||||
:method-count-assert 9
|
||||
:size-assert #x10
|
||||
:flag-assert #x900000010
|
||||
)
|
||||
|
||||
;; definition for method 3 of type enemy-best-focus
|
||||
(defmethod inspect enemy-best-focus ((obj enemy-best-focus))
|
||||
(when (not obj)
|
||||
(set! obj obj)
|
||||
(goto cfg-4)
|
||||
)
|
||||
(format #t "[~8x] ~A~%" obj 'enemy-best-focus)
|
||||
(format #t "~1Tproc: ~A~%" (-> obj proc))
|
||||
(format #t "~1Trating: ~f~%" (-> obj rating))
|
||||
(format #t "~1Taware: ~D~%" (-> obj aware))
|
||||
(label cfg-4)
|
||||
obj
|
||||
)
|
||||
|
||||
;; definition of type enemy
|
||||
(deftype enemy (process-focusable)
|
||||
((root-override2 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 joint-mod :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
|
||||
(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_ int) none 46)
|
||||
(enemy-method-47 (_type_ vector) float 47)
|
||||
(enemy-method-48 (_type_ process event-message-block) int 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_) enemy-flag 54)
|
||||
(enemy-method-55 (_type_) none 55)
|
||||
(enemy-method-56 (_type_ process event-message-block) int 56)
|
||||
(enemy-method-57 (_type_ process-focusable enemy-best-focus) enemy-aware 57)
|
||||
(enemy-method-58 (_type_) symbol 58)
|
||||
(enemy-method-59 (_type_) penetrate 59)
|
||||
(coin-flip? (_type_) symbol 60)
|
||||
(enemy-method-61 (_type_ int) int :behavior enemy 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_ process object symbol event-message-block) none 74)
|
||||
(enemy-method-75 (_type_ process touching-shapes-entry) none 75)
|
||||
(enemy-method-76 (_type_ process event-message-block) symbol 76)
|
||||
(enemy-method-77 (_type_ (pointer float)) symbol 77)
|
||||
(enemy-method-78 (_type_ (pointer float)) symbol 78)
|
||||
(enemy-method-79 (_type_ int enemy-knocked-info) symbol 79)
|
||||
(enemy-method-80 (_type_ enemy-knocked-info) symbol 80)
|
||||
(enemy-method-81 (_type_) symbol 81)
|
||||
(enemy-method-82 (_type_ enemy-jump-info) symbol 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_ enemy-jump-info) symbol 87)
|
||||
(enemy-method-88 (_type_ enemy-jump-info) symbol 88)
|
||||
(enemy-method-89 (_type_ enemy-jump-info) symbol 89)
|
||||
(enemy-method-90 (_type_ int enemy-jump-info) symbol 90)
|
||||
(enemy-method-91 (_type_ int enemy-jump-info) none 91)
|
||||
(enemy-method-92 (_type_ int nav-poly) 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_) process 97)
|
||||
(enemy-method-98 (_type_ process-focusable vector) symbol 98)
|
||||
(enemy-method-99 (_type_ process-focusable) 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_ process) enemy-flag 105)
|
||||
(enemy-method-106 (_type_ process object int attack-info) none :behavior enemy 106)
|
||||
(enemy-method-107 (_type_) process-focusable 107)
|
||||
(enemy-method-108 (_type_ enemy event-message-block) int 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_ collide-query collide-spec float float float) pat-surface 125)
|
||||
(enemy-method-126 (_type_ collide-query vector collide-spec float float float) symbol 126)
|
||||
(enemy-method-127 (_type_ float float symbol collide-spec) symbol 127)
|
||||
(enemy-method-128 (_type_ vector move-above-ground-params) none 128)
|
||||
(enemy-method-129 (_type_) none 129)
|
||||
(enemy-method-130 (_type_ float) symbol 130)
|
||||
(enemy-method-131 (_type_ int) uint 131)
|
||||
(enemy-method-132 (_type_) none 132)
|
||||
(enemy-method-133 (_type_) symbol 133)
|
||||
(enemy-method-134 (_type_ process attack-info) process-focusable 134)
|
||||
(enemy-method-135 (_type_ int) sound-id 135)
|
||||
(enemy-method-136 (_type_) enemy-flag 136)
|
||||
)
|
||||
)
|
||||
|
||||
;; definition for method 3 of type enemy
|
||||
(defmethod inspect enemy ((obj enemy))
|
||||
(when (not obj)
|
||||
(set! obj obj)
|
||||
(goto cfg-79)
|
||||
)
|
||||
(let ((t9-0 (method-of-type process-focusable inspect)))
|
||||
(t9-0 obj)
|
||||
)
|
||||
(format #t "~2Tenemy-flags: #x~X : (enemy-flag " (-> obj enemy-flags))
|
||||
(let ((s5-0 (-> obj enemy-flags)))
|
||||
(if (= (logand (enemy-flag actor-pause-backup) s5-0) (enemy-flag actor-pause-backup))
|
||||
(format #t "lock-focus ")
|
||||
)
|
||||
(if (= (logand (enemy-flag recover) s5-0) (shl 8 32))
|
||||
(format #t "death-start ")
|
||||
)
|
||||
(if (= (logand s5-0 (enemy-flag jump-check-blocked)) (enemy-flag jump-check-blocked))
|
||||
(format #t "enable-on-active ")
|
||||
)
|
||||
(if (= (logand (enemy-flag directed-ready) s5-0) (enemy-flag directed-ready))
|
||||
(format #t "checking-water ")
|
||||
)
|
||||
(if (= (logand (enemy-flag trackable-backup) s5-0) (enemy-flag trackable-backup))
|
||||
(format #t "check-water ")
|
||||
)
|
||||
(if (= (logand (enemy-flag cam-attack-mode) s5-0) (enemy-flag cam-attack-mode))
|
||||
(format #t "spawn-gem ")
|
||||
)
|
||||
(if (= (logand (enemy-flag dangerous-backup) s5-0) (enemy-flag dangerous-backup))
|
||||
(format #t "chase-startup ")
|
||||
)
|
||||
(if (= (logand s5-0 (enemy-flag look-at-move-dest)) (enemy-flag look-at-move-dest))
|
||||
(format #t "attackable-backup ")
|
||||
)
|
||||
(if (= (logand s5-0 (enemy-flag lock-focus)) (enemy-flag lock-focus))
|
||||
(format #t "look-at-focus ")
|
||||
)
|
||||
(if (= (logand s5-0 (enemy-flag enable-on-notice)) (enemy-flag enable-on-notice))
|
||||
(format #t "use-notice-distance ")
|
||||
)
|
||||
(if (= (logand s5-0 (enemy-flag auto-reset-penetrate)) (enemy-flag auto-reset-penetrate))
|
||||
(format #t "enable-on-notice ")
|
||||
)
|
||||
(if (= (logand s5-0 (enemy-flag death-start)) (enemy-flag death-start))
|
||||
(format #t "look-at-move-dest ")
|
||||
)
|
||||
(if (= (logand s5-0 (enemy-flag spawn-gem)) (enemy-flag spawn-gem))
|
||||
(format #t "notice ")
|
||||
)
|
||||
(if (= (logand s5-0 (enemy-flag attackable-backup)) (enemy-flag attackable-backup))
|
||||
(format #t "auto-reset-penetrate ")
|
||||
)
|
||||
(if (= (logand (enemy-flag vulnerable) s5-0) (shl 4 32))
|
||||
(format #t "jump-check-blocked ")
|
||||
)
|
||||
(if (= (logand (enemy-flag dislike-combo) s5-0) (shl #x8000 16))
|
||||
(format #t "drawn-mirrored ")
|
||||
)
|
||||
(if (= (logand (enemy-flag trackable) s5-0) (enemy-flag trackable))
|
||||
(format #t "multi-focus ")
|
||||
)
|
||||
(if (= (logand s5-0 (enemy-flag chase-startup)) (enemy-flag chase-startup))
|
||||
(format #t "alert ")
|
||||
)
|
||||
(if (= (logand s5-0 (enemy-flag look-at-focus)) (enemy-flag look-at-focus))
|
||||
(format #t "victory ")
|
||||
)
|
||||
(if (= (logand s5-0 (enemy-flag check-water)) (enemy-flag check-water))
|
||||
(format #t "dangerous-backup ")
|
||||
)
|
||||
(if (= (logand s5-0 (enemy-flag notice)) (enemy-flag notice))
|
||||
(format #t "actor-pause-backup ")
|
||||
)
|
||||
(if (= (logand (enemy-flag check-water-backup) s5-0) (enemy-flag check-water-backup))
|
||||
(format #t "trackable ")
|
||||
)
|
||||
(if (= (logand (enemy-flag recover-applied-velocity) s5-0) (shl 1 32))
|
||||
(format #t "called-dying ")
|
||||
)
|
||||
(if (= (logand (enemy-flag enable-on-hostile) s5-0) (enemy-flag enable-on-hostile))
|
||||
(format #t "check-water-backup ")
|
||||
)
|
||||
(if (= (logand (enemy-flag vulnerable-backup) s5-0) (shl 2 32))
|
||||
(format #t "no-initial-move-to-ground ")
|
||||
)
|
||||
(if (= (logand s5-0 (enemy-flag use-notice-distance)) (enemy-flag use-notice-distance))
|
||||
(format #t "cam-attack-mode ")
|
||||
)
|
||||
(if (= (logand (enemy-flag no-initial-move-to-ground) s5-0) (enemy-flag no-initial-move-to-ground))
|
||||
(format #t "trackable-backup ")
|
||||
)
|
||||
(if (= (logand s5-0 (enemy-flag drawn-mirrored)) (enemy-flag drawn-mirrored))
|
||||
(format #t "enable-on-hostile ")
|
||||
)
|
||||
(if (= (logand (enemy-flag victory) s5-0) (enemy-flag victory))
|
||||
(format #t "directed-ready ")
|
||||
)
|
||||
(if (= (logand (enemy-flag called-dying) s5-0) (enemy-flag called-dying))
|
||||
(format #t "use-trigger ")
|
||||
)
|
||||
(if (= (logand (enemy-flag alert) s5-0) (enemy-flag alert))
|
||||
(format #t "directed ")
|
||||
)
|
||||
(if (= (logand (enemy-flag multi-focus) s5-0) (enemy-flag multi-focus))
|
||||
(format #t "dislike-combo ")
|
||||
)
|
||||
(if (= (logand (enemy-flag directed) s5-0) (enemy-flag directed))
|
||||
(format #t "recover-applied-velocity ")
|
||||
)
|
||||
(if (= (logand s5-0 (enemy-flag checking-water)) (enemy-flag checking-water))
|
||||
(format #t "vulnerable-backup ")
|
||||
)
|
||||
(if (= (logand s5-0 (enemy-flag enable-on-active)) (enemy-flag enable-on-active))
|
||||
(format #t "vulnerable ")
|
||||
)
|
||||
(if (= (logand (enemy-flag use-trigger) s5-0) (enemy-flag use-trigger))
|
||||
(format #t "recover ")
|
||||
)
|
||||
)
|
||||
(format #t ")~%")
|
||||
(format #t "~2Tenemy-info: ~A~%" (-> obj enemy-info))
|
||||
(format #t "~2Thit-points: ~D~%" (-> obj hit-points))
|
||||
(format #t "~2Tgnd-collide-with: ~D~%" (-> obj gnd-collide))
|
||||
(format #t "~2Tattack-id: ~D~%" (-> obj attack-id))
|
||||
(format #t "~2Tpersistent-attack-id: ~D~%" (-> obj persistent-attack-id))
|
||||
(format #t "~2Twater-max-height: ~f~%" (-> obj water-max-height))
|
||||
(format #t "~2Twater-surface-height: ~f~%" (-> obj water-surface-height))
|
||||
(format #t "~2Tdesired-angle: ~f~%" (-> obj desired-angle))
|
||||
(format #t "~2Tjump-why: ~D~%" (-> obj jump-why))
|
||||
(format #t "~2Tpenetrated-by-all: ~D~%" (-> obj penetrated-by-all))
|
||||
(format #t "~2Tpenetrate-flinch: ~D~%" (-> obj penetrated-flinch))
|
||||
(format #t "~2Tpenetrate-knocked: ~D~%" (-> obj penetrated-knocked))
|
||||
(format #t "~2Treaction-time: ~D~%" (-> obj reaction-time))
|
||||
(format #t "~2Tnotice-time: ~D~%" (-> obj notice-time))
|
||||
(format #t "~2Tstate-timeout: ~D~%" (-> obj state-timeout))
|
||||
(format #t "~2Tauto-reset-penetrate-time: ~D~%" (-> obj auto-reset-penetrate-time))
|
||||
(format #t "~2Thit-focus-time: ~D~%" (-> obj hit-focus-time))
|
||||
(format #t "~2Tlast-draw-time: ~D~%" (-> obj last-draw-time))
|
||||
(format #t "~2Tstarting-time: ~D~%" (-> obj starting-time))
|
||||
(format #t "~2Tfated-time: ~D~%" (-> obj fated-time))
|
||||
(format #t "~2Tfocus-pos: ~`vector`P~%" (-> obj focus-pos))
|
||||
(format #t "~2Tevent-param-point: ~`vector`P~%" (-> obj event-param-point))
|
||||
(format #t "~2Tjump-dest: ~`vector`P~%" (-> obj event-param-point))
|
||||
(format #t "~2Tfocus: #<enemy-focus @ #x~X>~%" (-> obj focus))
|
||||
(format #t "~2Tincoming: #<enemy-attack-info @ #x~X>~%" (-> obj incoming))
|
||||
(format #t "~2Tactor-group: #x~X~%" (-> obj actor-group))
|
||||
(dotimes (s5-1 (-> obj actor-group-count))
|
||||
(format
|
||||
#t
|
||||
"~T [~D]~2Tactor-group: ~`actor-group`P~%"
|
||||
s5-1
|
||||
(-> (the-as (pointer uint32) (+ (the-as uint (-> obj actor-group)) (* s5-1 4))))
|
||||
)
|
||||
)
|
||||
(format #t "~2Tactor-group-count: ~D~%" (-> obj actor-group-count))
|
||||
(format #t "~2Tneck: ~A~%" (-> obj neck))
|
||||
(format #t "~2Ton-notice: ~A~%" (-> obj on-notice))
|
||||
(format #t "~2Ton-active: ~A~%" (-> obj on-active))
|
||||
(format #t "~2Ton-hostile: ~A~%" (-> obj on-hostile))
|
||||
(format #t "~2Ton-death: ~A~%" (-> obj on-death))
|
||||
(format #t "~2Tidle-anim-player: #<idle-control @ #x~X>~%" (-> obj idle-anim-player))
|
||||
(format #t "~2Trand-gen: ~A~%" (-> obj rand-gen))
|
||||
(label cfg-79)
|
||||
obj
|
||||
)
|
||||
|
||||
;; definition of type anim-info
|
||||
(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
|
||||
)
|
||||
|
||||
;; definition for method 3 of type anim-info
|
||||
(defmethod inspect anim-info ((obj anim-info))
|
||||
(when (not obj)
|
||||
(set! obj obj)
|
||||
(goto cfg-4)
|
||||
)
|
||||
(format #t "[~8x] ~A~%" obj 'anim-info)
|
||||
(format #t "~1Tanim-index: ~D~%" (-> obj anim-index))
|
||||
(format #t "~1Ttravel-speed: (meters ~m)~%" (-> obj travel-speed))
|
||||
(label cfg-4)
|
||||
obj
|
||||
)
|
||||
|
||||
;; definition for method 12 of type enemy-focus
|
||||
(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))
|
||||
(set! (-> obj aware)
|
||||
(the-as
|
||||
enemy-aware
|
||||
(enemy-method-61 arg1 (the-as int (enemy-method-57 arg1 arg0 (the-as enemy-best-focus #f))))
|
||||
)
|
||||
)
|
||||
)
|
||||
s3-0
|
||||
)
|
||||
)
|
||||
|
||||
;; definition for method 13 of type enemy-focus
|
||||
(defmethod enemy-focus-method-13 enemy-focus ((obj enemy-focus) (arg0 process-focusable) (arg1 enemy-aware))
|
||||
(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
|
||||
)
|
||||
)
|
||||
|
||||
;; definition for method 9 of type enemy-focus
|
||||
;; 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)
|
||||
)
|
||||
+3870
File diff suppressed because it is too large
Load Diff
+190
@@ -1,9 +1,13 @@
|
||||
;;-*-Lisp-*-
|
||||
(in-package goal)
|
||||
|
||||
;; this file is debug only
|
||||
(declare-file (debug))
|
||||
(when *debug-segment*
|
||||
;; definition for symbol *camera-layout-blink*, type symbol
|
||||
(define *camera-layout-blink* #f)
|
||||
|
||||
;; definition of type cam-layout-bank
|
||||
(deftype cam-layout-bank (basic)
|
||||
((spline-t float :offset-assert 4)
|
||||
(spline-step float :offset-assert 8)
|
||||
@@ -17,6 +21,7 @@
|
||||
:flag-assert #x90000001c
|
||||
)
|
||||
|
||||
;; definition for method 3 of type cam-layout-bank
|
||||
(defmethod inspect cam-layout-bank ((obj cam-layout-bank))
|
||||
(when (not obj)
|
||||
(set! obj obj)
|
||||
@@ -33,6 +38,7 @@
|
||||
obj
|
||||
)
|
||||
|
||||
;; definition for symbol *CAM_LAYOUT-bank*, type cam-layout-bank
|
||||
(define *CAM_LAYOUT-bank* (new 'static 'cam-layout-bank
|
||||
:spline-t 0.01
|
||||
:spline-step 0.0016666667
|
||||
@@ -43,8 +49,10 @@
|
||||
)
|
||||
)
|
||||
|
||||
;; definition for symbol *camera-layout-message-ypos*, type int
|
||||
(define *camera-layout-message-ypos* 30)
|
||||
|
||||
;; definition of type clm-basic
|
||||
(deftype clm-basic (basic)
|
||||
()
|
||||
:method-count-assert 9
|
||||
@@ -52,6 +60,7 @@
|
||||
:flag-assert #x900000004
|
||||
)
|
||||
|
||||
;; definition for method 3 of type clm-basic
|
||||
(defmethod inspect clm-basic ((obj clm-basic))
|
||||
(when (not obj)
|
||||
(set! obj obj)
|
||||
@@ -62,6 +71,7 @@
|
||||
obj
|
||||
)
|
||||
|
||||
;; definition of type clm-item-action
|
||||
(deftype clm-item-action (structure)
|
||||
((button uint64 :offset-assert 0)
|
||||
(options uint64 :offset-assert 8)
|
||||
@@ -77,6 +87,7 @@
|
||||
:flag-assert #x90000001c
|
||||
)
|
||||
|
||||
;; definition for method 3 of type clm-item-action
|
||||
(defmethod inspect clm-item-action ((obj clm-item-action))
|
||||
(when (not obj)
|
||||
(set! obj obj)
|
||||
@@ -92,6 +103,7 @@
|
||||
obj
|
||||
)
|
||||
|
||||
;; definition of type clm-item
|
||||
(deftype clm-item (clm-basic)
|
||||
((description string :offset-assert 4)
|
||||
(button-symbol symbol :offset-assert 8)
|
||||
@@ -102,6 +114,7 @@
|
||||
:flag-assert #x90000002c
|
||||
)
|
||||
|
||||
;; definition for method 3 of type clm-item
|
||||
(defmethod inspect clm-item ((obj clm-item))
|
||||
(when (not obj)
|
||||
(set! obj obj)
|
||||
@@ -115,6 +128,7 @@
|
||||
obj
|
||||
)
|
||||
|
||||
;; definition of type clm-list-item
|
||||
(deftype clm-list-item (basic)
|
||||
((description string :offset-assert 4)
|
||||
(track-val symbol :offset-assert 8)
|
||||
@@ -131,6 +145,7 @@
|
||||
:flag-assert #x90000001c
|
||||
)
|
||||
|
||||
;; definition for method 3 of type clm-list-item
|
||||
(defmethod inspect clm-list-item ((obj clm-list-item))
|
||||
(when (not obj)
|
||||
(set! obj obj)
|
||||
@@ -147,6 +162,7 @@
|
||||
obj
|
||||
)
|
||||
|
||||
;; definition of type clm-list
|
||||
(deftype clm-list (clm-basic)
|
||||
((tracker symbol :offset-assert 4)
|
||||
(cur-list-item int32 :offset-assert 8)
|
||||
@@ -157,6 +173,7 @@
|
||||
:flag-assert #x900000010
|
||||
)
|
||||
|
||||
;; definition for method 3 of type clm-list
|
||||
(defmethod inspect clm-list ((obj clm-list))
|
||||
(when (not obj)
|
||||
(set! obj obj)
|
||||
@@ -170,6 +187,7 @@
|
||||
obj
|
||||
)
|
||||
|
||||
;; definition of type clm
|
||||
(deftype clm (basic)
|
||||
((title string :offset-assert 4)
|
||||
(items (array clm-basic) :offset-assert 8)
|
||||
@@ -179,6 +197,7 @@
|
||||
:flag-assert #x90000000c
|
||||
)
|
||||
|
||||
;; definition for method 3 of type clm
|
||||
(defmethod inspect clm ((obj clm))
|
||||
(when (not obj)
|
||||
(set! obj obj)
|
||||
@@ -191,14 +210,19 @@
|
||||
obj
|
||||
)
|
||||
|
||||
;; definition for symbol *volume-point-current*, type int
|
||||
(define *volume-point-current* 0)
|
||||
|
||||
;; definition for symbol *volume-point*, type vector-array
|
||||
(define *volume-point* (new 'debug 'vector-array 1000))
|
||||
|
||||
;; definition for symbol *volume-normal-current*, type int
|
||||
(define *volume-normal-current* 0)
|
||||
|
||||
;; definition for symbol *volume-normal*, type vector-array
|
||||
(define *volume-normal* (new 'debug 'vector-array 600))
|
||||
|
||||
;; definition of type volume-descriptor-array
|
||||
(deftype volume-descriptor-array (inline-array-class)
|
||||
((data plane-volume :inline :dynamic :offset 16)
|
||||
)
|
||||
@@ -207,6 +231,7 @@
|
||||
:flag-assert #x900000010
|
||||
)
|
||||
|
||||
;; definition for method 3 of type volume-descriptor-array
|
||||
(defmethod inspect volume-descriptor-array ((obj volume-descriptor-array))
|
||||
(when (not obj)
|
||||
(set! obj obj)
|
||||
@@ -220,12 +245,16 @@
|
||||
obj
|
||||
)
|
||||
|
||||
;; failed to figure out what this is:
|
||||
(set! (-> volume-descriptor-array heap-base) (the-as uint 24))
|
||||
|
||||
;; definition for symbol *volume-descriptor-current*, type int
|
||||
(define *volume-descriptor-current* 0)
|
||||
|
||||
;; definition for symbol *volume-descriptor*, type vol-control
|
||||
(define *volume-descriptor* (the-as vol-control (new 'debug 'volume-descriptor-array 100)))
|
||||
|
||||
;; definition of type cam-layout
|
||||
(deftype cam-layout (process)
|
||||
((cam-entity entity-camera :offset-assert 128)
|
||||
(num-entities int32 :offset-assert 132)
|
||||
@@ -245,6 +274,7 @@
|
||||
)
|
||||
)
|
||||
|
||||
;; definition for method 3 of type cam-layout
|
||||
(defmethod inspect cam-layout ((obj cam-layout))
|
||||
(when (not obj)
|
||||
(set! obj obj)
|
||||
@@ -265,6 +295,9 @@
|
||||
obj
|
||||
)
|
||||
|
||||
;; definition for function cam-layout-print
|
||||
;; WARN: Failed store: (s.w! (+ v1-6 8) 0) at op 22
|
||||
;; WARN: Failed store: (s.w! (+ v1-6 12) 0) at op 23
|
||||
(defun cam-layout-print ((arg0 int) (arg1 int) (arg2 string))
|
||||
(with-dma-buffer-add-bucket ((s5-0 (-> *display* frames (-> *display* on-screen) debug-buf))
|
||||
(bucket-id debug2)
|
||||
@@ -273,6 +306,7 @@
|
||||
)
|
||||
)
|
||||
|
||||
;; definition for function cam-layout-intersect-dist
|
||||
(defun cam-layout-intersect-dist ((arg0 vector) (arg1 vector) (arg2 vector))
|
||||
(let ((f0-1 (vector-dot arg1 arg0))
|
||||
(f1-1 (vector-dot arg2 arg0))
|
||||
@@ -284,6 +318,44 @@
|
||||
)
|
||||
)
|
||||
|
||||
;; definition for function cam-layout-entity-volume-info-create
|
||||
;; INFO: Used lq/sq
|
||||
;; WARN: Stack slot offset 164 signed mismatch
|
||||
;; WARN: Stack slot offset 164 signed mismatch
|
||||
;; WARN: Stack slot offset 164 signed mismatch
|
||||
;; WARN: Stack slot offset 164 signed mismatch
|
||||
;; WARN: Stack slot offset 164 signed mismatch
|
||||
;; WARN: Stack slot offset 164 signed mismatch
|
||||
;; WARN: Stack slot offset 164 signed mismatch
|
||||
;; WARN: Stack slot offset 164 signed mismatch
|
||||
;; WARN: Stack slot offset 164 signed mismatch
|
||||
;; WARN: Stack slot offset 164 signed mismatch
|
||||
;; WARN: Stack slot offset 164 signed mismatch
|
||||
;; WARN: Stack slot offset 164 signed mismatch
|
||||
;; WARN: Stack slot offset 164 signed mismatch
|
||||
;; WARN: Stack slot offset 164 signed mismatch
|
||||
;; WARN: Stack slot offset 164 signed mismatch
|
||||
;; WARN: Stack slot offset 164 signed mismatch
|
||||
;; WARN: Stack slot offset 164 signed mismatch
|
||||
;; WARN: Stack slot offset 164 signed mismatch
|
||||
;; WARN: Stack slot offset 164 signed mismatch
|
||||
;; WARN: Stack slot offset 164 signed mismatch
|
||||
;; WARN: Stack slot offset 164 signed mismatch
|
||||
;; WARN: Stack slot offset 164 signed mismatch
|
||||
;; WARN: Stack slot offset 164 signed mismatch
|
||||
;; WARN: Stack slot offset 164 signed mismatch
|
||||
;; WARN: Stack slot offset 164 signed mismatch
|
||||
;; WARN: Stack slot offset 164 signed mismatch
|
||||
;; WARN: Stack slot offset 164 signed mismatch
|
||||
;; WARN: Stack slot offset 164 signed mismatch
|
||||
;; WARN: Stack slot offset 164 signed mismatch
|
||||
;; WARN: Stack slot offset 164 signed mismatch
|
||||
;; WARN: Stack slot offset 164 signed mismatch
|
||||
;; WARN: Stack slot offset 164 signed mismatch
|
||||
;; WARN: Stack slot offset 164 signed mismatch
|
||||
;; WARN: Stack slot offset 164 signed mismatch
|
||||
;; WARN: Stack slot offset 164 signed mismatch
|
||||
;; WARN: new jak 2 until loop case, check carefully
|
||||
(defbehavior cam-layout-entity-volume-info-create cam-layout ((arg0 entity-camera) (arg1 symbol))
|
||||
(local-vars
|
||||
(sv-16 res-tag)
|
||||
@@ -460,6 +532,7 @@
|
||||
#f
|
||||
)
|
||||
|
||||
;; definition for function cam-layout-entity-volume-info
|
||||
(defbehavior cam-layout-entity-volume-info cam-layout ()
|
||||
(dotimes (gp-0 (-> self num-volumes))
|
||||
(cond
|
||||
@@ -505,6 +578,8 @@
|
||||
#f
|
||||
)
|
||||
|
||||
;; definition for function v-slrp!
|
||||
;; INFO: Used lq/sq
|
||||
(defun v-slrp! ((arg0 vector) (arg1 vector) (arg2 vector) (arg3 float))
|
||||
(let ((s2-0 (new-stack-vector0))
|
||||
(s1-0 (new-stack-vector0))
|
||||
@@ -534,6 +609,7 @@
|
||||
)
|
||||
)
|
||||
|
||||
;; definition of type interp-test-info
|
||||
(deftype interp-test-info (structure)
|
||||
((from vector :inline :offset-assert 0)
|
||||
(to vector :inline :offset-assert 16)
|
||||
@@ -547,6 +623,7 @@
|
||||
:flag-assert #x90000003c
|
||||
)
|
||||
|
||||
;; definition for method 3 of type interp-test-info
|
||||
(defmethod inspect interp-test-info ((obj interp-test-info))
|
||||
(when (not obj)
|
||||
(set! obj obj)
|
||||
@@ -563,6 +640,8 @@
|
||||
obj
|
||||
)
|
||||
|
||||
;; definition for function interp-test
|
||||
;; INFO: Used lq/sq
|
||||
(defun interp-test ((arg0 (function vector vector vector float vector float none)) (arg1 interp-test-info))
|
||||
(let ((s3-0 (new-stack-vector0))
|
||||
(s5-0 (new-stack-vector0))
|
||||
@@ -584,6 +663,8 @@
|
||||
(none)
|
||||
)
|
||||
|
||||
;; definition for function interp-test-deg
|
||||
;; INFO: Used lq/sq
|
||||
(defun interp-test-deg ((arg0 (function vector vector vector vector float none)) (arg1 interp-test-info))
|
||||
(let ((s3-0 (new-stack-vector0))
|
||||
(s5-0 (new-stack-vector0))
|
||||
@@ -605,6 +686,9 @@
|
||||
(none)
|
||||
)
|
||||
|
||||
;; definition for function cam-layout-entity-info
|
||||
;; INFO: Used lq/sq
|
||||
;; WARN: Function cam-layout-entity-info has a return type of none, but the expression builder found a return statement.
|
||||
(defun cam-layout-entity-info ((arg0 entity-actor))
|
||||
(if (not arg0)
|
||||
(return #f)
|
||||
@@ -865,6 +949,7 @@
|
||||
(none)
|
||||
)
|
||||
|
||||
;; definition for function clmf-button-test
|
||||
(defun clmf-button-test ()
|
||||
"Displays the message `button test`"
|
||||
(cam-layout-print 16 *camera-layout-message-ypos* "button test")
|
||||
@@ -873,6 +958,7 @@
|
||||
#f
|
||||
)
|
||||
|
||||
;; definition for function clmf-bna
|
||||
(defun clmf-bna ()
|
||||
"Displays the message `button not available`"
|
||||
(cam-layout-print 16 *camera-layout-message-ypos* "button not applicable")
|
||||
@@ -881,6 +967,7 @@
|
||||
#t
|
||||
)
|
||||
|
||||
;; definition for function clmf-implement
|
||||
(defun clmf-implement ()
|
||||
"Displays the message `button not implemented yet`"
|
||||
(cam-layout-print 16 *camera-layout-message-ypos* "button not implemented yet")
|
||||
@@ -889,6 +976,8 @@
|
||||
#t
|
||||
)
|
||||
|
||||
;; definition for function clmf-input
|
||||
;; INFO: Used lq/sq
|
||||
(defun clmf-input ((arg0 vector) (arg1 vector) (arg2 int))
|
||||
(vector-reset! arg0)
|
||||
(vector-reset! arg1)
|
||||
@@ -935,6 +1024,8 @@
|
||||
arg1
|
||||
)
|
||||
|
||||
;; definition for function clmf-pos-rot
|
||||
;; INFO: Used lq/sq
|
||||
(defbehavior clmf-pos-rot cam-layout ((arg0 symbol) (arg1 symbol))
|
||||
(local-vars (s2-0 structure) (s3-1 vector) (sv-192 matrix))
|
||||
(cam-layout-print 16 *camera-layout-message-ypos* "x/z pos: left stick, down: l1, up: r1")
|
||||
@@ -1043,6 +1134,7 @@
|
||||
#t
|
||||
)
|
||||
|
||||
;; definition for function clmf-next-volume
|
||||
(defbehavior clmf-next-volume cam-layout ((arg0 int))
|
||||
(if (zero? (-> self num-volumes))
|
||||
(return #f)
|
||||
@@ -1054,6 +1146,7 @@
|
||||
#t
|
||||
)
|
||||
|
||||
;; definition for function clmf-next-vol-dpad
|
||||
(defun clmf-next-vol-dpad ()
|
||||
(local-vars (a0-1 int))
|
||||
(cam-layout-print 16 *camera-layout-message-ypos* "dpad selects volume")
|
||||
@@ -1080,14 +1173,17 @@
|
||||
#t
|
||||
)
|
||||
|
||||
;; definition for function clmf-to-edit-cam
|
||||
(defun clmf-to-edit-cam ()
|
||||
(clmf-next-volume 0)
|
||||
(set! *clm* *clm-edit*)
|
||||
#t
|
||||
)
|
||||
|
||||
;; definition for symbol *last-cur-entity*, type int
|
||||
(define *last-cur-entity* -1)
|
||||
|
||||
;; definition for function clmf-next-entity
|
||||
(defbehavior clmf-next-entity cam-layout ((arg0 int))
|
||||
(let ((v1-0 (/ arg0 8)))
|
||||
(when (zero? (-> self num-entities))
|
||||
@@ -1142,38 +1238,46 @@
|
||||
#t
|
||||
)
|
||||
|
||||
;; definition for function clmf-to-spline-attr
|
||||
(defun clmf-to-spline-attr ()
|
||||
(set! *clm* *clm-spline-attr*)
|
||||
#t
|
||||
)
|
||||
|
||||
;; definition for function clmf-to-intro-attr
|
||||
(defun clmf-to-intro-attr ()
|
||||
(set! *clm* *clm-intro-attr*)
|
||||
#t
|
||||
)
|
||||
|
||||
;; definition for function clmf-to-index-attr
|
||||
(defun clmf-to-index-attr ()
|
||||
(set! *clm* *clm-index-attr*)
|
||||
#t
|
||||
)
|
||||
|
||||
;; definition for function clmf-to-focalpull-attr
|
||||
(defun clmf-to-focalpull-attr ()
|
||||
(set! *clm* *clm-focalpull-attr*)
|
||||
#t
|
||||
)
|
||||
|
||||
;; definition for function clmf-to-edit
|
||||
(defbehavior clmf-to-edit cam-layout ()
|
||||
(set! (-> self res-key) -1000000000.0)
|
||||
(set! *clm* *clm-edit*)
|
||||
#t
|
||||
)
|
||||
|
||||
;; definition for function clmf-to-select
|
||||
(defun clmf-to-select ()
|
||||
(set! *camera-layout-blink* #f)
|
||||
(set! *clm* *clm-select*)
|
||||
#t
|
||||
)
|
||||
|
||||
;; definition for function clmf-look-through
|
||||
;; INFO: Used lq/sq
|
||||
(defbehavior clmf-look-through cam-layout ()
|
||||
(set! (-> *camera-other-fov* data) (cam-slave-get-fov (-> self cam-entity)))
|
||||
(cam-slave-get-vector-with-offset (the-as entity-actor (-> self cam-entity)) *camera-other-trans* 'trans)
|
||||
@@ -1184,6 +1288,7 @@
|
||||
#f
|
||||
)
|
||||
|
||||
;; definition for function fov->maya
|
||||
(defun fov->maya ((arg0 float))
|
||||
(if (= arg0 0.0)
|
||||
0.0
|
||||
@@ -1191,6 +1296,8 @@
|
||||
)
|
||||
)
|
||||
|
||||
;; definition for function cam-layout-save-cam-rot
|
||||
;; WARN: Return type mismatch object vs none.
|
||||
(defun cam-layout-save-cam-rot ((arg0 symbol) (arg1 string) (arg2 entity-actor))
|
||||
(let ((s3-0 (-> arg2 quat))
|
||||
(s5-0 (res-lump-struct arg2 'rot-offset vector))
|
||||
@@ -1215,6 +1322,9 @@
|
||||
(none)
|
||||
)
|
||||
|
||||
;; definition for function cam-layout-save-cam-trans
|
||||
;; INFO: Used lq/sq
|
||||
;; WARN: Return type mismatch object vs none.
|
||||
(defun cam-layout-save-cam-trans ((arg0 symbol) (arg1 string) (arg2 entity-actor))
|
||||
(let ((s1-0 (-> arg2 trans))
|
||||
(s5-0 (method-of-type res-lump get-property-struct))
|
||||
@@ -1284,6 +1394,9 @@
|
||||
(none)
|
||||
)
|
||||
|
||||
;; definition for function cam-layout-save-pivot
|
||||
;; INFO: Used lq/sq
|
||||
;; WARN: Return type mismatch object vs none.
|
||||
(defun cam-layout-save-pivot ((arg0 symbol) (arg1 string) (arg2 entity-actor))
|
||||
(let ((s2-0 (res-lump-struct arg2 'pivot vector))
|
||||
(s4-0 (method-of-type res-lump get-property-struct))
|
||||
@@ -1329,6 +1442,9 @@
|
||||
(none)
|
||||
)
|
||||
|
||||
;; definition for function cam-layout-save-align
|
||||
;; INFO: Used lq/sq
|
||||
;; WARN: Return type mismatch object vs none.
|
||||
(defun cam-layout-save-align ((arg0 symbol) (arg1 string) (arg2 entity-actor))
|
||||
(let ((s2-0 (res-lump-struct arg2 'align vector))
|
||||
(s4-0 (method-of-type res-lump get-property-struct))
|
||||
@@ -1374,6 +1490,9 @@
|
||||
(none)
|
||||
)
|
||||
|
||||
;; definition for function cam-layout-save-interesting
|
||||
;; INFO: Used lq/sq
|
||||
;; WARN: Return type mismatch object vs none.
|
||||
(defun cam-layout-save-interesting ((arg0 symbol) (arg1 string) (arg2 entity-actor))
|
||||
(let ((s2-0 (res-lump-struct arg2 'interesting vector))
|
||||
(s4-0 (method-of-type res-lump get-property-struct))
|
||||
@@ -1419,6 +1538,8 @@
|
||||
(none)
|
||||
)
|
||||
|
||||
;; definition for function cam-layout-save-fov
|
||||
;; WARN: Return type mismatch object vs none.
|
||||
(defun cam-layout-save-fov ((arg0 symbol) (arg1 string) (arg2 entity-actor))
|
||||
(let ((f28-0 (res-lump-float arg2 'fov))
|
||||
(s3-0 (method-of-type res-lump get-property-value-float))
|
||||
@@ -1458,6 +1579,8 @@
|
||||
(none)
|
||||
)
|
||||
|
||||
;; definition for function cam-layout-save-focalpull
|
||||
;; WARN: Return type mismatch object vs none.
|
||||
(defun cam-layout-save-focalpull ((arg0 symbol) (arg1 string) (arg2 entity-actor))
|
||||
(let ((f30-0 (res-lump-float arg2 'focalPull))
|
||||
(s3-0 (method-of-type res-lump get-property-value-float))
|
||||
@@ -1489,6 +1612,8 @@
|
||||
(none)
|
||||
)
|
||||
|
||||
;; definition for function cam-layout-save-flags
|
||||
;; WARN: Return type mismatch object vs none.
|
||||
(defun cam-layout-save-flags ((arg0 symbol) (arg1 string) (arg2 entity-actor))
|
||||
(let ((s4-0 (res-lump-value arg2 'flags uint128 :time -1000000000.0))
|
||||
(s5-0 (method-of-type res-lump get-property-value))
|
||||
@@ -1543,6 +1668,8 @@
|
||||
(none)
|
||||
)
|
||||
|
||||
;; definition for function cam-layout-save-focalpull-flags
|
||||
;; WARN: Return type mismatch object vs none.
|
||||
(defun cam-layout-save-focalpull-flags ((arg0 symbol) (arg1 string) (arg2 entity-actor))
|
||||
(let ((s4-0 (res-lump-value arg2 'focalpull-flags uint128 :time -1000000000.0))
|
||||
(s5-0 (method-of-type res-lump get-property-value))
|
||||
@@ -1597,6 +1724,8 @@
|
||||
(none)
|
||||
)
|
||||
|
||||
;; definition for function cam-layout-save-campoints-flags
|
||||
;; WARN: Return type mismatch object vs none.
|
||||
(defun cam-layout-save-campoints-flags ((arg0 symbol) (arg1 string) (arg2 entity-actor))
|
||||
(let ((s4-0 (res-lump-value arg2 'campoints-flags uint128 :time -1000000000.0))
|
||||
(s5-0 (method-of-type res-lump get-property-value))
|
||||
@@ -1651,6 +1780,8 @@
|
||||
(none)
|
||||
)
|
||||
|
||||
;; definition for function cam-layout-save-introsplinetime
|
||||
;; WARN: Return type mismatch object vs none.
|
||||
(defun cam-layout-save-introsplinetime ((arg0 symbol) (arg1 string) (arg2 entity-actor))
|
||||
(let ((f28-0 (res-lump-float arg2 'intro-time))
|
||||
(s3-0 (method-of-type res-lump get-property-value-float))
|
||||
@@ -1690,6 +1821,8 @@
|
||||
(none)
|
||||
)
|
||||
|
||||
;; definition for function cam-layout-save-introsplineexitval
|
||||
;; WARN: Return type mismatch object vs none.
|
||||
(defun cam-layout-save-introsplineexitval ((arg0 symbol) (arg1 string) (arg2 entity-actor))
|
||||
(let ((f30-0 (res-lump-float arg2 'intro-exitValue))
|
||||
(s3-0 (method-of-type res-lump get-property-value-float))
|
||||
@@ -1724,6 +1857,8 @@
|
||||
(none)
|
||||
)
|
||||
|
||||
;; definition for function cam-layout-save-interptime
|
||||
;; WARN: Return type mismatch object vs none.
|
||||
(defun cam-layout-save-interptime ((arg0 symbol) (arg1 string) (arg2 entity-actor))
|
||||
(let ((f30-0 (res-lump-float arg2 'interpTime))
|
||||
(s3-0 (method-of-type res-lump get-property-value-float))
|
||||
@@ -1755,6 +1890,8 @@
|
||||
(none)
|
||||
)
|
||||
|
||||
;; definition for function cam-layout-save-splineoffset
|
||||
;; WARN: Return type mismatch object vs none.
|
||||
(defun cam-layout-save-splineoffset ((arg0 symbol) (arg1 string) (arg2 entity-actor))
|
||||
(when (and (not (res-lump-struct arg2 'pivot structure)) (res-lump-struct arg2 'spline-offset structure))
|
||||
(let ((s5-1 (res-lump-struct arg2 'spline-offset vector)))
|
||||
@@ -1775,6 +1912,8 @@
|
||||
(none)
|
||||
)
|
||||
|
||||
;; definition for function cam-layout-save-spline-follow-dist-offset
|
||||
;; WARN: Return type mismatch object vs none.
|
||||
(defun cam-layout-save-spline-follow-dist-offset ((arg0 symbol) (arg1 string) (arg2 entity-actor))
|
||||
(let ((f30-0 (res-lump-float arg2 'spline-follow-dist-offset)))
|
||||
(when (the int f30-0)
|
||||
@@ -1787,6 +1926,8 @@
|
||||
(none)
|
||||
)
|
||||
|
||||
;; definition for function cam-layout-save-campointsoffset
|
||||
;; WARN: Return type mismatch object vs none.
|
||||
(defun cam-layout-save-campointsoffset ((arg0 symbol) (arg1 string) (arg2 entity-actor))
|
||||
(let ((s5-0 (res-lump-struct arg2 'campoints-offset vector)))
|
||||
(when s5-0
|
||||
@@ -1805,6 +1946,8 @@
|
||||
(none)
|
||||
)
|
||||
|
||||
;; definition for function cam-layout-save-tiltAdjust
|
||||
;; WARN: Return type mismatch object vs none.
|
||||
(defun cam-layout-save-tiltAdjust ((arg0 symbol) (arg1 string) (arg2 entity-actor))
|
||||
(let ((f30-0 (res-lump-float arg2 'tiltAdjust))
|
||||
(s3-0 (method-of-type res-lump get-property-value-float))
|
||||
@@ -1836,6 +1979,8 @@
|
||||
(none)
|
||||
)
|
||||
|
||||
;; definition for function cam-layout-save-stringMinLength
|
||||
;; WARN: Return type mismatch object vs none.
|
||||
(defun cam-layout-save-stringMinLength ((arg0 symbol) (arg1 string) (arg2 entity-actor))
|
||||
(let ((f30-0 (res-lump-float arg2 'stringMinLength))
|
||||
(s3-0 (method-of-type res-lump get-property-value-float))
|
||||
@@ -1867,6 +2012,8 @@
|
||||
(none)
|
||||
)
|
||||
|
||||
;; definition for function cam-layout-save-stringMaxLength
|
||||
;; WARN: Return type mismatch object vs none.
|
||||
(defun cam-layout-save-stringMaxLength ((arg0 symbol) (arg1 string) (arg2 entity-actor))
|
||||
(let ((f30-0 (res-lump-float arg2 'stringMaxLength))
|
||||
(s3-0 (method-of-type res-lump get-property-value-float))
|
||||
@@ -1898,6 +2045,8 @@
|
||||
(none)
|
||||
)
|
||||
|
||||
;; definition for function cam-layout-save-stringMinHeight
|
||||
;; WARN: Return type mismatch object vs none.
|
||||
(defun cam-layout-save-stringMinHeight ((arg0 symbol) (arg1 string) (arg2 entity-actor))
|
||||
(let ((f30-0 (res-lump-float arg2 'stringMinHeight))
|
||||
(s3-0 (method-of-type res-lump get-property-value-float))
|
||||
@@ -1929,6 +2078,8 @@
|
||||
(none)
|
||||
)
|
||||
|
||||
;; definition for function cam-layout-save-stringMaxHeight
|
||||
;; WARN: Return type mismatch object vs none.
|
||||
(defun cam-layout-save-stringMaxHeight ((arg0 symbol) (arg1 string) (arg2 entity-actor))
|
||||
(let ((f30-0 (res-lump-float arg2 'stringMaxHeight))
|
||||
(s3-0 (method-of-type res-lump get-property-value-float))
|
||||
@@ -1960,6 +2111,8 @@
|
||||
(none)
|
||||
)
|
||||
|
||||
;; definition for function cam-layout-save-stringCliffHeight
|
||||
;; WARN: Return type mismatch object vs none.
|
||||
(defun cam-layout-save-stringCliffHeight ((arg0 symbol) (arg1 string) (arg2 entity-actor))
|
||||
(let ((f30-0 (res-lump-float arg2 'stringCliffHeight))
|
||||
(s3-0 (method-of-type res-lump get-property-value-float))
|
||||
@@ -1991,6 +2144,8 @@
|
||||
(none)
|
||||
)
|
||||
|
||||
;; definition for function cam-layout-save-maxAngle
|
||||
;; WARN: Return type mismatch object vs none.
|
||||
(defun cam-layout-save-maxAngle ((arg0 symbol) (arg1 string) (arg2 entity-actor))
|
||||
(let ((f30-0 (res-lump-float arg2 'maxAngle))
|
||||
(s3-0 (method-of-type res-lump get-property-value-float))
|
||||
@@ -2022,6 +2177,7 @@
|
||||
(none)
|
||||
)
|
||||
|
||||
;; definition for function clmf-save-single
|
||||
(defbehavior clmf-save-single cam-layout ((arg0 entity-camera) (arg1 symbol) (arg2 symbol))
|
||||
(clear *temp-string*)
|
||||
(if arg2
|
||||
@@ -2062,6 +2218,7 @@
|
||||
)
|
||||
)
|
||||
|
||||
;; definition for function clmf-save-one
|
||||
(defbehavior clmf-save-one cam-layout ((arg0 symbol))
|
||||
(let ((s5-1 (logtest? (the-as int arg0) 8))
|
||||
(gp-1 (logtest? (the-as int arg0) 16))
|
||||
@@ -2080,6 +2237,7 @@
|
||||
#t
|
||||
)
|
||||
|
||||
;; definition for function clmf-save-all
|
||||
(defbehavior clmf-save-all cam-layout ((arg0 symbol))
|
||||
(let ((s5-1 (logtest? (the-as int arg0) 8))
|
||||
(gp-1 (logtest? (the-as int arg0) 16))
|
||||
@@ -2110,6 +2268,7 @@
|
||||
#t
|
||||
)
|
||||
|
||||
;; definition of type clmf-cam-flag-toggle-info
|
||||
(deftype clmf-cam-flag-toggle-info (structure)
|
||||
((key float :offset-assert 0)
|
||||
(force-on int32 :offset-assert 4)
|
||||
@@ -2120,6 +2279,7 @@
|
||||
:flag-assert #x90000000c
|
||||
)
|
||||
|
||||
;; definition for method 3 of type clmf-cam-flag-toggle-info
|
||||
(defmethod inspect clmf-cam-flag-toggle-info ((obj clmf-cam-flag-toggle-info))
|
||||
(when (not obj)
|
||||
(set! obj obj)
|
||||
@@ -2133,6 +2293,7 @@
|
||||
obj
|
||||
)
|
||||
|
||||
;; definition for function clmf-cam-flag-toggle
|
||||
(defbehavior clmf-cam-flag-toggle cam-layout ((arg0 int) (arg1 int))
|
||||
(let ((s4-0 (/ arg0 8))
|
||||
(gp-0 (new 'stack 'clmf-cam-flag-toggle-info))
|
||||
@@ -2256,6 +2417,7 @@
|
||||
#t
|
||||
)
|
||||
|
||||
;; definition for function clmf-cam-flag
|
||||
(defbehavior clmf-cam-flag cam-layout ((arg0 string) (arg1 uint) (arg2 uint))
|
||||
(let ((s5-0 (/ (the-as int arg1) 8))
|
||||
(f30-0 (-> self res-key))
|
||||
@@ -2329,6 +2491,7 @@
|
||||
#t
|
||||
)
|
||||
|
||||
;; definition for function clmf-cam-float-adjust
|
||||
(defbehavior clmf-cam-float-adjust cam-layout ((arg0 symbol) (arg1 (pointer float)))
|
||||
(cam-layout-print 16 *camera-layout-message-ypos* "left stick adjusts value")
|
||||
(set! *camera-layout-message-ypos* (+ *camera-layout-message-ypos* 14))
|
||||
@@ -2354,6 +2517,7 @@
|
||||
#t
|
||||
)
|
||||
|
||||
;; definition for function clmf-cam-meters
|
||||
(defbehavior clmf-cam-meters cam-layout ((arg0 meters) (arg1 symbol))
|
||||
(let ((f0-0 (cam-slave-get-float (-> self cam-entity) arg1 0.0)))
|
||||
(format arg0 ": ~M" f0-0)
|
||||
@@ -2361,16 +2525,19 @@
|
||||
#t
|
||||
)
|
||||
|
||||
;; definition for function clmf-cam-fov
|
||||
(defbehavior clmf-cam-fov cam-layout ((arg0 degrees) (arg1 symbol))
|
||||
(format arg0 ": ~R" (cam-slave-get-fov (-> self cam-entity)))
|
||||
#t
|
||||
)
|
||||
|
||||
;; definition for function clmf-cam-deg
|
||||
(defbehavior clmf-cam-deg cam-layout ((arg0 degrees) (arg1 symbol))
|
||||
(format arg0 ": ~R" (cam-slave-get-float (-> self cam-entity) arg1 0.0))
|
||||
#t
|
||||
)
|
||||
|
||||
;; definition for function clmf-cam-intro-time
|
||||
(defbehavior clmf-cam-intro-time cam-layout ((arg0 float) (arg1 symbol))
|
||||
(let ((f30-0 (cam-slave-get-intro-step (-> self cam-entity))))
|
||||
(format arg0 ": ~f" (/ 0.016666668 f30-0))
|
||||
@@ -2379,16 +2546,20 @@
|
||||
#t
|
||||
)
|
||||
|
||||
;; definition for function clmf-cam-interp-time
|
||||
(defbehavior clmf-cam-interp-time cam-layout ((arg0 float) (arg1 symbol))
|
||||
(format arg0 ": ~f" (cam-slave-get-interp-time (-> self cam-entity)))
|
||||
#t
|
||||
)
|
||||
|
||||
;; definition for function clmf-cam-float
|
||||
(defbehavior clmf-cam-float cam-layout ((arg0 float) (arg1 symbol))
|
||||
(format arg0 ": ~f" (cam-slave-get-float (-> self cam-entity) arg1 0.0))
|
||||
#t
|
||||
)
|
||||
|
||||
;; definition for function clmf-cam-string
|
||||
;; INFO: Used lq/sq
|
||||
(defbehavior clmf-cam-string cam-layout ((arg0 string) (arg1 symbol))
|
||||
(local-vars (r0-0 uint128) (v1-5 uint128) (sv-16 int))
|
||||
(format arg0 ":")
|
||||
@@ -2411,6 +2582,7 @@
|
||||
#t
|
||||
)
|
||||
|
||||
;; definition for symbol *clm-focalpull-attr*, type clm
|
||||
(define *clm-focalpull-attr*
|
||||
(new 'static 'clm
|
||||
:title "---focalpull attributes--"
|
||||
@@ -2465,6 +2637,7 @@
|
||||
)
|
||||
)
|
||||
|
||||
;; definition for symbol *clm-index-attr*, type clm
|
||||
(define *clm-index-attr*
|
||||
(new 'static 'clm
|
||||
:title "---index attributes--"
|
||||
@@ -2519,6 +2692,7 @@
|
||||
)
|
||||
)
|
||||
|
||||
;; definition for symbol *clm-intro-attr*, type clm
|
||||
(define *clm-intro-attr*
|
||||
(new 'static 'clm
|
||||
:title "---intro attributes--"
|
||||
@@ -2569,6 +2743,7 @@
|
||||
)
|
||||
)
|
||||
|
||||
;; definition for symbol *clm-spline-attr*, type clm
|
||||
(define *clm-spline-attr*
|
||||
(new 'static 'clm
|
||||
:title "---spline attributes--"
|
||||
@@ -2605,6 +2780,7 @@
|
||||
)
|
||||
)
|
||||
|
||||
;; definition for symbol *clm-cam-attr*, type clm
|
||||
(define *clm-cam-attr*
|
||||
(new 'static 'clm
|
||||
:title "---camera attributes--"
|
||||
@@ -2906,6 +3082,7 @@
|
||||
)
|
||||
)
|
||||
|
||||
;; definition for symbol *clm-cam-lookthrough*, type clm
|
||||
(define *clm-cam-lookthrough*
|
||||
(new 'static 'clm
|
||||
:title "---cam-lookthrough---"
|
||||
@@ -2958,6 +3135,7 @@
|
||||
)
|
||||
)
|
||||
|
||||
;; definition for symbol *clm-edit*, type clm
|
||||
(define *clm-edit*
|
||||
(new 'static 'clm
|
||||
:title "---edit---"
|
||||
@@ -3089,6 +3267,7 @@
|
||||
)
|
||||
)
|
||||
|
||||
;; definition for symbol *clm-save-all*, type clm
|
||||
(define *clm-save-all*
|
||||
(new 'static 'clm
|
||||
:title "---save all?---"
|
||||
@@ -3112,6 +3291,7 @@
|
||||
)
|
||||
)
|
||||
|
||||
;; definition for symbol *clm-save-one*, type clm
|
||||
(define *clm-save-one*
|
||||
(new 'static 'clm
|
||||
:title "---single save?---"
|
||||
@@ -3135,6 +3315,7 @@
|
||||
)
|
||||
)
|
||||
|
||||
;; definition for symbol *clm-select*, type clm
|
||||
(define *clm-select*
|
||||
(new 'static 'clm
|
||||
:title "---camera---"
|
||||
@@ -3178,8 +3359,10 @@
|
||||
)
|
||||
)
|
||||
|
||||
;; definition for symbol *clm*, type clm
|
||||
(define *clm* *clm-select*)
|
||||
|
||||
;; definition for function cam-layout-do-action
|
||||
(defbehavior cam-layout-do-action cam-layout ((arg0 clm-item-action))
|
||||
(let ((s5-0 (-> arg0 func value)))
|
||||
(cond
|
||||
@@ -3224,6 +3407,7 @@
|
||||
)
|
||||
)
|
||||
|
||||
;; definition for function cam-layout-function-call
|
||||
(defbehavior cam-layout-function-call cam-layout ((arg0 symbol) (arg1 string) (arg2 int) (arg3 basic))
|
||||
(let ((gp-0 (-> arg0 value)))
|
||||
(cond
|
||||
@@ -3239,6 +3423,7 @@
|
||||
#f
|
||||
)
|
||||
|
||||
;; definition for function cam-layout-do-menu
|
||||
(defbehavior cam-layout-do-menu cam-layout ((arg0 clm))
|
||||
(set! *camera-layout-message-ypos* 30)
|
||||
(+! (-> *CAM_LAYOUT-bank* spline-t) (-> *CAM_LAYOUT-bank* spline-step))
|
||||
@@ -3384,6 +3569,7 @@
|
||||
#f
|
||||
)
|
||||
|
||||
;; failed to figure out what this is:
|
||||
(defstate cam-layout-active (cam-layout)
|
||||
:code (behavior ()
|
||||
(until #f
|
||||
@@ -3396,6 +3582,7 @@
|
||||
)
|
||||
)
|
||||
|
||||
;; definition for function cam-layout-init
|
||||
(defbehavior cam-layout-init cam-layout ()
|
||||
(set! (-> self res-key) -1000000000.0)
|
||||
(set! (-> self num-entities) 0)
|
||||
@@ -3417,11 +3604,13 @@
|
||||
(go cam-layout-active)
|
||||
)
|
||||
|
||||
;; definition for function cam-layout-stop
|
||||
(defun cam-layout-stop ()
|
||||
(set! *cam-layout* #f)
|
||||
(kill-by-name "cam-layout" *active-pool*)
|
||||
)
|
||||
|
||||
;; definition for function cam-layout-start
|
||||
(defun cam-layout-start ()
|
||||
(let ((a0-1 (new 'global 'file-stream "dd_next/caminfo/garbage" 'read)))
|
||||
(file-stream-close a0-1)
|
||||
@@ -3448,6 +3637,7 @@
|
||||
*cam-layout*
|
||||
)
|
||||
|
||||
;; definition for function cam-layout-restart
|
||||
(defun cam-layout-restart ()
|
||||
(cam-layout-stop)
|
||||
(cam-layout-start)
|
||||
|
||||
+39
-13
@@ -1,5 +1,7 @@
|
||||
;;-*-Lisp-*-
|
||||
(in-package goal)
|
||||
|
||||
;; definition of type fact-bank
|
||||
(deftype fact-bank (basic)
|
||||
((eco-level-max float :offset-assert 4)
|
||||
(eco-single-inc float :offset-assert 8)
|
||||
@@ -41,6 +43,7 @@
|
||||
:flag-assert #x9000000a0
|
||||
)
|
||||
|
||||
;; definition for method 3 of type fact-bank
|
||||
(defmethod inspect fact-bank ((obj fact-bank))
|
||||
(when (not obj)
|
||||
(set! obj obj)
|
||||
@@ -85,6 +88,7 @@
|
||||
obj
|
||||
)
|
||||
|
||||
;; definition for symbol *FACT-bank*, type fact-bank
|
||||
(define *FACT-bank* (new 'static 'fact-bank
|
||||
:eco-level-max 2.0
|
||||
:eco-single-inc 1.0
|
||||
@@ -121,6 +125,7 @@
|
||||
)
|
||||
)
|
||||
|
||||
;; definition for function pickup-type->string
|
||||
(defun pickup-type->string ((arg0 pickup-type))
|
||||
(case arg0
|
||||
(((pickup-type eco-pill-dark))
|
||||
@@ -231,6 +236,7 @@
|
||||
)
|
||||
)
|
||||
|
||||
;; definition of type fact-info
|
||||
(deftype fact-info (basic)
|
||||
((process process :offset-assert 4)
|
||||
(pickup-type pickup-type :offset-assert 8)
|
||||
@@ -250,6 +256,7 @@
|
||||
)
|
||||
)
|
||||
|
||||
;; definition for method 3 of type fact-info
|
||||
(defmethod inspect fact-info ((obj fact-info))
|
||||
(when (not obj)
|
||||
(set! obj obj)
|
||||
@@ -467,6 +474,7 @@
|
||||
obj
|
||||
)
|
||||
|
||||
;; definition of type fact-info-target
|
||||
(deftype fact-info-target (fact-info)
|
||||
((eco-type int32 :offset-assert 40)
|
||||
(eco-level float :offset-assert 44)
|
||||
@@ -512,6 +520,7 @@
|
||||
)
|
||||
)
|
||||
|
||||
;; definition for method 3 of type fact-info-target
|
||||
(defmethod inspect fact-info-target ((obj fact-info-target))
|
||||
(when (not obj)
|
||||
(set! obj obj)
|
||||
@@ -763,19 +772,20 @@
|
||||
obj
|
||||
)
|
||||
|
||||
;; definition of type fact-info-enemy
|
||||
(deftype fact-info-enemy (fact-info)
|
||||
((speed float :offset-assert 40)
|
||||
(idle-distance meters :offset-assert 44)
|
||||
(notice-top meters :offset-assert 48)
|
||||
(notice-bottom meters :offset-assert 52)
|
||||
(cam-horz meters :offset-assert 56)
|
||||
(cam-vert meters :offset-assert 60)
|
||||
(cam-notice-dist meters :offset-assert 64)
|
||||
(enemy-options enemy-option :offset-assert 68)
|
||||
(trig-dist meters :offset-assert 72)
|
||||
(trig-actor-group uint32 :offset-assert 76)
|
||||
(trig-mask-count int8 :offset-assert 80)
|
||||
(trig-mask uint8 2 :offset-assert 81)
|
||||
((speed float :offset-assert 40)
|
||||
(idle-distance meters :offset-assert 44)
|
||||
(notice-top meters :offset-assert 48)
|
||||
(notice-bottom meters :offset-assert 52)
|
||||
(cam-horz meters :offset-assert 56)
|
||||
(cam-vert meters :offset-assert 60)
|
||||
(cam-notice-dist meters :offset-assert 64)
|
||||
(enemy-options enemy-option :offset-assert 68)
|
||||
(trig-dist meters :offset-assert 72)
|
||||
(trig-actor-group (pointer actor-group) :offset-assert 76)
|
||||
(trig-mask-count int8 :offset-assert 80)
|
||||
(trig-mask uint8 2 :offset-assert 81)
|
||||
)
|
||||
:method-count-assert 13
|
||||
:size-assert #x53
|
||||
@@ -786,6 +796,7 @@
|
||||
)
|
||||
)
|
||||
|
||||
;; definition for method 3 of type fact-info-enemy
|
||||
(defmethod inspect fact-info-enemy ((obj fact-info-enemy))
|
||||
(when (not obj)
|
||||
(set! obj obj)
|
||||
@@ -1096,6 +1107,7 @@
|
||||
obj
|
||||
)
|
||||
|
||||
;; definition of type fact-info-crate
|
||||
(deftype fact-info-crate (fact-info)
|
||||
((suck-count int32 :offset-assert 40)
|
||||
)
|
||||
@@ -1107,6 +1119,7 @@
|
||||
)
|
||||
)
|
||||
|
||||
;; definition for method 3 of type fact-info-crate
|
||||
(defmethod inspect fact-info-crate ((obj fact-info-crate))
|
||||
(when (not obj)
|
||||
(set! obj obj)
|
||||
@@ -1325,6 +1338,9 @@
|
||||
obj
|
||||
)
|
||||
|
||||
;; definition for method 0 of type fact-info
|
||||
;; INFO: Used lq/sq
|
||||
;; WARN: Return type mismatch object vs fact-info.
|
||||
(defmethod new fact-info ((allocation symbol) (type-to-make type) (arg0 process) (arg1 pickup-type) (arg2 float))
|
||||
(local-vars (sv-16 fact-info) (sv-20 res-lump) (sv-24 task-mask))
|
||||
(set! sv-16 (object-new allocation type-to-make (the-as int (-> type-to-make size))))
|
||||
@@ -1373,10 +1389,12 @@
|
||||
(the-as fact-info sv-16)
|
||||
)
|
||||
|
||||
;; definition for method 11 of type fact-info
|
||||
(defmethod pickup-collectable! fact-info ((obj fact-info) (arg0 pickup-type) (arg1 float) (arg2 handle))
|
||||
0.0
|
||||
)
|
||||
|
||||
;; definition of type fact-info-enemy-defaults
|
||||
(deftype fact-info-enemy-defaults (basic)
|
||||
((idle-distance meters :offset-assert 4)
|
||||
)
|
||||
@@ -1385,6 +1403,7 @@
|
||||
:flag-assert #x900000008
|
||||
)
|
||||
|
||||
;; definition for method 3 of type fact-info-enemy-defaults
|
||||
(defmethod inspect fact-info-enemy-defaults ((obj fact-info-enemy-defaults))
|
||||
(when (not obj)
|
||||
(set! obj obj)
|
||||
@@ -1396,8 +1415,11 @@
|
||||
obj
|
||||
)
|
||||
|
||||
;; definition for symbol *fact-info-enemy-defaults*, type fact-info-enemy-defaults
|
||||
(define *fact-info-enemy-defaults* (new 'static 'fact-info-enemy-defaults :idle-distance (meters 80)))
|
||||
|
||||
;; definition for method 0 of type fact-info-enemy
|
||||
;; INFO: Used lq/sq
|
||||
(defmethod new fact-info-enemy ((allocation symbol)
|
||||
(type-to-make type)
|
||||
(arg0 process)
|
||||
@@ -1444,7 +1466,7 @@
|
||||
(set! sv-32 (new 'static 'res-tag))
|
||||
(let ((v1-20 (res-lump-data s5-0 'trig-ag pointer :tag-ptr (& sv-32))))
|
||||
(if (and v1-20 (nonzero? (-> sv-32 elt-count)))
|
||||
(set! (-> gp-0 trig-actor-group) (the-as uint v1-20))
|
||||
(set! (-> gp-0 trig-actor-group) (the-as (pointer actor-group) v1-20))
|
||||
(clear-mask-bits gp-0 2)
|
||||
)
|
||||
)
|
||||
@@ -1455,6 +1477,8 @@
|
||||
)
|
||||
)
|
||||
|
||||
;; definition for method 12 of type fact-info-enemy
|
||||
;; WARN: Return type mismatch int vs none.
|
||||
(defmethod clear-mask-bits fact-info-enemy ((obj fact-info-enemy) (arg0 int))
|
||||
(let ((v1-0 (lognot arg0)))
|
||||
(dotimes (a1-1 (-> obj trig-mask-count))
|
||||
@@ -1465,6 +1489,7 @@
|
||||
(none)
|
||||
)
|
||||
|
||||
;; definition for method 0 of type fact-info-crate
|
||||
(defmethod new fact-info-crate ((allocation symbol) (type-to-make type) (arg0 process) (arg1 pickup-type) (arg2 float))
|
||||
(let ((gp-0 (the-as fact-info-crate ((method-of-type fact-info new) allocation type-to-make arg0 arg1 arg2))))
|
||||
(let ((a0-1 (the-as res-lump (-> gp-0 process entity))))
|
||||
@@ -1474,6 +1499,7 @@
|
||||
)
|
||||
)
|
||||
|
||||
;; definition for method 0 of type fact-info-target
|
||||
(defmethod new fact-info-target ((allocation symbol) (type-to-make type) (arg0 process-drawable) (arg1 pickup-type) (arg2 float))
|
||||
(let ((gp-0 (the-as fact-info-target ((method-of-type fact-info new) allocation type-to-make arg0 arg1 arg2))))
|
||||
(set! (-> gp-0 eco-source) (the-as handle #f))
|
||||
|
||||
-4
@@ -70,7 +70,3 @@
|
||||
)
|
||||
(none)
|
||||
)
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
+15
-6
@@ -1,12 +1,14 @@
|
||||
;;-*-Lisp-*-
|
||||
(in-package goal)
|
||||
|
||||
;; definition of type nav-enemy-info
|
||||
(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)
|
||||
(use-frustration symbol :offset-assert 392)
|
||||
(use-stop-chase symbol :offset-assert 396)
|
||||
(use-circling symbol :offset-assert 400)
|
||||
(use-pacing symbol :offset-assert 404)
|
||||
(walk-anim int32 :offset-assert 408)
|
||||
(turn-anim int32 :offset-assert 412)
|
||||
(run-anim int32 :offset-assert 416)
|
||||
@@ -24,7 +26,7 @@
|
||||
(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)
|
||||
(nav-mesh nav-mesh :offset-assert 488)
|
||||
)
|
||||
:method-count-assert 11
|
||||
:size-assert #x1ec
|
||||
@@ -34,6 +36,8 @@
|
||||
)
|
||||
)
|
||||
|
||||
;; definition for method 3 of type nav-enemy-info
|
||||
;; INFO: Used lq/sq
|
||||
(defmethod inspect nav-enemy-info ((obj nav-enemy-info))
|
||||
(when (not obj)
|
||||
(set! obj obj)
|
||||
@@ -149,6 +153,7 @@
|
||||
obj
|
||||
)
|
||||
|
||||
;; definition of type nav-enemy
|
||||
(deftype nav-enemy (enemy)
|
||||
((enemy-info-override nav-enemy-info :offset 216)
|
||||
(frustration-point vector :inline :offset-assert 544)
|
||||
@@ -191,7 +196,7 @@
|
||||
(nav-enemy-method-160 (_type_) none 160)
|
||||
(nav-enemy-method-161 (_type_) none 161)
|
||||
(nav-enemy-method-162 (_type_) none 162)
|
||||
(nav-enemy-method-163 (_type_) none 163)
|
||||
(nav-enemy-method-163 (_type_) symbol 163)
|
||||
(nav-enemy-method-164 (_type_) none 164)
|
||||
(nav-enemy-method-165 (_type_) none 165)
|
||||
(nav-enemy-method-166 (_type_) none 166)
|
||||
@@ -209,6 +214,7 @@
|
||||
)
|
||||
)
|
||||
|
||||
;; definition for method 3 of type nav-enemy
|
||||
(defmethod inspect nav-enemy ((obj nav-enemy))
|
||||
(when (not obj)
|
||||
(set! obj obj)
|
||||
@@ -228,6 +234,7 @@
|
||||
obj
|
||||
)
|
||||
|
||||
;; definition of type nav-enemy-debug-control-info
|
||||
(deftype nav-enemy-debug-control-info (basic)
|
||||
((enable basic :offset-assert 4)
|
||||
(steering float :offset-assert 8)
|
||||
@@ -238,6 +245,7 @@
|
||||
:flag-assert #x900000010
|
||||
)
|
||||
|
||||
;; definition for method 3 of type nav-enemy-debug-control-info
|
||||
(defmethod inspect nav-enemy-debug-control-info ((obj nav-enemy-debug-control-info))
|
||||
(when (not obj)
|
||||
(set! obj obj)
|
||||
@@ -251,4 +259,5 @@
|
||||
obj
|
||||
)
|
||||
|
||||
;; failed to figure out what this is:
|
||||
0
|
||||
|
||||
-4
@@ -1825,7 +1825,3 @@
|
||||
(sp-cpuinfo-flags sp-cpuinfo-flag-2)
|
||||
)
|
||||
)
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
+1515
File diff suppressed because it is too large
Load Diff
+1722
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user