mirror of
https://github.com/open-goal/jak-project
synced 2026-06-09 04:40:19 -04:00
decomp: add a bunch of enemy files (#2101)
Adds the following files: - `amphibian` - `centurion` - `ginsu` - `grenadier` - `hopper` - `metalmonk` - `monster-frog` - `predator-graph` - `predator-h` - `predator` - `rapid-gunner` - `rhino` - `rhino-wall` - `tomb-baby-spider` Also adds the DGOs for the following levels: - Mar's Tomb - Mountain Temple - Drill Platform - Sacred Site (Sage Hut) Manual patches: - The decompiler emits `(b! #t cfg-17)` in `(trans hostile hopper)` without putting a `(label cfg-17)` anywhere - Added cast to `art-joint-anim` in `(code broken rhino-wall)` and `(code hit rhino-wall)` Other notes: - `amphibian` seems to occasionally crash when using its tongue attack. Haven't investigated this yet - `ginsu` crashes after being killed somewhere in the `deactivate` method, possibly because of its `part-spawner` - Predators aren't spawning in the forest hunt mission, not sure if `forest-obs` might be needed for that or if it's something else - The `rhino-wall` STR animation seems to load (albeit a bit broken due to missing VAG stream playback), but causes the viewport to shrink as soon as it's played - I added `pegasus::74` to the `event_handler_hack` bool in `variable_naming.cpp` because I got a `none` cast after changing the return value of `enemy::74`
This commit is contained in:
@@ -735,7 +735,8 @@ void SSA::make_vars(const Function& function, const DecompilerTypeSystem& dts) {
|
||||
if (function.ir2.env.version == GameVersion::Jak2) {
|
||||
event_handler_hack = function.guessed_name.is_event_handler() ||
|
||||
function.guessed_name.to_string() == "target-generic-event-handler" ||
|
||||
function.guessed_name.to_string() == "target-standard-event-handler";
|
||||
function.guessed_name.to_string() == "target-standard-event-handler" ||
|
||||
function.guessed_name.to_string() == "(method 74 pegasus)";
|
||||
}
|
||||
|
||||
for (int block_id = 0; block_id < int(blocks.size()); block_id++) {
|
||||
|
||||
+235
-283
@@ -22756,7 +22756,7 @@
|
||||
(clamp-vector-to-mesh-no-gaps (_type_ vector nav-poly vector clamp-travel-vector-to-mesh-return-info) none 21)
|
||||
(find-first-sphere-and-update-avoid-params (_type_ vector nav-avoid-spheres-params) float 22)
|
||||
(set-spheres-from-nav-ids "Set up spheres from sphere ids previously found by find-sphere-ids-from-sphere-hash" (_type_) none 23)
|
||||
(add-root-sphere-to-hash! "Add our root sphere to the hash (if enabled with output-sphere-hash flag) at the given location." (_type_ vector int) none 24)
|
||||
(add-root-sphere-to-hash! "Add our root sphere to the hash (if enabled with output-sphere-hash flag) at the given location." (_type_ vector int) symbol 24)
|
||||
(get-max-rotation-rate (_type_) float 25)
|
||||
(get-sphere-mask (_type_) uint 26)
|
||||
(get-target-speed (_type_) meters 27)
|
||||
@@ -22879,7 +22879,7 @@
|
||||
(update-from-spheres (_type_) none 28)
|
||||
(sphere-hash-method-29 (_type_ find-nav-sphere-ids-params int int int) none 29)
|
||||
(find-nav-sphere-ids (_type_ find-nav-sphere-ids-params) none 30)
|
||||
(add-sphere-with-mask-and-id (_type_ vector int int) none 31)
|
||||
(add-sphere-with-mask-and-id (_type_ vector int int) symbol 31)
|
||||
(sphere-hash-method-32 (_type_ vector vector float int) symbol 32)
|
||||
(remove-by-id (_type_ sphere int) none 33)
|
||||
)
|
||||
@@ -32623,14 +32623,14 @@
|
||||
(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-58 (_type_ process event-message-block) symbol 58)
|
||||
(enemy-method-59 (_type_) penetrate 59)
|
||||
(coin-flip?
|
||||
"@returns The result of a 50/50 RNG roll"
|
||||
(_type_) symbol 60)
|
||||
(enemy-method-61 (_type_ int) int :behavior enemy 61)
|
||||
(enemy-method-62 (_type_) none 62)
|
||||
(enemy-method-63 (_type_ process-focusable symbol) none 63)
|
||||
(enemy-method-63 (_type_ process-focusable symbol) symbol 63)
|
||||
(enemy-method-64 (_type_) none 64)
|
||||
(enemy-method-65 (_type_) none 65)
|
||||
(go-ambush (_type_) none 66)
|
||||
@@ -32641,7 +32641,7 @@
|
||||
(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-74 (_type_ process object symbol event-message-block) object 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)
|
||||
@@ -36046,14 +36046,15 @@
|
||||
(dest-node-id uint16 :offset-assert 0)
|
||||
(flags predator-edge-flag :offset-assert 2)
|
||||
)
|
||||
:pack-me
|
||||
:flag-assert #x900000004
|
||||
)
|
||||
|
||||
(deftype predator-graph (structure)
|
||||
((node-count uint16 :offset-assert 0)
|
||||
(edge-count uint16 :offset-assert 2)
|
||||
(node uint32 :offset-assert 4)
|
||||
(edge uint32 :offset-assert 8)
|
||||
(node (inline-array predator-node) :offset-assert 4)
|
||||
(edge (inline-array predator-edge) :offset-assert 8)
|
||||
)
|
||||
:method-count-assert 9
|
||||
:size-assert #xc
|
||||
@@ -36065,13 +36066,12 @@
|
||||
;; predator-graph ;;
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
|
||||
;; (define-extern *predator-graph* object)
|
||||
(define-extern *predator-graph* predator-graph)
|
||||
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
;; predator ;;
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
|
||||
#|
|
||||
(deftype predator-shot (metalhead-shot)
|
||||
()
|
||||
:method-count-assert 40
|
||||
@@ -36080,19 +36080,18 @@
|
||||
(:methods
|
||||
)
|
||||
)
|
||||
|#
|
||||
|
||||
(deftype predator (nav-enemy)
|
||||
((los los-control :inline :offset-assert 608)
|
||||
(want-stop basic :offset-assert 756)
|
||||
(want-stop symbol :offset-assert 756)
|
||||
(target-pos vector :inline :offset-assert 768)
|
||||
(curr-node int32 :offset-assert 784)
|
||||
(hide-pos vector :inline :offset-assert 800)
|
||||
(next-change uint64 :offset-assert 816)
|
||||
(shoot-angle float :offset-assert 824)
|
||||
(miss-amount float :offset-assert 828)
|
||||
(ambient-sound-id uint32 :offset-assert 832)
|
||||
(shock-effect-time time-frame :offset-assert 840)
|
||||
(ambient-sound-id sound-id :offset-assert 832)
|
||||
(shock-effect-time time-frame :offset-assert 840)
|
||||
(shock-effect-end uint64 :offset-assert 848)
|
||||
(fade float :offset-assert 856)
|
||||
(dest-fade float :offset-assert 860)
|
||||
@@ -36105,39 +36104,37 @@
|
||||
(fire () _type_ :state 179)
|
||||
(hide () _type_ :state 180)
|
||||
(hidden () _type_ :state 181)
|
||||
(predator-method-182 () none 182)
|
||||
(predator-method-183 () none 183)
|
||||
(predator-method-184 () none 184)
|
||||
(predator-method-185 () none 185)
|
||||
(predator-method-186 () none 186)
|
||||
(predator-method-187 () none 187)
|
||||
(predator-method-188 () none 188)
|
||||
(set-dangerous! (_type_ symbol) symbol 182)
|
||||
(predator-method-183 (_type_) none 183)
|
||||
(predator-method-184 (_type_ int float) none 184)
|
||||
(predator-method-185 (_type_) none 185)
|
||||
(predator-method-186 (_type_) none 186)
|
||||
(predator-method-187 (_type_) symbol 187)
|
||||
(predator-method-188 (_type_ vector vector vector) none 188)
|
||||
)
|
||||
)
|
||||
|
||||
#|
|
||||
(deftype predator-manager (process)
|
||||
()
|
||||
((predator-count uint32 :offset-assert 128)
|
||||
(predator-h handle 32 :offset-assert 136)
|
||||
(hud-counter handle :offset-assert 392)
|
||||
(actor-group (pointer actor-group) :offset-assert 400)
|
||||
(actor-group-count int32 :offset-assert 404)
|
||||
)
|
||||
:method-count-assert 17
|
||||
:size-assert #x198
|
||||
:flag-assert #x1101200198
|
||||
;; Failed to read fields.
|
||||
(:methods
|
||||
(predator-manager-method-9 () none 9)
|
||||
(predator-manager-method-10 () none 10)
|
||||
(closed () _type_ :state 11)
|
||||
(predator-manager-method-12 () none 12)
|
||||
(predator-manager-method-13 () none 13)
|
||||
(idle () _type_ :state 14)
|
||||
(closed () _type_ :state 15)
|
||||
(predator-manager-method-16 () none 16)
|
||||
(predator-manager-method-16 (_type_) none 16)
|
||||
)
|
||||
)
|
||||
|#
|
||||
|
||||
;; (define-extern point-in-line-region? function)
|
||||
;; (define-extern *predator-nav-enemy-info* nav-enemy-info)
|
||||
;; (define-extern *predator-manager* object)
|
||||
(define-extern point-in-line-region? (function vector vector vector float symbol))
|
||||
(define-extern *predator-nav-enemy-info* nav-enemy-info)
|
||||
(define-extern *predator-manager* predator-manager)
|
||||
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
;; forest-scenes ;;
|
||||
@@ -36681,7 +36678,6 @@
|
||||
;; tomb-baby-spider ;;
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
|
||||
#|
|
||||
(deftype tomb-baby-spider (nav-enemy)
|
||||
()
|
||||
:method-count-assert 180
|
||||
@@ -36692,9 +36688,7 @@
|
||||
(attack-stop () _type_ :state 179)
|
||||
)
|
||||
)
|
||||
|#
|
||||
|
||||
#|
|
||||
(deftype dig-spider (tomb-baby-spider)
|
||||
()
|
||||
:method-count-assert 180
|
||||
@@ -36703,9 +36697,8 @@
|
||||
(:methods
|
||||
)
|
||||
)
|
||||
|#
|
||||
|
||||
;; (define-extern *tomb-baby-spider-nav-enemy-info* nav-enemy-info)
|
||||
(define-extern *tomb-baby-spider-nav-enemy-info* nav-enemy-info)
|
||||
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
;; grenadier ;;
|
||||
@@ -36723,15 +36716,15 @@
|
||||
)
|
||||
|
||||
(deftype grenadier (nav-enemy)
|
||||
((shot-trajectory trajectory :inline :offset-assert 608)
|
||||
(hostile-path path-control :offset-assert 648)
|
||||
(bank bank-info :inline :offset-assert 656)
|
||||
(joint joint-mod-blend-world :offset-assert 720)
|
||||
(heading basic :offset-assert 724)
|
||||
(move-pos vector :inline :offset-assert 736)
|
||||
(move-angle float :offset-assert 752)
|
||||
(status-flags uint64 :offset-assert 760)
|
||||
(suppress-knockaside-timer uint64 :offset-assert 768)
|
||||
((shot-trajectory trajectory :inline :offset-assert 608)
|
||||
(hostile-path path-control :offset-assert 648)
|
||||
(bank bank-info :inline :offset-assert 656)
|
||||
(joint joint-mod-blend-world :offset-assert 720)
|
||||
(heading symbol :offset-assert 724)
|
||||
(move-pos vector :inline :offset-assert 736)
|
||||
(move-angle float :offset-assert 752)
|
||||
(status-flags uint64 :offset-assert 760)
|
||||
(suppress-knockaside-timer time-frame :offset-assert 768)
|
||||
)
|
||||
:method-count-assert 184
|
||||
:size-assert #x308
|
||||
@@ -36740,20 +36733,19 @@
|
||||
(attack () _type_ :state 178)
|
||||
(backup () _type_ :state 179)
|
||||
(spin-kick () _type_ :state 180)
|
||||
(grenadier-method-181 () none 181)
|
||||
(grenadier-method-182 () none 182)
|
||||
(grenadier-method-183 () none 183)
|
||||
(grenadier-method-181 (_type_) none 181)
|
||||
(grenadier-method-182 (_type_ vector) none 182)
|
||||
(grenadier-method-183 (_type_) none 183)
|
||||
)
|
||||
)
|
||||
|
||||
;; (define-extern *grenadier-nav-enemy-info* nav-enemy-info)
|
||||
;; (define-extern pos-rotate-y<-vector+vector function)
|
||||
(define-extern *grenadier-nav-enemy-info* nav-enemy-info)
|
||||
(define-extern pos-rotate-y<-vector+vector (function vector vector float))
|
||||
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
;; metalmonk ;;
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
|
||||
#|
|
||||
(deftype metalmonk-anim-info (structure)
|
||||
((anim-index int32 :offset-assert 0)
|
||||
)
|
||||
@@ -36761,51 +36753,46 @@
|
||||
:size-assert #x4
|
||||
:flag-assert #x900000004
|
||||
)
|
||||
|#
|
||||
|
||||
#|
|
||||
(deftype metalmonk-global-info (basic)
|
||||
((prev-yellow-hit int8 :offset-assert 4)
|
||||
(prev-blue-hit int8 :offset-assert 5)
|
||||
(idle-anim UNKNOWN 3 :offset-assert 8)
|
||||
(patrol-anim UNKNOWN 2 :offset-assert 20)
|
||||
(notice-anim UNKNOWN 2 :offset-assert 28)
|
||||
(charge-anim UNKNOWN 2 :offset-assert 36)
|
||||
(attack-anim UNKNOWN 2 :offset-assert 44)
|
||||
(knocked-anim UNKNOWN 2 :offset-assert 52)
|
||||
(celebrate-anim UNKNOWN 2 :offset-assert 60)
|
||||
(yellow-hit-anim UNKNOWN 4 :offset-assert 68)
|
||||
(blue-hit-anim UNKNOWN 3 :offset-assert 84)
|
||||
((prev-yellow-hit int8 :offset-assert 4)
|
||||
(prev-blue-hit int8 :offset-assert 5)
|
||||
(idle-anim int32 3 :offset-assert 8)
|
||||
(patrol-anim int32 2 :offset-assert 20)
|
||||
(notice-anim int32 2 :offset-assert 28)
|
||||
(charge-anim int32 2 :offset-assert 36)
|
||||
(attack-anim int32 2 :offset-assert 44)
|
||||
(knocked-anim int32 2 :offset-assert 52)
|
||||
(celebrate-anim int32 2 :offset-assert 60)
|
||||
(yellow-hit-anim int32 4 :offset-assert 68)
|
||||
(blue-hit-anim int32 3 :offset-assert 84)
|
||||
)
|
||||
:pack-me
|
||||
:method-count-assert 9
|
||||
:size-assert #x60
|
||||
:flag-assert #x900000060
|
||||
)
|
||||
|#
|
||||
|
||||
#|
|
||||
(deftype metalmonk (nav-enemy)
|
||||
((focus-pos vector :inline :offset-assert 348)
|
||||
(new-facing vector :inline :offset-assert 620)
|
||||
(old-facing vector :inline :offset-assert 636)
|
||||
(high-time time-frame :offset-assert 652)
|
||||
(intro-path basic :offset-assert 660)
|
||||
((new-facing vector :inline :offset 624)
|
||||
(old-facing vector :inline :offset 640)
|
||||
(high-time time-frame :offset 656)
|
||||
(intro-path path-control :offset-assert 664)
|
||||
)
|
||||
:method-count-assert 183
|
||||
:size-assert #x29c
|
||||
:flag-assert #xb70220029c
|
||||
(:methods
|
||||
(attack () _type_ :state 178)
|
||||
(metalmonk-method-179 () none 179)
|
||||
(metalmonk-method-180 () none 180)
|
||||
(metalmonk-method-181 () none 181)
|
||||
(metalmonk-method-182 () none 182)
|
||||
(metalmonk-method-179 (_type_ vector) none 179)
|
||||
(metalmonk-method-180 (_type_ symbol) none 180)
|
||||
(metalmonk-method-181 (_type_ float float) none 181)
|
||||
(metalmonk-method-182 (_type_ float float) none 182)
|
||||
)
|
||||
)
|
||||
|#
|
||||
|
||||
;; (define-extern *metalmonk-global-info* metalmonk-global-info)
|
||||
;; (define-extern *metalmonk-nav-enemy-info* nav-enemy-info)
|
||||
(define-extern *metalmonk-global-info* metalmonk-global-info)
|
||||
(define-extern *metalmonk-nav-enemy-info* nav-enemy-info)
|
||||
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
;; dig-texture ;;
|
||||
@@ -37660,7 +37647,6 @@
|
||||
;; centurion ;;
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
|
||||
#|
|
||||
(deftype centurion-shot (metalhead-shot)
|
||||
()
|
||||
:method-count-assert 40
|
||||
@@ -37669,22 +37655,20 @@
|
||||
(:methods
|
||||
)
|
||||
)
|
||||
|#
|
||||
|
||||
#|
|
||||
(deftype centurion (nav-enemy)
|
||||
((los los-control :inline :offset-assert 604)
|
||||
(target-pos vector :inline :offset-assert 764)
|
||||
(can-shoot? basic :offset-assert 780)
|
||||
(incoming-attack-id uint32 :offset-assert 784)
|
||||
(can-take-damage? basic :offset-assert 788)
|
||||
(first-shoot? basic :offset-assert 792)
|
||||
(shoot-dir vector :inline :offset-assert 796)
|
||||
(tar-pos vector :inline :offset-assert 812)
|
||||
(joint basic :offset-assert 828)
|
||||
(joint-enable basic :offset-assert 832)
|
||||
(victory-sound uint32 :offset-assert 836)
|
||||
(shield-shot uint32 :offset-assert 840)
|
||||
((los los-control :inline :offset-assert 608)
|
||||
(target-pos vector :inline :offset-assert 768)
|
||||
(can-shoot? basic :offset-assert 784)
|
||||
(incoming-attack-id uint32 :offset-assert 788)
|
||||
(can-take-damage? symbol :offset-assert 792)
|
||||
(first-shoot? symbol :offset-assert 796)
|
||||
(shoot-dir vector :inline :offset-assert 800)
|
||||
(tar-pos vector :inline :offset-assert 816)
|
||||
(joint joint-mod :offset-assert 832)
|
||||
(joint-enable symbol :offset-assert 836)
|
||||
(victory-sound sound-id :offset-assert 840)
|
||||
(shield-shot uint32 :offset-assert 844)
|
||||
)
|
||||
:method-count-assert 183
|
||||
:size-assert #x350
|
||||
@@ -37692,14 +37676,12 @@
|
||||
(:methods
|
||||
(attack () _type_ :state 178)
|
||||
(fire () _type_ :state 179)
|
||||
(centurion-method-180 () none 180)
|
||||
(centurion-method-181 () none 181)
|
||||
(centurion-method-182 () none 182)
|
||||
(centurion-method-180 (_type_) none 180)
|
||||
(centurion-method-181 (_type_ vector) int 181)
|
||||
(centurion-method-182 (_type_ vector) symbol 182)
|
||||
)
|
||||
)
|
||||
|#
|
||||
|
||||
#|
|
||||
(deftype centurion-anim-info (structure)
|
||||
((anim-index int32 :offset-assert 0)
|
||||
)
|
||||
@@ -37707,39 +37689,36 @@
|
||||
:size-assert #x4
|
||||
:flag-assert #x900000004
|
||||
)
|
||||
|#
|
||||
|
||||
#|
|
||||
(deftype centurion-global-info (basic)
|
||||
((prev-yellow-hit int8 :offset-assert 4)
|
||||
(prev-blue-hit int8 :offset-assert 5)
|
||||
(yellow-hit-anim UNKNOWN 1 :offset-assert 8)
|
||||
(blue-hit-anim UNKNOWN 3 :offset-assert 12)
|
||||
((prev-yellow-hit int8 :offset-assert 4)
|
||||
(prev-blue-hit int8 :offset-assert 5)
|
||||
(yellow-hit-anim int32 1 :offset-assert 8)
|
||||
(blue-hit-anim int32 3 :offset-assert 12)
|
||||
)
|
||||
:pack-me
|
||||
:method-count-assert 9
|
||||
:size-assert #x18
|
||||
:flag-assert #x900000018
|
||||
)
|
||||
|#
|
||||
|
||||
;; (define-extern *centurion-shield-glow-spt-scale-x* object)
|
||||
;; (define-extern *centurion-shield-glow-spt-scale-y* object)
|
||||
;; (define-extern *centurion-shield-center-spt-scale-x* object)
|
||||
;; (define-extern *centurion-shield-center-spt-scale-y* object)
|
||||
;; (define-extern *centurion-shield-spt-scale-x* object)
|
||||
;; (define-extern *centurion-shield-spt-scale-y* object)
|
||||
;; (define-extern *centurion-shield-2-spt-scale-x* object)
|
||||
;; (define-extern *centurion-shield-2-spt-scale-y* object)
|
||||
;; (define-extern centurion-shield-big function)
|
||||
;; (define-extern centurion-shield-little function)
|
||||
;; (define-extern *centurion-global-info* centurion-global-info)
|
||||
;; (define-extern *centurion-nav-enemy-info* nav-enemy-info)
|
||||
(define-extern *centurion-shield-glow-spt-scale-x* int)
|
||||
(define-extern *centurion-shield-glow-spt-scale-y* int)
|
||||
(define-extern *centurion-shield-center-spt-scale-x* int)
|
||||
(define-extern *centurion-shield-center-spt-scale-y* int)
|
||||
(define-extern *centurion-shield-spt-scale-x* int)
|
||||
(define-extern *centurion-shield-spt-scale-y* int)
|
||||
(define-extern *centurion-shield-2-spt-scale-x* int)
|
||||
(define-extern *centurion-shield-2-spt-scale-y* int)
|
||||
(define-extern centurion-shield-big (function none))
|
||||
(define-extern centurion-shield-little (function none))
|
||||
(define-extern *centurion-global-info* centurion-global-info)
|
||||
(define-extern *centurion-nav-enemy-info* nav-enemy-info)
|
||||
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
;; ginsu ;;
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
|
||||
#|
|
||||
(deftype ginsu-anim-info (structure)
|
||||
((anim-index int32 :offset-assert 0)
|
||||
)
|
||||
@@ -37747,35 +37726,31 @@
|
||||
:size-assert #x4
|
||||
:flag-assert #x900000004
|
||||
)
|
||||
|#
|
||||
|
||||
#|
|
||||
(deftype ginsu-global-info (basic)
|
||||
((prev-blue-hit int8 :offset-assert 4)
|
||||
(blue-hit-anim UNKNOWN 3 :offset-assert 8)
|
||||
((prev-blue-hit int8 :offset-assert 4)
|
||||
(blue-hit-anim int32 3 :offset-assert 8)
|
||||
)
|
||||
:method-count-assert 9
|
||||
:size-assert #x14
|
||||
:flag-assert #x900000014
|
||||
)
|
||||
|#
|
||||
|
||||
#|
|
||||
(deftype ginsu (nav-enemy)
|
||||
((blade-jm basic :offset-assert 600)
|
||||
(blade-speed cam-float-seeker :inline :offset-assert 604)
|
||||
(blade-angle float :offset-assert 628)
|
||||
(desired-distance float :offset-assert 632)
|
||||
(spiral-time time-frame :offset-assert 636)
|
||||
(blade-part basic :offset-assert 644)
|
||||
(ambush-path basic :offset-assert 648)
|
||||
(path-pos float :offset-assert 652)
|
||||
(ambush-started basic :offset-assert 656)
|
||||
(blade-sound uint32 :offset-assert 660)
|
||||
(blade-sound-playing basic :offset-assert 664)
|
||||
(grind-sound uint32 :offset-assert 668)
|
||||
(grind-sound-playing basic :offset-assert 672)
|
||||
(grind-timer uint64 :offset-assert 676)
|
||||
((blade-jm joint-mod :offset-assert 604)
|
||||
(blade-speed cam-float-seeker :inline :offset-assert 608)
|
||||
(blade-angle float :offset-assert 632)
|
||||
(desired-distance float :offset-assert 636)
|
||||
(spiral-time time-frame :offset-assert 640)
|
||||
(blade-part part-spawner :offset-assert 648)
|
||||
(ambush-path path-control :offset-assert 652)
|
||||
(path-pos float :offset-assert 656)
|
||||
(ambush-started symbol :offset-assert 660)
|
||||
(blade-sound uint32 :offset-assert 664)
|
||||
(blade-sound-playing symbol :offset-assert 668)
|
||||
(grind-sound uint32 :offset-assert 672)
|
||||
(grind-sound-playing symbol :offset-assert 676)
|
||||
(grind-timer time-frame :offset-assert 680)
|
||||
)
|
||||
:method-count-assert 184
|
||||
:size-assert #x2b0
|
||||
@@ -37783,17 +37758,16 @@
|
||||
(:methods
|
||||
(anticipate-attack () _type_ :state 178)
|
||||
(attack () _type_ :state 179)
|
||||
(ginsu-method-180 () none 180)
|
||||
(ginsu-method-181 () none 181)
|
||||
(ginsu-method-182 () none 182)
|
||||
(ginsu-method-183 () none 183)
|
||||
(ginsu-method-180 (_type_) none 180)
|
||||
(ginsu-method-181 (_type_ vector) vector 181)
|
||||
(ginsu-method-182 (_type_) none 182)
|
||||
(ginsu-method-183 (_type_ symbol) none 183)
|
||||
)
|
||||
)
|
||||
|#
|
||||
|
||||
;; (define-extern *ginsu-global-info* ginsu-global-info)
|
||||
;; (define-extern *ginsu-nav-enemy-info* nav-enemy-info)
|
||||
;; (define-extern ginsu-sounds-off function)
|
||||
(define-extern *ginsu-global-info* ginsu-global-info)
|
||||
(define-extern *ginsu-nav-enemy-info* nav-enemy-info)
|
||||
(define-extern ginsu-sounds-off (function none :behavior ginsu))
|
||||
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
;; oracle-texture ;;
|
||||
@@ -37917,30 +37891,31 @@
|
||||
;; rhino ;;
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
|
||||
#|
|
||||
(declare-type rhino-wall process-focusable)
|
||||
|
||||
(deftype rhino (nav-enemy)
|
||||
((wall basic :offset-assert 600)
|
||||
(path-intro basic :offset-assert 604)
|
||||
(charge-aware uint64 :offset-assert 612)
|
||||
(anim-skid-left int32 :offset-assert 620)
|
||||
(anim-skid-right int32 :offset-assert 624)
|
||||
(anim-victory-hit int32 :offset-assert 628)
|
||||
(circle-backward? basic :offset-assert 636)
|
||||
(focus-pos vector :inline :offset-assert 348)
|
||||
(skid-speed float :offset-assert 668)
|
||||
(angle float :offset-assert 672)
|
||||
(angle-speed float :offset-assert 676)
|
||||
(dest vector :inline :offset-assert 684)
|
||||
(charge-straight basic :offset-assert 700)
|
||||
(in-stop-run basic :offset-assert 704)
|
||||
(smush-target basic :offset-assert 708)
|
||||
(num-hit-flinch int32 :offset-assert 712)
|
||||
(frame-die-smush float :offset-assert 716)
|
||||
(quat quaternion :inline :offset-assert 732)
|
||||
(can-hit? basic :offset-assert 748)
|
||||
(interest int32 :offset-assert 752)
|
||||
(victory-count uint32 :offset-assert 756)
|
||||
(stomach-touched-once? basic :offset-assert 760)
|
||||
((wall rhino-wall :offset-assert 604)
|
||||
(path-intro path-control :offset-assert 608)
|
||||
(charge-aware uint64 :offset-assert 616)
|
||||
(anim-skid-left int32 :offset-assert 624)
|
||||
(anim-skid-right int32 :offset-assert 628)
|
||||
(anim-victory-hit int32 :offset-assert 632)
|
||||
(circle-backward? symbol :offset-assert 636)
|
||||
;; (focus-pos vector :inline :offset-assert 348)
|
||||
(skid-speed float :offset 672)
|
||||
(angle float :offset-assert 676)
|
||||
(angle-speed float :offset-assert 680)
|
||||
(dest vector :inline :offset-assert 688)
|
||||
(charge-straight symbol :offset-assert 704)
|
||||
(in-stop-run symbol :offset-assert 708)
|
||||
(smush-target smush-control :offset-assert 712)
|
||||
(num-hit-flinch int32 :offset-assert 716)
|
||||
(frame-die-smush float :offset-assert 720)
|
||||
(quat quaternion :inline :offset-assert 736)
|
||||
(can-hit? symbol :offset-assert 752)
|
||||
(interest int32 :offset-assert 756)
|
||||
(victory-count uint32 :offset-assert 760)
|
||||
(stomach-touched-once? symbol :offset-assert 764)
|
||||
)
|
||||
:method-count-assert 183
|
||||
:size-assert #x300
|
||||
@@ -37950,22 +37925,20 @@
|
||||
(stop-run () _type_ :state 179)
|
||||
(run-away () _type_ :state 180)
|
||||
(charge () _type_ :state 181)
|
||||
(rhino-method-182 () none 182)
|
||||
(rhino-method-182 (_type_ process event-message-block) symbol 182)
|
||||
)
|
||||
)
|
||||
|#
|
||||
|
||||
;; (define-extern *rhino-nav-enemy-info* nav-enemy-info)
|
||||
(define-extern *rhino-nav-enemy-info* nav-enemy-info)
|
||||
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
;; rhino-wall ;;
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
|
||||
#|
|
||||
(deftype rhino-wall (process-focusable)
|
||||
((anim basic :offset-assert 200)
|
||||
(art-name basic :offset-assert 204)
|
||||
(id int8 :offset-assert 208)
|
||||
((anim spool-anim :offset-assert 204)
|
||||
(art-name string :offset-assert 208)
|
||||
(id int8 :offset-assert 212)
|
||||
)
|
||||
:method-count-assert 31
|
||||
:size-assert #xd5
|
||||
@@ -37974,10 +37947,9 @@
|
||||
(unbroken () _type_ :state 27)
|
||||
(hit () _type_ :state 28)
|
||||
(broken () _type_ :state 29)
|
||||
(rhino-wall-method-30 () none 30)
|
||||
(rhino-wall-method-30 (_type_) none 30)
|
||||
)
|
||||
)
|
||||
|#
|
||||
|
||||
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
@@ -38304,65 +38276,60 @@
|
||||
;; hopper ;;
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
|
||||
#|
|
||||
(deftype hopper (nav-enemy)
|
||||
((speed-y float :offset-assert 600)
|
||||
(accel-y float :offset-assert 604)
|
||||
(next-jump-time int32 :offset-assert 608)
|
||||
(path-intro basic :offset-assert 612)
|
||||
(can-go-knocked? basic :offset-assert 616)
|
||||
(land-anim-index int32 :offset-assert 620)
|
||||
(step-num int32 :offset-assert 624)
|
||||
(best-point vector :inline :offset-assert 636)
|
||||
(best-score float :offset-assert 652)
|
||||
(origin vector :inline :offset-assert 668)
|
||||
(direction vector :inline :offset-assert 684)
|
||||
(jump-dist float :offset-assert 700)
|
||||
(side float :offset-assert 704)
|
||||
(jump-start-anim uint32 :offset-assert 708)
|
||||
(jump-air-anim uint32 :offset-assert 712)
|
||||
(jump-land-anim uint32 :offset-assert 716)
|
||||
(jump-height-min float :offset-assert 720)
|
||||
(jump-anim-start-frame float :offset-assert 724)
|
||||
(minimap connection-minimap :offset-assert 728)
|
||||
((speed-y float :offset-assert 604)
|
||||
(accel-y float :offset-assert 608)
|
||||
(next-jump-time int32 :offset-assert 612)
|
||||
(path-intro path-control :offset-assert 616)
|
||||
(can-go-knocked? symbol :offset-assert 620)
|
||||
(land-anim-index int32 :offset-assert 624)
|
||||
(step-num int32 :offset-assert 628)
|
||||
(best-point vector :inline :offset-assert 640)
|
||||
(best-score float :offset-assert 656)
|
||||
(origin vector :inline :offset-assert 672)
|
||||
(direction vector :inline :offset-assert 688)
|
||||
(jump-dist float :offset-assert 704)
|
||||
(side float :offset-assert 708)
|
||||
(jump-start-anim uint32 :offset-assert 712)
|
||||
(jump-air-anim uint32 :offset-assert 716)
|
||||
(jump-land-anim uint32 :offset-assert 720)
|
||||
(jump-height-min float :offset-assert 724)
|
||||
(jump-anim-start-frame float :offset-assert 728)
|
||||
(minimap connection-minimap :offset-assert 732)
|
||||
)
|
||||
:method-count-assert 180
|
||||
:size-assert #x2e0
|
||||
:flag-assert #xb4026002e0
|
||||
(:methods
|
||||
(hopper-method-178 () none 178)
|
||||
(hopper-method-179 () none 179)
|
||||
(hopper-method-178 (_type_) symbol 178)
|
||||
(hopper-method-179 (_type_) none 179)
|
||||
)
|
||||
)
|
||||
|#
|
||||
|
||||
#|
|
||||
(deftype hopper-anim-info (structure)
|
||||
((hit-anim-index int32 :offset-assert 0)
|
||||
(land-anim-index int32 :offset-assert 4)
|
||||
)
|
||||
:pack-me
|
||||
:method-count-assert 9
|
||||
:size-assert #x8
|
||||
:flag-assert #x900000008
|
||||
)
|
||||
|#
|
||||
|
||||
#|
|
||||
(deftype hopper-global-info (basic)
|
||||
((prev-yellow-hit int8 :offset-assert 4)
|
||||
(prev-blue-hit int8 :offset-assert 5)
|
||||
(yellow-hit-anim UNKNOWN 3 :offset-assert 8)
|
||||
(blue-hit-anim UNKNOWN 3 :offset-assert 32)
|
||||
(yellow-hit-anim hopper-anim-info 3 :inline :offset-assert 8)
|
||||
(blue-hit-anim hopper-anim-info 3 :inline :offset-assert 32)
|
||||
)
|
||||
:method-count-assert 9
|
||||
:size-assert #x38
|
||||
:flag-assert #x900000038
|
||||
)
|
||||
|#
|
||||
|
||||
;; (define-extern *hopper-global-info* hopper-global-info)
|
||||
;; (define-extern *hopper-nav-enemy-info* nav-enemy-info) ;; nav-enemy-info
|
||||
;; (define-extern *hopper-next-jump-time* object)
|
||||
(define-extern *hopper-global-info* hopper-global-info)
|
||||
(define-extern *hopper-nav-enemy-info* nav-enemy-info) ;; nav-enemy-info
|
||||
(define-extern *hopper-next-jump-time* time-frame)
|
||||
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
;; intro-ocean ;;
|
||||
@@ -39374,7 +39341,6 @@
|
||||
;; amphibian ;;
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
|
||||
#|
|
||||
(deftype amphibian-tongue-attack-info (structure)
|
||||
((targ-dist float :offset-assert 0)
|
||||
(max-length float :offset-assert 4)
|
||||
@@ -39392,12 +39358,10 @@
|
||||
:size-assert #xa0
|
||||
:flag-assert #x9000000a0
|
||||
)
|
||||
|#
|
||||
|
||||
#|
|
||||
(deftype amphibian-joint-mod (basic)
|
||||
((joint-index int32 :offset-assert 4)
|
||||
(proc basic :offset-assert 8)
|
||||
(proc process-drawable :offset-assert 8)
|
||||
(max-length float :offset-assert 12)
|
||||
(target vector :inline :offset-assert 16)
|
||||
)
|
||||
@@ -39405,12 +39369,11 @@
|
||||
:size-assert #x20
|
||||
:flag-assert #xa00000020
|
||||
(:methods
|
||||
(amphibian-joint-mod-method-9 () none 9)
|
||||
(new (symbol type process-drawable int) _type_ 0)
|
||||
(amphibian-joint-mod-method-9 (_type_) none 9)
|
||||
)
|
||||
)
|
||||
|#
|
||||
|
||||
#|
|
||||
(deftype amphibian-anim-info (structure)
|
||||
((anim-index int32 :offset-assert 0)
|
||||
)
|
||||
@@ -39418,38 +39381,34 @@
|
||||
:size-assert #x4
|
||||
:flag-assert #x900000004
|
||||
)
|
||||
|#
|
||||
|
||||
#|
|
||||
(deftype amphibian-global-info (basic)
|
||||
((prev-blue-hit int8 :offset-assert 4)
|
||||
(prev-knocked int8 :offset-assert 5)
|
||||
(notice-anim UNKNOWN 2 :offset-assert 8)
|
||||
(run-anim UNKNOWN 2 :offset-assert 16)
|
||||
(knocked-anim UNKNOWN 3 :offset-assert 24)
|
||||
(knocked-land-anim UNKNOWN 3 :offset-assert 36)
|
||||
(blue-hit-anim UNKNOWN 3 :offset-assert 48)
|
||||
(jump-wind-up-anim UNKNOWN 2 :offset-assert 60)
|
||||
(jump-in-air-anim UNKNOWN 2 :offset-assert 68)
|
||||
(jump-land-anim UNKNOWN 2 :offset-assert 76)
|
||||
(notice-anim int32 2 :offset-assert 8)
|
||||
(run-anim int32 2 :offset-assert 16)
|
||||
(knocked-anim int32 3 :offset-assert 24)
|
||||
(knocked-land-anim int32 3 :offset-assert 36)
|
||||
(blue-hit-anim int32 3 :offset-assert 48)
|
||||
(jump-wind-up-anim int32 2 :offset-assert 60)
|
||||
(jump-in-air-anim int32 2 :offset-assert 68)
|
||||
(jump-land-anim int32 2 :offset-assert 76)
|
||||
)
|
||||
:method-count-assert 9
|
||||
:size-assert #x54
|
||||
:flag-assert #x900000054
|
||||
)
|
||||
|#
|
||||
|
||||
#|
|
||||
(deftype amphibian (nav-enemy)
|
||||
((tongue-scale float :offset-assert 600)
|
||||
(flags uint8 :offset-assert 604)
|
||||
(knocked-anim-index int8 :offset-assert 605)
|
||||
(jump-anim-index int8 :offset-assert 606)
|
||||
(tongue-mode uint64 :offset-assert 612)
|
||||
(tongue-mod basic :offset-assert 620)
|
||||
(attacker-handle uint64 :offset-assert 628)
|
||||
(prev-ry float :offset-assert 636)
|
||||
(prev-ry1 float :offset-assert 640)
|
||||
((tongue-scale float :offset-assert 604)
|
||||
(flags uint8 :offset-assert 608)
|
||||
(knocked-anim-index int8 :offset-assert 609)
|
||||
(jump-anim-index int8 :offset-assert 610)
|
||||
(tongue-mode uint64 :offset-assert 616)
|
||||
(tongue-mod amphibian-joint-mod :offset-assert 624)
|
||||
(attacker-handle handle :offset-assert 632)
|
||||
(prev-ry float :offset-assert 640)
|
||||
(prev-ry1 float :offset-assert 644)
|
||||
)
|
||||
:method-count-assert 188
|
||||
:size-assert #x288
|
||||
@@ -39461,17 +39420,16 @@
|
||||
(attack-spin () _type_ :state 181)
|
||||
(stare-idle () _type_ :state 182)
|
||||
(tongue-attack () _type_ :state 183)
|
||||
(amphibian-method-184 () none 184)
|
||||
(amphibian-method-185 () none 185)
|
||||
(amphibian-method-186 () none 186)
|
||||
(amphibian-method-187 () none 187)
|
||||
(amphibian-method-184 (_type_ vector vector) vector 184)
|
||||
(amphibian-method-185 (_type_ amphibian-tongue-attack-info) none 185)
|
||||
(amphibian-method-186 (_type_ vector vector) symbol 186)
|
||||
(amphibian-method-187 (_type_) none 187)
|
||||
)
|
||||
)
|
||||
|#
|
||||
|
||||
;; (define-extern *amphibian-global-info* amphibian-global-info)
|
||||
;; (define-extern *amphibian-nav-enemy-info* nav-enemy-info)
|
||||
;; (define-extern amphibian-joint-mod-callback function)
|
||||
(define-extern *amphibian-global-info* amphibian-global-info)
|
||||
(define-extern *amphibian-nav-enemy-info* nav-enemy-info)
|
||||
(define-extern amphibian-joint-mod-callback (function cspace transformq none))
|
||||
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
;; juicer ;;
|
||||
@@ -46220,23 +46178,21 @@
|
||||
;; monster-frog ;;
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
|
||||
#|
|
||||
(deftype monster-frog (nav-enemy)
|
||||
()
|
||||
:method-count-assert 181
|
||||
:size-assert #x25c
|
||||
:flag-assert #xb501e0025c
|
||||
(:methods
|
||||
(attack () _type_ :state 178)
|
||||
(attack (vector) _type_ :state 178)
|
||||
(attack-recover () _type_ :state 179)
|
||||
(turn () _type_ :state 180)
|
||||
)
|
||||
)
|
||||
|#
|
||||
|
||||
;; (define-extern *monster-frog-nav-enemy-info* nav-enemy-info)
|
||||
;; (define-extern monster-frog-hop-slow-code function)
|
||||
;; (define-extern monster-frog-hop-fast-code function)
|
||||
(define-extern *monster-frog-nav-enemy-info* nav-enemy-info)
|
||||
(define-extern monster-frog-hop-slow-code (function symbol :behavior monster-frog))
|
||||
(define-extern monster-frog-hop-fast-code (function symbol :behavior monster-frog))
|
||||
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
;; tomb-scenes ;;
|
||||
@@ -51898,27 +51854,26 @@
|
||||
;; rapid-gunner ;;
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
|
||||
#|
|
||||
(deftype rapid-gunner (nav-enemy)
|
||||
((los los-control :inline :offset-assert 604)
|
||||
(joint basic :offset-assert 752)
|
||||
(joint-blend float :offset-assert 756)
|
||||
(joint-enable basic :offset-assert 760)
|
||||
(shot-timer uint64 :offset-assert 764)
|
||||
(predict-timer uint64 :offset-assert 772)
|
||||
(target-prev-pos vector :inline :offset-assert 780)
|
||||
(target-next-pos vector :inline :offset-assert 796)
|
||||
(focus-dir vector :inline :offset-assert 812)
|
||||
(y-diff float :offset-assert 828)
|
||||
(shots-fired uint32 :offset-assert 832)
|
||||
(spin-up-angle float :offset-assert 836)
|
||||
(spin-up-timer uint64 :offset-assert 844)
|
||||
(shoot-anim-index int32 :offset-assert 852)
|
||||
(status-flags uint64 :offset-assert 860)
|
||||
(start-pos vector :inline :offset-assert 876)
|
||||
(dest-pos vector :inline :offset-assert 892)
|
||||
(hop-dir vector :inline :offset-assert 908)
|
||||
(roam-radius float :offset-assert 924)
|
||||
((los los-control :inline :offset-assert 608)
|
||||
(joint joint-mod :offset-assert 756)
|
||||
(joint-blend float :offset-assert 760)
|
||||
(joint-enable symbol :offset-assert 764)
|
||||
(shot-timer uint64 :offset-assert 768)
|
||||
(predict-timer uint64 :offset-assert 776)
|
||||
(target-prev-pos vector :inline :offset-assert 784)
|
||||
(target-next-pos vector :inline :offset-assert 800)
|
||||
(focus-dir vector :inline :offset-assert 816)
|
||||
(y-diff float :offset-assert 832)
|
||||
(shots-fired uint32 :offset-assert 836)
|
||||
(spin-up-angle float :offset-assert 840)
|
||||
(spin-up-timer time-frame :offset-assert 848)
|
||||
(shoot-anim-index int32 :offset-assert 856)
|
||||
(status-flags uint64 :offset-assert 864)
|
||||
(start-pos vector :inline :offset-assert 880)
|
||||
(dest-pos vector :inline :offset-assert 896)
|
||||
(hop-dir vector :inline :offset-assert 912)
|
||||
(roam-radius float :offset-assert 928)
|
||||
)
|
||||
:method-count-assert 187
|
||||
:size-assert #x3a4
|
||||
@@ -51930,14 +51885,12 @@
|
||||
(hop-turn () _type_ :state 181)
|
||||
(cool-down () _type_ :state 182)
|
||||
(reload () _type_ :state 183)
|
||||
(rapid-gunner-method-184 () none 184)
|
||||
(rapid-gunner-method-185 () none 185)
|
||||
(rapid-gunner-method-186 () none 186)
|
||||
(rapid-gunner-method-184 (_type_ float) symbol 184)
|
||||
(rapid-gunner-method-185 (_type_ vector float) none 185)
|
||||
(rapid-gunner-method-186 (_type_ int float int int) none 186)
|
||||
)
|
||||
)
|
||||
|#
|
||||
|
||||
#|
|
||||
(deftype shield-gunner (rapid-gunner)
|
||||
()
|
||||
:method-count-assert 187
|
||||
@@ -51946,12 +51899,11 @@
|
||||
(:methods
|
||||
)
|
||||
)
|
||||
|#
|
||||
|
||||
;; (define-extern *rapid-gunner-nav-enemy-info* nav-enemy-info)
|
||||
;; (define-extern vector-average-copy! function)
|
||||
;; (define-extern *aim-pos* object)
|
||||
;; (define-extern rapid-gunner-common-post function)
|
||||
(define-extern *rapid-gunner-nav-enemy-info* nav-enemy-info)
|
||||
(define-extern vector-average-copy! (function vector vector float vector))
|
||||
(define-extern *aim-pos* vector)
|
||||
(define-extern rapid-gunner-common-post (function none :behavior rapid-gunner))
|
||||
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
;; collection-task ;;
|
||||
|
||||
@@ -40,7 +40,6 @@
|
||||
"(method 77 flamer)",
|
||||
"(method 77 grenadier)",
|
||||
"(method 224 bot)",
|
||||
"(method 77 rapid-gunner)",
|
||||
// until loop without nop:
|
||||
"target-history-print",
|
||||
"display-list-control",
|
||||
@@ -52,7 +51,6 @@
|
||||
"(anon-function 10 pilot-recorder)",
|
||||
"(method 0 hover-nav-control)",
|
||||
"(method 24 nav-network)",
|
||||
"(method 11 predator-manager)",
|
||||
"(method 9 bot-speech-list)",
|
||||
"(method 9 bot-speech-list-shuffle)",
|
||||
"(anon-function 10 sig-recorder)",
|
||||
@@ -113,7 +111,6 @@
|
||||
"(method 9 editable-region)", // condition branch assert hit
|
||||
"(anon-function 10 meet-brutter)",
|
||||
"(method 154 vehicle-racer)",
|
||||
"(method 188 predator)",
|
||||
"(anon-function 13 sig0-course)",
|
||||
"(method 228 hal-sewer)",
|
||||
"(method 154 vehicle-city-racer)",
|
||||
@@ -122,8 +119,6 @@
|
||||
"vehicle-explode-post",
|
||||
"(method 158 vehicle-guard)",
|
||||
"(method 207 metalhead-predator)",
|
||||
"(anon-function 28 grenadier)",
|
||||
"(anon-function 24 grenadier)",
|
||||
"test-to-from-spr",
|
||||
"test-from-spr",
|
||||
"test-to-spr",
|
||||
@@ -479,7 +474,10 @@
|
||||
"(method 40 nav-state)": [1, 2],
|
||||
"(method 45 nav-mesh)": [5, 6],
|
||||
"(method 43 nav-mesh)": [0, 1, 2, 12, 13, 14, 15, 16, 17, 18, 19, 20],
|
||||
"(anon-function 45 gungame-obs)": [0, 1, 6, 9, 14, 18, 21, 22, 30] // TODO - probably not the best
|
||||
"(anon-function 45 gungame-obs)": [0, 1, 6, 9, 14, 18, 21, 22, 30], // TODO - probably not the best
|
||||
|
||||
"(method 142 grenadier)": [0, 1, 3],
|
||||
"(anon-function 34 predator)": [24]
|
||||
},
|
||||
|
||||
// Sometimes the game might use format strings that are fetched dynamically,
|
||||
|
||||
@@ -30,7 +30,7 @@
|
||||
"DGO/DMI.DGO",
|
||||
"DGO/ORACLE.DGO",
|
||||
// "DGO/LERLTESS.DGO",
|
||||
// "DGO/DRI.DGO",
|
||||
"DGO/DRI.DGO",
|
||||
// "DGO/LBRNERMK.DGO",
|
||||
// "DGO/LRACECF.DGO",
|
||||
"DGO/CTC.DGO",
|
||||
@@ -45,7 +45,7 @@
|
||||
// "DGO/LTRNYSAM.DGO",
|
||||
// "DGO/LOUTCSTB.DGO",
|
||||
// "DGO/LASHTHRN.DGO",
|
||||
// "DGO/TOC.DGO",
|
||||
"DGO/TOC.DGO",
|
||||
"DGO/CFB.DGO",
|
||||
"DGO/CAB.DGO",
|
||||
// "DGO/STC.DGO",
|
||||
@@ -67,7 +67,7 @@
|
||||
"DGO/LKIDDOGE.DGO",
|
||||
// "DGO/NESTT.DGO",
|
||||
"DGO/LWIDEC.DGO",
|
||||
// "DGO/SAG.DGO",
|
||||
"DGO/SAG.DGO",
|
||||
"DGO/NEB.DGO",
|
||||
"DGO/COB.DGO",
|
||||
"DGO/LBOMBBOT.DGO",
|
||||
@@ -79,7 +79,7 @@
|
||||
"DGO/NES.DGO",
|
||||
"DGO/PAR.DGO",
|
||||
// "DGO/LERBRNGD.DGO",
|
||||
// "DGO/MTX.DGO",
|
||||
"DGO/MTX.DGO",
|
||||
"DGO/FDA.DGO",
|
||||
// "DGO/LKEIRIFT.DGO",
|
||||
"DGO/LWHACK.DGO",
|
||||
@@ -111,7 +111,7 @@
|
||||
"DGO/SKA.DGO",
|
||||
// "DGO/LTRNKRKD.DGO",
|
||||
"DGO/CIA.DGO",
|
||||
// "DGO/TOB.DGO",
|
||||
"DGO/TOB.DGO",
|
||||
// "DGO/LRACEDB.DGO",
|
||||
"DGO/LDJAKBRN.DGO",
|
||||
"DGO/TOA.DGO",
|
||||
@@ -135,7 +135,7 @@
|
||||
// "DGO/SWE.DGO",
|
||||
// "DGO/LRACECB.DGO",
|
||||
"DGO/GGA.DGO",
|
||||
// "DGO/TOD.DGO",
|
||||
"DGO/TOD.DGO",
|
||||
"DGO/MCN.DGO",
|
||||
// "DGO/SEW.DGO",
|
||||
"DGO/VIN.DGO",
|
||||
@@ -190,10 +190,6 @@
|
||||
"CTB.DGO",
|
||||
"CWI.DGO",
|
||||
"DMI.DGO",
|
||||
"FOB.DGO",
|
||||
"FOR.DGO",
|
||||
"FEA.DGO",
|
||||
"FEB.DGO",
|
||||
"GGA.DGO",
|
||||
"HIDEOUT.DGO",
|
||||
"KIOSK.DGO",
|
||||
@@ -201,6 +197,23 @@
|
||||
"LWIDEA.DGO",
|
||||
"LWIDEB.DGO",
|
||||
"LWIDEC.DGO",
|
||||
"FEA.DGO",
|
||||
"FEB.DGO",
|
||||
"DRI.DGO",
|
||||
"TOC.DGO",
|
||||
"FOB.DGO",
|
||||
"SAG.DGO",
|
||||
"MTX.DGO",
|
||||
"TOB.DGO",
|
||||
"TOA.DGO",
|
||||
"TOD.DGO",
|
||||
"DRILLMTN.DGO",
|
||||
"FOR.DGO",
|
||||
|
||||
"LDJAKBRN.DGO",
|
||||
"HIDEOUT.DGO",
|
||||
"KIOSK.DGO",
|
||||
"DMI.DGO",
|
||||
"LSACK.DGO",
|
||||
"MTN.DGO",
|
||||
"PRI.DGO",
|
||||
|
||||
@@ -854,5 +854,47 @@
|
||||
["L58", "vector"],
|
||||
["L57", "vector"],
|
||||
["L56", "vector"]
|
||||
],
|
||||
"amphibian": [["L275", "attack-info"]],
|
||||
"hopper": [
|
||||
["L99", "vector"],
|
||||
["L98", "vector"]
|
||||
],
|
||||
"metalmonk": [
|
||||
["L197", "attack-info"],
|
||||
["L186", "vector"],
|
||||
["L185", "vector"],
|
||||
["L184", "vector"]
|
||||
],
|
||||
"ginsu": [["L156", "attack-info"]],
|
||||
"centurion": [
|
||||
["L187", "vector"],
|
||||
["L186", "vector"],
|
||||
["L194", "attack-info"]
|
||||
],
|
||||
"rhino": [
|
||||
["L253", "attack-info"],
|
||||
["L239", "vector"],
|
||||
["L238", "vector"]
|
||||
],
|
||||
"grenadier": [
|
||||
["L204", "vector"],
|
||||
["L203", "vector"],
|
||||
["L220", "(pointer int64)", 2],
|
||||
["L227", "(pointer int64)", 2]
|
||||
],
|
||||
"rapid-gunner": [
|
||||
["L211", "vector"],
|
||||
["L210", "vector"],
|
||||
["L209", "vector"],
|
||||
["L223", "(pointer int32)", 4],
|
||||
["L224", "(pointer int64)", 3],
|
||||
["L232", "(pointer int64)", 3],
|
||||
["L231", "(pointer int32)", 4]
|
||||
],
|
||||
"tomb-baby-spider": [["L73", "attack-info"]],
|
||||
"predator": [
|
||||
["L252", "vector"],
|
||||
["L251", "vector"]
|
||||
]
|
||||
}
|
||||
|
||||
@@ -1305,5 +1305,54 @@
|
||||
"(trans target-mech-carry-drag)": [[560, "sphere"]],
|
||||
"(method 22 krew-collection-item)": [[16, "collide-query-with-2vec"]],
|
||||
"(code idle krew-collection-item)": [[64, "vector"]],
|
||||
"pegasus-fly-code": [[96, "vector"]]
|
||||
"pegasus-fly-code": [[96, "vector"]],
|
||||
"(method 90 amphibian)": [[80, "vector"]],
|
||||
"(method 186 amphibian)": [
|
||||
[560, "vector"],
|
||||
[16, "collide-query"],
|
||||
[576, "event-message-block"]
|
||||
],
|
||||
"(enter tongue-attack amphibian)": [[16, "amphibian-tongue-attack-info"]],
|
||||
"amphibian-joint-mod-callback": [
|
||||
[16, ["inline-array", "matrix", 3]],
|
||||
[112, "vector"]
|
||||
],
|
||||
"(method 178 hopper)": [
|
||||
[144, "vector"],
|
||||
// unused
|
||||
[96, "vector"],
|
||||
[176, "vector"]
|
||||
],
|
||||
"(method 90 hopper)": [[80, "vector"]],
|
||||
"(method 180 ginsu)": [[16, "matrix"]],
|
||||
"(trans hostile centurion)": [[16, "vector"]],
|
||||
"(method 181 centurion)": [
|
||||
[80, "vector"],
|
||||
[160, "vector"],
|
||||
[176, "vector"]
|
||||
],
|
||||
"(method 74 centurion)": [[16, "event-message-block"]],
|
||||
"(enter stop-run rhino)": [
|
||||
// unused
|
||||
[32, "vector"]
|
||||
],
|
||||
"(enter attack rhino)": [[32, "vector"]],
|
||||
"(method 74 rhino)": [[48, "vector"]],
|
||||
"(enter run-away rhino)": [[32, "vector"]],
|
||||
"(trans hostile grenadier)": [
|
||||
// unused
|
||||
[48, "vector"]
|
||||
],
|
||||
"(method 115 rapid-gunner)": [[32, "vector"]],
|
||||
"(code notice monster-frog)": [[16, "vector"]],
|
||||
"(method 184 predator)": [
|
||||
[128, "vector"],
|
||||
[144, "vector"],
|
||||
[176, "vector"]
|
||||
],
|
||||
"(method 11 predator-manager)": [
|
||||
[32, "transformq"],
|
||||
[80, "vector"],
|
||||
[112, "vector"]
|
||||
]
|
||||
}
|
||||
|
||||
@@ -5417,7 +5417,11 @@
|
||||
[110, "s2", "collide-shape-prim-sphere"]
|
||||
],
|
||||
"(method 11 nav-state)": [[37, "v1", "float"]],
|
||||
"(method 18 nav-control)": [[252, "a2", "float"]],
|
||||
"(method 18 nav-control)": [
|
||||
[252, "a2", "float"],
|
||||
[250, "a3", "uint"],
|
||||
[250, "t0", "uint"]
|
||||
],
|
||||
"(method 23 nav-mesh)": [["_stack_", 16, "res-tag"]],
|
||||
"nav-control-validate": [
|
||||
[29, "s5", "int"],
|
||||
@@ -5691,9 +5695,7 @@
|
||||
[10, "gp", "target"],
|
||||
[14, "gp", "target"]
|
||||
],
|
||||
"(anon-function 9 target-mech)": [
|
||||
[2, "a0", "(pointer target)"]
|
||||
],
|
||||
"(anon-function 9 target-mech)": [[2, "a0", "(pointer target)"]],
|
||||
"target-mech-handler": [
|
||||
[91, "a0", "process"],
|
||||
[213, "a3", "vector"],
|
||||
@@ -5754,5 +5756,574 @@
|
||||
],
|
||||
"(code die pegasus)": [[45, "v1", "art-joint-anim"]],
|
||||
"pegasus-choose-path": [[114, "v1", "float"]],
|
||||
"(method 115 pegasus)": [["_stack_", 16, "res-tag"]]
|
||||
"(method 115 pegasus)": [["_stack_", 16, "res-tag"]],
|
||||
"(code attack-forward amphibian)": [[14, "v1", "art-joint-anim"]],
|
||||
"(enter attack-forward amphibian)": [
|
||||
[50, "gp", "process-focusable"],
|
||||
[54, "a0", "process-focusable"],
|
||||
[53, "gp", "process-focusable"]
|
||||
],
|
||||
"(code tongue-attack amphibian)": [[14, "v1", "art-joint-anim"]],
|
||||
"(method 76 amphibian)": [[1, "a1", "process-focusable"]],
|
||||
"(method 90 amphibian)": [[165, "v1", "art-joint-anim"]],
|
||||
"(method 88 amphibian)": [[29, "s4", "art-joint-anim"]],
|
||||
"(method 87 amphibian)": [[20, "s4", "art-joint-anim"]],
|
||||
"(method 89 amphibian)": [[37, "s4", "art-joint-anim"]],
|
||||
"(method 78 amphibian)": [
|
||||
[21, "v1", "art-joint-anim"],
|
||||
[67, "s4", "art-joint-anim"]
|
||||
],
|
||||
"(method 77 amphibian)": [
|
||||
[37, "s5", "art-joint-anim"],
|
||||
[97, "s4", "art-joint-anim"]
|
||||
],
|
||||
"(method 51 amphibian)": [
|
||||
[34, "a0", "process-focusable"],
|
||||
[37, "a0", "process-focusable"]
|
||||
],
|
||||
"(method 186 amphibian)": [[41, "s3", "collide-shape-prim-sphere"]],
|
||||
"(code notice amphibian)": [[37, "a1", "art-joint-anim"]],
|
||||
"(enter stare amphibian)": [
|
||||
[35, "a0", "process-focusable"],
|
||||
[38, "a0", "process-focusable"]
|
||||
],
|
||||
"(code attack-spin amphibian)": [
|
||||
[53, "v1", "art-joint-anim"],
|
||||
[203, "a0", "process-focusable"],
|
||||
[102, "v1", "art-joint-anim"],
|
||||
[136, "v1", "art-joint-anim"],
|
||||
[206, "a0", "process-focusable"]
|
||||
],
|
||||
"(enter attack-spin amphibian)": [
|
||||
[56, "gp", "process-focusable"],
|
||||
[59, "gp", "process-focusable"]
|
||||
],
|
||||
"(post attack-forward-lunge amphibian)": [
|
||||
[14, "a0", "process-focusable"],
|
||||
[17, "a0", "process-focusable"]
|
||||
],
|
||||
"(code stare-idle amphibian)": [[23, "v1", "art-joint-anim"]],
|
||||
"(code stare amphibian)": [
|
||||
[53, "v1", "art-joint-anim"],
|
||||
[102, "v1", "art-joint-anim"],
|
||||
[136, "v1", "art-joint-anim"]
|
||||
],
|
||||
"(enter notice amphibian)": [
|
||||
[20, "a0", "process-focusable"],
|
||||
[23, "a0", "process-focusable"]
|
||||
],
|
||||
"(code active amphibian)": [
|
||||
[69, "v1", "art-joint-anim"],
|
||||
[135, "v1", "art-joint-anim"]
|
||||
],
|
||||
"(method 185 amphibian)": [
|
||||
[33, "a0", "process-focusable"],
|
||||
[36, "a0", "process-focusable"]
|
||||
],
|
||||
"amphibian-joint-mod-callback": [
|
||||
[12, "s2", "amphibian-joint-mod"],
|
||||
[18, "s2", "amphibian-joint-mod"],
|
||||
[48, "s2", "amphibian-joint-mod"],
|
||||
[49, "v1", "amphibian"]
|
||||
],
|
||||
"(method 7 hopper)": [
|
||||
[14, "t9", "(function process-focusable int process-focusable)"]
|
||||
],
|
||||
"(method 132 hopper)": [[16, "t9", "(function enemy none)"]],
|
||||
"(code active hopper)": [[22, "v1", "art-joint-anim"]],
|
||||
"(trans hostile hopper)": [
|
||||
[24, "gp", "process-focusable"],
|
||||
[153, "gp", "process-focusable"],
|
||||
[156, "gp", "process-focusable"]
|
||||
],
|
||||
"(method 88 hopper)": [[16, "a1", "art-joint-anim"]],
|
||||
"(method 87 hopper)": [[16, "a1", "art-joint-anim"]],
|
||||
"(method 89 hopper)": [[16, "a1", "art-joint-anim"]],
|
||||
"(method 78 hopper)": [
|
||||
[18, "s4", "art-joint-anim"],
|
||||
[56, "v1", "art-joint-anim"]
|
||||
],
|
||||
"(method 77 hopper)": [
|
||||
[33, "a1", "art-joint-anim"],
|
||||
[86, "a1", "art-joint-anim"]
|
||||
],
|
||||
"(method 7 metalmonk)": [
|
||||
[14, "t9", "(function process-focusable int process-focusable)"]
|
||||
],
|
||||
"(method 87 metalmonk)": [[27, "s5", "art-joint-anim"]],
|
||||
"(method 104 metalmonk)": [
|
||||
[14, "a0", "process-focusable"],
|
||||
[17, "a0", "process-focusable"]
|
||||
],
|
||||
"(code attack metalmonk)": [[37, "s5", "art-joint-anim"]],
|
||||
"(code active metalmonk)": [
|
||||
[205, "a1", "art-joint-anim"],
|
||||
[118, "gp", "art-joint-anim"]
|
||||
],
|
||||
"(trans hostile metalmonk)": [
|
||||
[29, "gp", "process-focusable"],
|
||||
[71, "gp", "process-focusable"],
|
||||
[74, "gp", "process-focusable"]
|
||||
],
|
||||
"(method 180 metalmonk)": [[4, "v1", "collide-shape-prim-group"]],
|
||||
"(method 78 metalmonk)": [
|
||||
[18, "s4", "art-joint-anim"],
|
||||
[83, "s4", "art-joint-anim"]
|
||||
],
|
||||
"(method 77 metalmonk)": [
|
||||
[37, "a1", "art-joint-anim"],
|
||||
[106, "s5", "art-joint-anim"],
|
||||
[163, "s4", "art-joint-anim"]
|
||||
],
|
||||
"(trans victory metalmonk)": [
|
||||
[28, "a0", "process-focusable"],
|
||||
[31, "a0", "process-focusable"]
|
||||
],
|
||||
"(method 46 ginsu)": [[8, "v1", "collide-shape-prim-group"]],
|
||||
"(method 183 ginsu)": [[2, "v1", "collide-shape-prim-group"]],
|
||||
"(method 70 ginsu)": [
|
||||
[33, "v1", "float"],
|
||||
[30, "a0", "int"]
|
||||
],
|
||||
"(method 181 ginsu)": [
|
||||
[18, "a0", "process-focusable"],
|
||||
[21, "a0", "process-focusable"]
|
||||
],
|
||||
"(trans attack ginsu)": [[32, "a0", "process-focusable"]],
|
||||
"(trans anticipate-attack ginsu)": [[27, "a0", "process-focusable"]],
|
||||
"(method 142 ginsu)": [
|
||||
[16, "a0", "process-focusable"],
|
||||
[19, "a0", "process-focusable"]
|
||||
],
|
||||
"(method 10 ginsu)": [[6, "t9", "(function none :behavior part-spawner)"]],
|
||||
"(code victory centurion)": [[30, "v1", "art-joint-anim"]],
|
||||
"(code fire centurion)": [
|
||||
[22, "a0", "process-focusable"],
|
||||
[25, "a0", "process-focusable"],
|
||||
[43, "v1", "art-joint-anim"],
|
||||
[76, "gp", "process-focusable"],
|
||||
[95, "gp", "process-focusable"],
|
||||
[311, "v1", "art-joint-anim"],
|
||||
[374, "v1", "art-joint-anim"],
|
||||
[98, "gp", "process-focusable"],
|
||||
[163, "a0", "process-focusable"],
|
||||
[166, "a0", "process-focusable"]
|
||||
],
|
||||
"(code active centurion)": [[22, "v1", "art-joint-anim"]],
|
||||
"(code attack centurion)": [[14, "v1", "art-joint-anim"]],
|
||||
"(enter attack centurion)": [
|
||||
[3, "a0", "collide-shape-prim-group"],
|
||||
[9, "v1", "collide-shape-prim-group"]
|
||||
],
|
||||
"(exit attack centurion)": [
|
||||
[3, "a0", "collide-shape-prim-group"],
|
||||
[9, "v1", "collide-shape-prim-group"]
|
||||
],
|
||||
"(method 55 centurion)": [
|
||||
[246, "a0", "process-focusable"],
|
||||
[249, "a0", "process-focusable"],
|
||||
[341, "a2", "float"]
|
||||
],
|
||||
"(code hostile centurion)": [
|
||||
[87, "a0", "process-focusable"],
|
||||
[90, "a0", "process-focusable"]
|
||||
],
|
||||
"(method 7 centurion)": [
|
||||
[14, "t9", "(function process-focusable int process-focusable)"]
|
||||
],
|
||||
"(method 78 centurion)": [
|
||||
[18, "v1", "art-joint-anim"],
|
||||
[53, "s4", "art-joint-anim"],
|
||||
[82, "v1", "art-joint-anim"]
|
||||
],
|
||||
"(method 77 centurion)": [
|
||||
[18, "v1", "art-joint-anim"],
|
||||
[72, "a1", "art-joint-anim"],
|
||||
[117, "a1", "art-joint-anim"],
|
||||
[151, "s4", "art-joint-anim"]
|
||||
],
|
||||
"(trans hostile centurion)": [
|
||||
[25, "a0", "process-focusable"],
|
||||
[31, "s5", "process-focusable"],
|
||||
[21, "s5", "process-focusable"]
|
||||
],
|
||||
"(method 180 centurion)": [
|
||||
[28, "s0", "process-focusable"],
|
||||
[49, "s0", "process-focusable"]
|
||||
],
|
||||
"(method 132 centurion)": [[13, "t9", "(function enemy none)"]],
|
||||
"(method 31 centurion-shot)": [[7, "t9", "(function projectile none)"]],
|
||||
"(method 28 centurion-shot)": [
|
||||
[49, "t9", "(function projectile projectile-options sound-id)"]
|
||||
],
|
||||
"(method 74 centurion)": [
|
||||
[76, "v1", "attack-info"],
|
||||
[78, "v1", "attack-info"],
|
||||
[85, "v1", "attack-info"]
|
||||
],
|
||||
"(method 30 rhino-wall)": [[5, "v1", "collide-shape-prim-group"]],
|
||||
"(code circling rhino)": [
|
||||
[129, "gp", "art-joint-anim"],
|
||||
[243, "v1", "art-joint-anim"]
|
||||
],
|
||||
"(code charge rhino)": [
|
||||
[29, "v1", "art-joint-anim"],
|
||||
[85, "v1", "art-joint-anim"],
|
||||
[137, "v1", "art-joint-anim"]
|
||||
],
|
||||
"(code stop-run rhino)": [
|
||||
[14, "v1", "art-joint-anim"],
|
||||
[85, "a0", "process-focusable"],
|
||||
[88, "a0", "process-focusable"],
|
||||
[145, "a1", "art-joint-anim"]
|
||||
],
|
||||
"(code attack rhino)": [[15, "v1", "art-joint-anim"]],
|
||||
"(trans hostile rhino)": [
|
||||
[20, "a0", "process-focusable"],
|
||||
[20, "a0", "process-focusable"],
|
||||
[23, "a0", "process-focusable"],
|
||||
[81, "a0", "process-focusable"],
|
||||
[84, "a0", "process-focusable"],
|
||||
[113, "s3", "process-focusable"],
|
||||
[19, "s3", "process-focusable"],
|
||||
[80, "s3", "process-focusable"],
|
||||
[117, "a0", "process-focusable"],
|
||||
[116, "s3", "process-focusable"]
|
||||
],
|
||||
"(code die rhino)": [[33, "v1", "art-joint-anim"]],
|
||||
"(code hit rhino)": [
|
||||
[30, "v1", "art-joint-anim"],
|
||||
[83, "v1", "art-joint-anim"]
|
||||
],
|
||||
"(method 104 rhino)": [
|
||||
[30, "a0", "process-focusable"],
|
||||
[30, "a0", "process-focusable"],
|
||||
[33, "a0", "process-focusable"]
|
||||
],
|
||||
"(enter victory rhino)": [
|
||||
[8, "v1", "collide-shape-prim-group"],
|
||||
[12, "v1", "collide-shape-prim-group"],
|
||||
[17, "a0", "collide-shape-prim-group"]
|
||||
],
|
||||
"(code victory rhino)": [
|
||||
[14, "v1", "art-joint-anim"],
|
||||
[59, "a0", "collide-shape-prim-group"],
|
||||
[64, "a0", "collide-shape-prim-group"],
|
||||
[69, "a0", "collide-shape-prim-group"],
|
||||
[81, "v1", "art-joint-anim"],
|
||||
[140, "a0", "process-focusable"],
|
||||
[143, "a0", "process-focusable"],
|
||||
[157, "gp", "process-focusable"],
|
||||
[180, "a0", "collide-shape-prim-group"],
|
||||
[201, "v1", "art-joint-anim"],
|
||||
[290, "a0", "process-focusable"],
|
||||
[139, "gp", "process-focusable"],
|
||||
[293, "a0", "process-focusable"]
|
||||
],
|
||||
"(method 7 rhino)": [
|
||||
[14, "t9", "(function process-focusable int process-focusable)"]
|
||||
],
|
||||
"(method 74 rhino)": [[68, "s2", "process-focusable"]],
|
||||
"(method 182 rhino)": [[36, "s2", "process-drawable"]],
|
||||
"(exit victory rhino)": [
|
||||
[10, "v1", "collide-shape-prim-group"],
|
||||
[14, "v1", "collide-shape-prim-group"]
|
||||
],
|
||||
"(code run-away rhino)": [[14, "v1", "art-joint-anim"]],
|
||||
"(code hit rhino-wall)": [
|
||||
[42, "a2", "art-joint-anim"],
|
||||
[32, "v0", "art-joint-anim"]
|
||||
],
|
||||
"(trans hostile grenadier)": [
|
||||
[19, "a0", "process-focusable"],
|
||||
[156, "a0", "process-focusable"],
|
||||
[22, "a0", "process-focusable"]
|
||||
],
|
||||
"(method 181 grenadier)": [
|
||||
[21, "a0", "process-focusable"],
|
||||
[24, "a0", "process-focusable"],
|
||||
[79, "a0", "process-focusable"],
|
||||
[82, "a0", "process-focusable"],
|
||||
[20, "s5", "process-focusable"],
|
||||
[78, "s5", "process-focusable"]
|
||||
],
|
||||
"(code hit grenadier)": [
|
||||
[87, "gp", "art-joint-anim"],
|
||||
[210, "a0", "process-focusable"]
|
||||
],
|
||||
"(code victory grenadier)": [
|
||||
[27, "v1", "art-joint-anim"],
|
||||
[76, "v1", "art-joint-anim"]
|
||||
],
|
||||
"(post attack grenadier)": [
|
||||
[24, "a0", "process-focusable"],
|
||||
[27, "a0", "process-focusable"]
|
||||
],
|
||||
"(code attack grenadier)": [
|
||||
[74, "v1", "art-joint-anim"],
|
||||
[163, "v1", "art-joint-anim"],
|
||||
[295, "a0", "process-focusable"],
|
||||
[298, "a0", "process-focusable"],
|
||||
[317, "v1", "art-joint-anim"],
|
||||
[366, "v1", "art-joint-anim"]
|
||||
],
|
||||
"(event attack grenadier)": [
|
||||
[23, "s4", "process-focusable"],
|
||||
[27, "a0", "process-focusable"],
|
||||
[26, "s4", "process-focusable"]
|
||||
],
|
||||
"(method 78 grenadier)": [
|
||||
[18, "s4", "art-joint-anim"],
|
||||
[63, "a1", "art-joint-anim"],
|
||||
[93, "v1", "art-joint-anim"]
|
||||
],
|
||||
"(exit spin-kick grenadier)": [[2, "v1", "collide-shape-prim-group"]],
|
||||
"(post spin-kick grenadier)": [
|
||||
[24, "a0", "process-focusable"],
|
||||
[27, "a0", "process-focusable"]
|
||||
],
|
||||
"(code spin-kick grenadier)": [[14, "v1", "art-joint-anim"]],
|
||||
"(enter spin-kick grenadier)": [[29, "v1", "collide-shape-prim-group"]],
|
||||
"(code backup grenadier)": [[10, "v1", "art-joint-anim"]],
|
||||
"(method 7 grenadier)": [
|
||||
[21, "t9", "(function process-focusable int process-focusable)"]
|
||||
],
|
||||
"(method 70 grenadier)": [[41, "a0", "process-focusable"]],
|
||||
"(code active grenadier)": [
|
||||
[140, "v1", "art-joint-anim"],
|
||||
[202, "v1", "art-joint-anim"],
|
||||
[51, "v1", "art-joint-anim"],
|
||||
[27, "s5", "pair"],
|
||||
[311, "v1", "art-joint-anim"]
|
||||
],
|
||||
"(code hostile grenadier)": [[45, "gp", "art-joint-anim"]],
|
||||
"rapid-gunner-common-post": [
|
||||
[14, "a0", "process-focusable"],
|
||||
[17, "a0", "process-focusable"]
|
||||
],
|
||||
"(post notice rapid-gunner)": [
|
||||
[24, "a0", "process-focusable"],
|
||||
[27, "a0", "process-focusable"]
|
||||
],
|
||||
"(code notice rapid-gunner)": [[30, "v1", "art-joint-anim"]],
|
||||
"(enter notice rapid-gunner)": [
|
||||
[85, "a0", "process-focusable"],
|
||||
[88, "a0", "process-focusable"]
|
||||
],
|
||||
"(trans attack rapid-gunner)": [
|
||||
[30, "a0", "process-focusable"],
|
||||
[33, "a0", "process-focusable"],
|
||||
[37, "a0", "process-focusable"],
|
||||
[40, "a0", "process-focusable"],
|
||||
[67, "gp", "process-focusable"],
|
||||
[170, "gp", "process-focusable"],
|
||||
[173, "gp", "process-focusable"],
|
||||
[36, "gp", "process-focusable"],
|
||||
[29, "gp", "process-focusable"]
|
||||
],
|
||||
"(post attack rapid-gunner)": [
|
||||
[32, "a0", "process-focusable"],
|
||||
[35, "a0", "process-focusable"]
|
||||
],
|
||||
"(code attack rapid-gunner)": [[103, "v1", "art-joint-anim"]],
|
||||
"(code hop rapid-gunner)": [
|
||||
[89, "v1", "art-joint-anim"],
|
||||
[120, "v1", "art-joint-anim"]
|
||||
],
|
||||
"(post hop-turn rapid-gunner)": [
|
||||
[32, "a0", "process-focusable"],
|
||||
[35, "a0", "process-focusable"]
|
||||
],
|
||||
"(method 7 rapid-gunner)": [
|
||||
[14, "t9", "(function process-focusable int process-focusable)"]
|
||||
],
|
||||
"(exit spin-attack rapid-gunner)": [[13, "v1", "collide-shape-prim-group"]],
|
||||
"(post spin-attack rapid-gunner)": [
|
||||
[24, "a0", "process-focusable"],
|
||||
[27, "a0", "process-focusable"]
|
||||
],
|
||||
"(code spin-attack rapid-gunner)": [[14, "v1", "art-joint-anim"]],
|
||||
"(enter spin-attack rapid-gunner)": [[29, "v1", "collide-shape-prim-group"]],
|
||||
"(code hostile rapid-gunner)": [[118, "v1", "art-joint-anim"]],
|
||||
"(trans hostile rapid-gunner)": [
|
||||
[27, "a0", "process-focusable"],
|
||||
[30, "a0", "process-focusable"],
|
||||
[58, "gp", "process-focusable"],
|
||||
[26, "gp", "process-focusable"]
|
||||
],
|
||||
"(code reload rapid-gunner)": [[14, "v1", "art-joint-anim"]],
|
||||
"(code cool-down rapid-gunner)": [[14, "v1", "art-joint-anim"]],
|
||||
"(code hop-turn rapid-gunner)": [[14, "v1", "art-joint-anim"]],
|
||||
"(method 78 rapid-gunner)": [
|
||||
[21, "v1", "art-joint-anim"],
|
||||
[67, "a1", "art-joint-anim"],
|
||||
[94, "a1", "art-joint-anim"]
|
||||
],
|
||||
"(method 79 tomb-baby-spider)": [
|
||||
[49, "v1", "art-joint-anim"],
|
||||
[77, "v1", "art-joint-anim"],
|
||||
[127, "v1", "collide-shape-prim-group"],
|
||||
[131, "v1", "collide-shape-prim-group"],
|
||||
[135, "v1", "collide-shape-prim-group"],
|
||||
[137, "v1", "collide-shape-prim-group"],
|
||||
[139, "v1", "collide-shape-prim-group"]
|
||||
],
|
||||
"(method 78 tomb-baby-spider)": [
|
||||
[13, "a2", "art-joint-anim"],
|
||||
[50, "a2", "art-joint-anim"]
|
||||
],
|
||||
"(method 77 tomb-baby-spider)": [
|
||||
[2, "a2", "collide-shape-prim-group"],
|
||||
[36, "a2", "art-joint-anim"],
|
||||
[73, "a2", "art-joint-anim"],
|
||||
[10, "a2", "collide-shape-prim-group"]
|
||||
],
|
||||
"(code attack-stop tomb-baby-spider)": [[10, "v1", "art-joint-anim"]],
|
||||
"(exit attack tomb-baby-spider)": [[2, "v1", "collide-shape-prim-group"]],
|
||||
"(enter attack tomb-baby-spider)": [[14, "v1", "collide-shape-prim-group"]],
|
||||
"(code attack tomb-baby-spider)": [[30, "v1", "art-joint-anim"]],
|
||||
"(code notice tomb-baby-spider)": [
|
||||
[27, "a0", "process-focusable"],
|
||||
[30, "a0", "process-focusable"],
|
||||
[52, "v1", "art-joint-anim"],
|
||||
[115, "v1", "art-joint-anim"]
|
||||
],
|
||||
"(code active tomb-baby-spider)": [
|
||||
[30, "v1", "art-joint-anim"],
|
||||
[126, "v1", "art-joint-anim"],
|
||||
[188, "v1", "art-joint-anim"],
|
||||
[297, "v1", "art-joint-anim"]
|
||||
],
|
||||
"monster-frog-hop-fast-code": [
|
||||
[15, "v1", "art-joint-anim"],
|
||||
[72, "v1", "art-joint-anim"]
|
||||
],
|
||||
"monster-frog-hop-slow-code": [
|
||||
[231, "v1", "art-joint-anim"],
|
||||
[288, "v1", "art-joint-anim"],
|
||||
[46, "v1", "art-joint-anim"],
|
||||
[117, "v1", "art-joint-anim"]
|
||||
],
|
||||
"(method 78 monster-frog)": [
|
||||
[19, "v1", "art-joint-anim"],
|
||||
[54, "v1", "art-joint-anim"],
|
||||
[89, "v1", "art-joint-anim"],
|
||||
[121, "v1", "art-joint-anim"]
|
||||
],
|
||||
"(method 77 monster-frog)": [
|
||||
[19, "v1", "art-joint-anim"],
|
||||
[54, "v1", "art-joint-anim"],
|
||||
[89, "v1", "art-joint-anim"],
|
||||
[121, "v1", "art-joint-anim"]
|
||||
],
|
||||
"(code attack-recover monster-frog)": [
|
||||
[10, "v1", "art-joint-anim"],
|
||||
[87, "v1", "art-joint-anim"],
|
||||
[158, "v1", "art-joint-anim"]
|
||||
],
|
||||
"(code attack monster-frog)": [[19, "v1", "art-joint-anim"]],
|
||||
"(code turn monster-frog)": [
|
||||
[21, "v1", "art-joint-anim"],
|
||||
[79, "v1", "art-joint-anim"]
|
||||
],
|
||||
"(code active monster-frog)": [
|
||||
[27, "v1", "art-joint-anim"],
|
||||
[80, "v1", "art-joint-anim"],
|
||||
[172, "v1", "art-joint-anim"],
|
||||
[234, "v1", "art-joint-anim"],
|
||||
[343, "v1", "art-joint-anim"]
|
||||
],
|
||||
"(code notice monster-frog)": [
|
||||
[23, "v1", "art-joint-anim"],
|
||||
[71, "v1", "art-joint-anim"],
|
||||
[103, "a0", "process-focusable"],
|
||||
[106, "a0", "process-focusable"],
|
||||
[149, "v1", "art-joint-anim"]
|
||||
],
|
||||
"(code ambush monster-frog)": [
|
||||
[21, "a0", "process-focusable"],
|
||||
[24, "a0", "process-focusable"],
|
||||
[68, "v1", "art-joint-anim"]
|
||||
],
|
||||
"(post turn monster-frog)": [
|
||||
[24, "a0", "process-focusable"],
|
||||
[27, "a0", "process-focusable"]
|
||||
],
|
||||
"(code hostile monster-frog)": [
|
||||
[18, "a0", "process-focusable"],
|
||||
[21, "a0", "process-focusable"],
|
||||
[117, "v1", "art-joint-anim"],
|
||||
[202, "v1", "art-joint-anim"]
|
||||
],
|
||||
"(method 77 predator)": [
|
||||
[21, "v1", "art-joint-anim"],
|
||||
[53, "v1", "art-joint-anim"],
|
||||
[96, "v1", "art-joint-anim"],
|
||||
[126, "v1", "art-joint-anim"],
|
||||
[160, "v1", "art-joint-anim"],
|
||||
[192, "v1", "art-joint-anim"]
|
||||
],
|
||||
"(method 78 predator)": [
|
||||
[21, "v1", "art-joint-anim"],
|
||||
[53, "v1", "art-joint-anim"],
|
||||
[89, "v1", "art-joint-anim"],
|
||||
[123, "v1", "art-joint-anim"],
|
||||
[155, "v1", "art-joint-anim"]
|
||||
],
|
||||
"(method 7 predator)": [
|
||||
[9, "t9", "(function process-focusable int process-focusable)"]
|
||||
],
|
||||
"(method 184 predator)": [
|
||||
[67, "s2", "process-focusable"],
|
||||
[79, "a0", "process-focusable"],
|
||||
[78, "s2", "process-focusable"],
|
||||
[108, "s2", "process-focusable"]
|
||||
],
|
||||
"(method 182 predator)": [[4, "v1", "collide-shape-prim-group"]],
|
||||
"(code active predator)": [[22, "v1", "art-joint-anim"]],
|
||||
"(post idle predator)": [[4, "t9", "(function none)"]],
|
||||
"(code fire predator)": [
|
||||
[26, "v1", "art-joint-anim"],
|
||||
[103, "a0", "process-focusable"],
|
||||
[102, "s5", "process-focusable"],
|
||||
[121, "s5", "process-focusable"],
|
||||
[124, "s5", "process-focusable"]
|
||||
],
|
||||
"(code close-attack predator)": [
|
||||
[14, "v1", "art-joint-anim"],
|
||||
[71, "v1", "art-joint-anim"]
|
||||
],
|
||||
"(trans hidden predator)": [
|
||||
[40, "gp", "process-focusable"],
|
||||
[43, "gp", "process-focusable"]
|
||||
],
|
||||
"(code hidden predator)": [
|
||||
[14, "v1", "art-joint-anim"],
|
||||
[75, "v1", "art-joint-anim"]
|
||||
],
|
||||
"(code hostile predator)": [
|
||||
[14, "v1", "art-joint-anim"],
|
||||
[67, "v1", "art-joint-anim"]
|
||||
],
|
||||
"(trans hostile predator)": [
|
||||
[52, "gp", "process-focusable"],
|
||||
[55, "gp", "process-focusable"]
|
||||
],
|
||||
"(code hide predator)": [[14, "v1", "art-joint-anim"]],
|
||||
"(trans hide predator)": [
|
||||
[21, "gp", "process-focusable"],
|
||||
[24, "gp", "process-focusable"]
|
||||
],
|
||||
"(method 186 predator)": [[17, "v1", "int"]],
|
||||
"(method 77 rapid-gunner)": [
|
||||
[29, "v1", "art-joint-anim"],
|
||||
[149, "v1", "art-joint-anim"],
|
||||
[266, "a1", "art-joint-anim"],
|
||||
[116, "s4", "art-joint-anim"],
|
||||
[233, "s5", "art-joint-anim"]
|
||||
],
|
||||
"(method 11 predator-manager)": [
|
||||
["_stack_", 16, "res-tag"],
|
||||
[281, "s2", "process-drawable"]
|
||||
]
|
||||
}
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
|
||||
// if you want to filter to only some object names.
|
||||
// it will make the decompiler much faster.
|
||||
"allowed_objects": ["pegasus"],
|
||||
"allowed_objects": [],
|
||||
"banned_objects": ["texture-anim-tables", "traffic-engine"],
|
||||
|
||||
////////////////////////////
|
||||
|
||||
@@ -828,7 +828,10 @@ const std::unordered_map<
|
||||
{"lightning-probe-vars", {{"probe-dirs", ArrayFieldDecompMeta(TypeSpec("vector"), 16)}}},
|
||||
{"nav-mesh",
|
||||
{{"poly-array", ArrayFieldDecompMeta(TypeSpec("nav-poly"), 64)},
|
||||
{"nav-control-array", ArrayFieldDecompMeta(TypeSpec("nav-control"), 288)}}}}}};
|
||||
{"nav-control-array", ArrayFieldDecompMeta(TypeSpec("nav-control"), 288)}}},
|
||||
{"predator-graph",
|
||||
{{"node", ArrayFieldDecompMeta(TypeSpec("predator-node"), 48)},
|
||||
{"edge", ArrayFieldDecompMeta(TypeSpec("predator-edge"), 4)}}}}}};
|
||||
|
||||
goos::Object decompile_structure(const TypeSpec& type,
|
||||
const DecompilerLabel& label,
|
||||
|
||||
Reference in New Issue
Block a user