target-death PAL patch

This commit is contained in:
ManDude
2022-06-19 13:24:13 +01:00
parent 01e2336c91
commit 461c807f25
6 changed files with 298 additions and 276 deletions
+1 -1
View File
@@ -6,7 +6,7 @@
// if you want to filter to only some object names.
// it will make the decompiler much faster.
"allowed_objects": ["target2", "eichar-ag"],
"allowed_objects": ["target-death", "eichar-ag", "deathcam-ag"],
"banned_objects": [],
////////////////////////////
+42 -42
View File
@@ -1538,48 +1538,6 @@
["L484", "uint64", true]
],
"target-death": [
["L308", "vector"],
["L316", "float", true],
["L317", "float", true],
["L318", "float", true],
["L319", "float", true],
["L320", "float", true],
["L321", "float", true],
["L322", "float", true],
["L323", "float", true],
["L324", "float", true],
["L325", "float", true],
["L326", "float", true],
["L327", "float", true],
["L328", "float", true],
["L329", "float", true],
["L330", "float", true],
["L331", "float", true],
["L332", "float", true],
["L333", "float", true],
["L334", "float", true],
["L335", "float", true],
["L336", "float", true],
["L337", "float", true],
["L338", "float", true],
["L339", "float", true],
["L340", "float", true],
["L341", "float", true],
["L342", "float", true],
["L343", "float", true],
["L344", "uint64", true],
["L345", "uint64", true],
["L346", "uint64", true],
["L347", "uint64", true],
["L348", "uint64", true],
["L349", "uint64", true],
["L350", "uint64", true],
["L351", "uint64", true],
["L352", "uint64", true],
["L355", "float", true]
],
"collide-shape": [
["L399", "attack-info"],
["L408", "vector"],
@@ -2147,6 +2105,48 @@
["L759", "uint64", true]
],
"target-death": [
["L314", "vector"],
["L322", "float", true],
["L323", "float", true],
["L324", "float", true],
["L325", "float", true],
["L326", "float", true],
["L327", "float", true],
["L328", "float", true],
["L329", "float", true],
["L330", "float", true],
["L331", "float", true],
["L332", "float", true],
["L333", "float", true],
["L334", "float", true],
["L335", "float", true],
["L336", "float", true],
["L337", "float", true],
["L338", "float", true],
["L339", "float", true],
["L340", "float", true],
["L341", "float", true],
["L342", "float", true],
["L343", "float", true],
["L344", "float", true],
["L345", "float", true],
["L346", "float", true],
["L347", "float", true],
["L348", "float", true],
["L349", "float", true],
["L350", "uint64", true],
["L351", "uint64", true],
["L352", "uint64", true],
["L353", "uint64", true],
["L354", "uint64", true],
["L355", "uint64", true],
["L356", "uint64", true],
["L357", "uint64", true],
["L358", "uint64", true],
["L361", "float", true]
],
// please do not add things after this entry! git is dumb.
"object-file-that-doesnt-actually-exist-and-i-just-put-this-here-to-prevent-merge-conflicts-with-this-file": []
}
+7 -9
View File
@@ -5600,15 +5600,6 @@
[164, "v1", "art-joint-anim"]
],
"(code target-death)": [
[533, "v1", "art-joint-anim"],
[655, "v0", "int"],
[691, "v1", "process-drawable"],
[844, "gp", "spool-anim"],
[[957, 1035], "s5", "handle"],
[1010, "gp", "spool-anim"]
],
"(anon-function 1 target-death)": [
[12, "gp", "process-drawable"],
[16, "gp", "process-drawable"]
@@ -7707,5 +7698,12 @@
[[15, 135], "s4", "target"] // confusing -- the parent of a target is a target?
],
"(code target-death)": [
[561, "v1", "art-joint-anim"],
[683, "v0", "int"],
[719, "v1", "process-drawable"],
[[985, 1063], "s5", "handle"]
],
"placeholder-do-not-add-below": []
}
+162 -160
View File
@@ -30,168 +30,170 @@
;; This is the collide shape for target (Jak).
;; It is complicated.
(deftype control-info (collide-shape-moving)
(
(unknown-vector00 vector :inline :offset 448) ;; from - logic-target::build-conversions
(unknown-vector01 vector :inline :offset 464) ;; from - logic-target::turn-to-vector
(unknown-vector02 vector :inline :offset 480) ;; from - logic-target::do-rotations2
(unknown-quaternion00 quaternion :inline :offset 496) ;; from - target-util::(method 27 control-info)
(unknown-quaternion01 quaternion :inline :offset 512) ;; from - logic-target::do-rotations2
(unknown-float00 float :offset 528) ;; from - logic-target::do-rotations2
(unknown-float01 float :offset 532)
(unknown-float02 float :offset 536) ;; from - logic-target::add-thrust
(unknown-vector10 vector :inline :offset 544) ;; from - logic-target::flat-setup
(unknown-vector11 vector :inline :offset 560) ;; from - logic-target::target-no-move-post
(unknown-vector12 vector :inline :offset 576)
(unknown-vector13 vector :inline :offset 592) ;; from - collide-shape::method-37 | target::mod-var-jump
(unknown-vector14 vector :inline :offset 608) ;; from - logic-target::target-no-move-post
(unknown-vector15 vector :inline :offset 624) ;; from - collide-shape::method-37 | target-handler::target-exit
(unknown-vector16 vector :inline :offset 640) ;; from - collide-shape::method-37
(unknown-dynamics00 dynamics :offset 656) ;; from - logic-target::bend-gravity
(unknown-surface00 surface :offset 660)
(unknown-surface01 surface :offset 664) ;; not a symbol - target-util::target-align-vel-z-adjust
(unknown-cpad-info00 cpad-info :offset 668) ;; not a symbol - target-util::move-legs?
(unknown-float10 float :offset 672) ;; from - logic-target::turn-to-vector
(unknown-float11 float :offset 676) ;; from - logic-target::turn-to-vector
(unknown-float12 float :offset 680) ;; from - logic-target::turn-to-vector
(unknown-float13 float :offset 684) ;; from - logic-target::turn-to-vector
(unknown-vector20 vector :inline :offset 688) ;; from - logic-target::turn-to-vector
(unknown-vector21 vector :inline :offset 704) ;; from - logic-target::turn-to-vector
(unknown-vector22 vector :inline :offset 720) ;; from - logic-target::turn-to-vector
(unknown-vector23 vector :inline :offset 736) ;; from - logic-target::turn-to-vector
; (unknown-dword-temp-01 uint64 :offset 776) ;; from - logic-target::read-pad
(unknown-vector-array00 vector 7 :inline :offset 752) ;; from - logic-target::turn-to-vector
(unknown-vector30 vector :inline :offset 880) ;; from - logic-target::read-pad
(unknown-vector31 vector :inline :offset 896) ;; from - logic-target::read-pad
(unknown-float20 float :offset 912) ;; from - logic-target::read-pad
(unknown-float21 float :offset 916) ;; from - logic-target::read-pad
(unknown-dword00 uint64 :offset 920) ;; from - logic-target::read-pad
(unknown-matrix00 matrix :inline :offset 928) ;; from - target-util::(method 16 target)
(unknown-matrix01 matrix :inline :offset 992) ;; from - target-util::(method 16 target)
(unknown-matrix02 matrix :inline :offset 1056) ;; from - logic-target::joint-points
(unknown-qword00 uint128 :offset 1136)
(unknown-float30 float :offset 1140) ;; from - logic-target::target-calc-camera-pos
(unknown-vector40 vector :inline :offset 1152) ;; from - logic-target::target-real-post
(unknown-float40 float :offset 1172) ;; from - target-death::lambda-1
(unknown-float41 float :offset 1176) ;; from - logic-target::do-rotations2
(unknown-int00 int32 :offset 1180) ;; from - logic-target::joint-points
(unknown-float50 float :offset 1168) ;; from - logic-target::target-real-post
(unknown-vector50 vector :inline :offset 1184) ;; from - logic-target::build-conversions
(unknown-vector51 vector :inline :offset 1200) ;; from - logic-target::build-conversions
(unknown-vector52 vector :inline :offset 1216)
(unknown-vector53 vector :inline :offset 1232)
(last-known-safe-ground vector :inline :offset 1248)
(unknown-vector55 vector :inline :offset 1264)
(unknown-dword10 time-frame :offset 1280) ;; from - collide-reaction-target::target-collision-reaction
(unknown-dword11 time-frame :offset 1288) ;; from - target-util::can-jump?
(unknown-float60 float :offset 1300) ;; from - target-util::can-duck?
(unknown-float61 float :offset 1304) ;; from - target-util::target-align-vel-z-adjust
(unknown-float62 float :offset 1308) ;; from - target-util::target-print-stats
(unknown-float63 float :offset 1312) ;; from - logic-target::target-compute-slopes
(unknown-float64 float :offset 1316) ;; from - logic-target::target-compute-slopes
(unknown-dword20 time-frame :offset 1320) ;; from target-util::turn-around? - TODO
(unknown-dword21 time-frame :offset 1328) ;; from target-util::turn-around? - TODO
(unknown-dword-coverage int64 :offset 1336)
(unknown-float-coverage-0 float :offset 1344)
(unknown-float-coverage-1 float :offset 1348)
(unknown-float-coverage-2 float :offset 1352)
(unknown-u32-coverage-0 uint32 :offset 1356)
(unknown-vector-coverage-0 vector :inline :offset 1376)
(unknown-vector-coverage-1 vector :inline :offset 1392)
(unknown-vector-coverage-2 vector :inline :offset 1440)
(unknown-vector-coverage-3 vector :inline :offset 1472)
(unknown-vector60 vector :inline :offset 1456) ;; from - logic-target::add-thrust
(unknown-vector61 vector :inline :offset 1504) ;; from - logic-target::add-thrust
(unknown-float70 float :offset 1520) ;; from - logic-target::add-thrust
(unknown-float71 float :offset 1524) ;; from - collide-shape::method-37
(unknown-vector70 vector :inline :offset 1536) ;; from - logic-target::add-thrust
(unknown-vector71 vector :inline :offset 1552) ;; from - target-tube::tube-thrust
(unknown-vector72 vector :inline :offset 1568) ;; from - collide-reaction-racer::racer-collision-reaction
(unknown-vector73 vector :inline :offset 1584) ;; from - collide-reaction-racer::racer-collision-reaction
(unknown-handle00 handle :offset 1600) ;; from logic-target::reset-target-state
(unknown-sphere-array00 collide-shape-prim-sphere 3 :offset 1608) ;; from target-util::target-collide-set! and from target-util::target-danger-set!
(unknown-sphere00 collide-shape-prim-sphere :offset 1632) ;; from target-util::target-danger-set!
(unknown-sphere01 collide-shape-prim-sphere :offset 1636) ;; from target-util::target-danger-set!
(unknown-sphere02 collide-shape-prim-sphere :offset 1640) ;; from target-util::target-danger-set!
(unknown-int50 int32 :offset 1656) ;; from target::(enter target-wheel)
(unknown-dword30 time-frame :offset 1664) ;; from target::(trans target-walk)
(unknown-dword31 time-frame :offset 1672) ;; from target-util::can-hands?
(unknown-dword32 time-frame :offset 1680) ;; from target-util::can-hands?
(unknown-dword33 time-frame :offset 1688) ;; from target-util::can-feet?
(unknown-dword34 time-frame :offset 1696) ;; from target-util::can-feet?
(unknown-dword35 time-frame :offset 1704) ;; from target::(exit target-slide-down)
(unknown-dword36 time-frame :offset 1712) ;; from target::(trans target-jump)
(unknown-float80 float :offset 1724) ;; from logic-target::bend-gravity
(unknown-float81 float :offset 1728) ;; from logic-target::bend-gravity
(unknown-float82 float :offset 1732) ;; from logic-target::bend-gravity
(unknown-vector80 vector :inline :offset 1744) ;; from logic-target::joint-points
(unknown-cspace00 cspace :inline :offset 1760) ;; from logic-target::joint-points
(unknown-vector90 vector :score 100 :inline :offset 1776) ;; from logic-target::target-compute-edge
(unknown-vector91 vector :inline :offset 1792) ;; from logic-target::target-compute-edge
(unknown-vector92 vector :inline :offset 1824) ;; from logic-target::joint-points
(unknown-cspace10 cspace :inline :offset 1808) ;; from logic-target::joint-points
(unknown-symbol00 symbol :offset 1840) ;; from target-util::target-danger-set!
(unknown-float90 float :offset 1844) ;; from target-util::target-danger-set!
(unknown-float91 float :offset 1848) ;; from target-util::target-collide-set!
(unknown-vector-array10 vector 16 :inline :offset 1856) ;; from target-util::turn-around?
(unknown-float100 float :offset 2112) ;; from target-util::turn-around?
(unknown-int10 int32 :offset 2116) ;; from target-util::turn-around?
(unknown-float110 float :offset 2120) ;; from logic-target::target-compute-edge
(unknown-vector100 vector :inline :offset 2128) ;; from logic-target::target-compute-edge
(unknown-vector101 vector :inline :offset 2144) ;; from logic-target::target-compute-edge
(unknown-dword40 time-frame :offset 2160) ;; from logic-target::target-compute-edge
(unknown-dword41 time-frame :offset 2168) ;; from logic-target::target-compute-edge
(unknown-handle10 handle :offset 2176) ;; from logic-target::target-compute-pole - probably a swingpole
(unknown-uint20 uint32 :offset 2184) ;; from target::(trans target-running-attack)
(unknown-spoolanim00 spool-anim :offset 2184) ;; from target2::(trans target-stance-ambient)
(unknown-int20 int32 :offset 2184) ;; from (anon-function 1 basebutton)
(unknown-symbol20 symbol :offset 2184) ;; from (anon-function 1 basebutton)
(unknown-float120 float :offset 2184) ;; from target::mod-var-jump
(unknown-int21 int32 :offset 2188) ;; from logic-target::target-compute-pole
(unknown-uint30 uint32 :offset 2188) ;; from target::(code target-running-attack)
(unknown-float121 float :offset 2188) ;; from target::mod-var-jump
(unknown-uint31 uint32 :offset 2192) ;; from target::(trans target-running-attack)
(unknown-float122 float :offset 2196) ;; from target::(trans target-jump)
(unknown-float123 float :offset 2200) ;; from target::mod-var-jump
(unknown-float124 float :offset 2204) ;; from target::init-var-jump
(unknown-vector102 vector :inline :offset 2224) ;; from (anon-function 3 basebutton)
(unknown-vector103 vector :inline :offset 2240) ;; from (anon-function 3 basebutton)
(unknown-quaternion02 quaternion :inline :offset 2256) ;; from racer-states::(code target-racing-get-on)
(unknown-quaternion03 quaternion :inline :offset 2272) ;; from racer-states::(code target-racing-get-on)
(unknown-smush00 smush-control :inline :offset 2288) ;; from (event target-fishing)
(unknown-vector110 vector :inline :offset 2320) ;; from logic-target::flag-setup
(unknown-vector111 vector :inline :offset 2336) ;; from logic-target::flag-setup
(unknown-symbol30 symbol :offset 2384) ;; from target-util::target-danger-set!
(unknown-int31 uint32 :offset 2384) ;; from target:: (event target-running-attack)
(unknown-dword50 int64 :offset 2392) ;; from target-util::target-start-attack
(unknown-dword51 int64 :offset 2400) ;; from target-util::target-start-attack
(unknown-pointer00 pointer :offset 2416) ;; from target-handler::target-standard-event-handler
(unknown-symbol40 symbol :offset 2428) ;; from logic-target::post-flag-setup
(unknown-dword60 int64 :offset 2432) ;; from target::(enter target-jump)
(unknown-dword61 int64 :offset 2440) ;; from target::(enter target-jump)
(unknown-dword62 int64 :offset 2448) ;; from target::(enter target-jump) - probably some sort of object64 that's used as a vector?
(unknown-dword63 int64 :offset 2456) ;; from target::(enter target-jump)
(unknown-halfword00 int16 :offset 2488) ;; from logic-target::target-move-dist
;; these were determined from racer-collision-reaction.
(history-length int16 :offset 2490)
(history-data collide-history 128 :inline :offset-assert 2496)
(unknown-float140 float :offset 18944)
(unknown-dword70 time-frame :offset 18952) ;; from logic-target::add-thrust
(unknown-int40 int32 :offset 18880) ;; from logic-target::flag-setup
(unknown-dword80 time-frame :offset 18888) ;; from logic-target::post-flag-setup
(unknown-dword81 time-frame :offset 18896) ;; from logic-target::post-flag-setup
(unknown-float130 float :offset 18904) ;; from target2::target-swim-tilt
(unknown-float131 float :offset 18908) ;; from target2::target-swim-tilt
(unknown-dword82 time-frame :offset 18912) ;; from logic-target::reset-target-state
(unknown-vector120 vector :inline :offset 18928) ;; from target::(code target-running-attack)
(unknown-float150 float :offset 18944) ;; from target::(code target-wheel-flip)
(unknown-vector121 vector :inline :offset 18960) ;; from target collide response
(wall-pat pat-surface :offset 18976) ;; pat information for wall-check collision
(unknown-soundid00 sound-id :offset 18980) ;; from powerups::target-powerup-process
(unknown-float141 float :offset 18984) ;; from powerups::target-powerup-process
((unknown-vector00 vector :inline :offset 448)
(unknown-vector01 vector :inline :offset 464)
(unknown-vector02 vector :inline :offset 480)
(unknown-quaternion00 quaternion :inline :offset 496)
(unknown-quaternion01 quaternion :inline :offset 512)
(unknown-float00 float :offset 528)
(unknown-float01 float :offset 532)
(unknown-float02 float :offset 536)
(unknown-vector10 vector :inline :offset 544)
(unknown-vector11 vector :inline :offset 560)
(unknown-vector12 vector :inline :offset 576)
(unknown-vector13 vector :inline :offset 592)
(unknown-vector14 vector :inline :offset 608)
(unknown-vector15 vector :inline :offset 624)
(unknown-vector16 vector :inline :offset 640)
(unknown-dynamics00 dynamics :offset 656)
(unknown-surface00 surface :offset 660)
(unknown-surface01 surface :offset 664)
(unknown-cpad-info00 cpad-info :offset 668)
(unknown-float10 float :offset 672)
(unknown-float11 float :offset 676)
(unknown-float12 float :offset 680)
(unknown-float13 float :offset 684)
(unknown-vector20 vector :inline :offset 688)
(unknown-vector21 vector :inline :offset 704)
(unknown-vector22 vector :inline :offset 720)
(unknown-vector23 vector :inline :offset 736)
(unknown-vector-array00 vector 7 :inline :offset 752)
(unknown-vector30 vector :inline :offset 880)
(unknown-vector31 vector :inline :offset 896)
(unknown-float20 float :offset 912)
(unknown-float21 float :offset 916)
(unknown-dword00 uint64 :offset 920)
(unknown-matrix00 matrix :inline :offset 928)
(unknown-matrix01 matrix :inline :offset 992)
(unknown-matrix02 matrix :inline :offset 1056)
(unknown-qword00 uint128 :offset 1136)
(unknown-float30 float :offset 1140)
(unknown-vector40 vector :inline :offset 1152)
(unknown-float40 float :offset 1172)
(unknown-float41 float :offset 1176)
(unknown-int00 int32 :offset 1180)
(unknown-float50 float :offset 1168)
(unknown-vector50 vector :inline :offset 1184)
(unknown-vector51 vector :inline :offset 1200)
(unknown-vector52 vector :inline :offset 1216)
(unknown-vector53 vector :inline :offset 1232)
(last-known-safe-ground vector :inline :offset 1248)
(unknown-vector55 vector :inline :offset 1264)
(unknown-dword10 time-frame :offset 1280)
(unknown-dword11 time-frame :offset 1288)
(unknown-float60 float :offset 1300)
(unknown-float61 float :offset 1304)
(unknown-float62 float :offset 1308)
(unknown-float63 float :offset 1312)
(unknown-float64 float :offset 1316)
(unknown-dword20 time-frame :offset 1320)
(unknown-dword21 time-frame :offset 1328)
(unknown-dword-coverage int64 :offset 1336)
(unknown-float-coverage-0 float :offset 1344)
(unknown-float-coverage-1 float :offset 1348)
(unknown-float-coverage-2 float :offset 1352)
(unknown-u32-coverage-0 uint32 :offset 1356)
(unknown-vector-coverage-0 vector :inline :offset 1376)
(unknown-vector-coverage-1 vector :inline :offset 1392)
(unknown-vector-coverage-2 vector :inline :offset 1440)
(unknown-vector-coverage-3 vector :inline :offset 1472)
(unknown-vector60 vector :inline :offset 1456)
(unknown-vector61 vector :inline :offset 1504)
(unknown-float70 float :offset 1520)
(unknown-float71 float :offset 1524)
(unknown-vector70 vector :inline :offset 1536)
(unknown-vector71 vector :inline :offset 1552)
(unknown-vector72 vector :inline :offset 1568)
(unknown-vector73 vector :inline :offset 1584)
(unknown-handle00 handle :offset 1600)
(unknown-sphere-array00 collide-shape-prim-sphere 3 :offset 1608)
(unknown-sphere00 collide-shape-prim-sphere :offset 1632)
(unknown-sphere01 collide-shape-prim-sphere :offset 1636)
(unknown-sphere02 collide-shape-prim-sphere :offset 1640)
(unknown-int50 int32 :offset 1656)
(unknown-dword30 time-frame :offset 1664)
(unknown-dword31 time-frame :offset 1672)
(unknown-dword32 time-frame :offset 1680)
(unknown-dword33 time-frame :offset 1688)
(unknown-dword34 time-frame :offset 1696)
(unknown-dword35 time-frame :offset 1704)
(unknown-dword36 time-frame :offset 1712)
(unknown-float80 float :offset 1724)
(unknown-float81 float :offset 1728)
(unknown-float82 float :offset 1732)
(unknown-vector80 vector :inline :offset 1744)
(unknown-cspace00 cspace :inline :offset 1760)
(unknown-vector90 vector :inline :offset 1776)
(unknown-vector91 vector :inline :offset 1792)
(unknown-vector92 vector :inline :offset 1824)
(unknown-cspace10 cspace :inline :offset 1808)
(unknown-symbol00 symbol :offset 1840)
(unknown-float90 float :offset 1844)
(unknown-float91 float :offset 1848)
(unknown-vector-array10 vector 16 :inline :offset 1856)
(unknown-float100 float :offset 2112)
(unknown-int10 int32 :offset 2116)
(unknown-float110 float :offset 2120)
(unknown-vector100 vector :inline :offset 2128)
(unknown-vector101 vector :inline :offset 2144)
(unknown-dword40 time-frame :offset 2160)
(unknown-dword41 time-frame :offset 2168)
(unknown-handle10 handle :offset 2176)
(unknown-uint20 uint32 :offset 2184)
(unknown-spoolanim00 spool-anim :offset 2184)
(unknown-int20 int32 :offset 2184)
(unknown-symbol20 symbol :offset 2184)
(unknown-float120 float :offset 2184)
(unknown-int21 int32 :offset 2188)
(unknown-uint30 uint32 :offset 2188)
(unknown-float121 float :offset 2188)
(unknown-uint31 uint32 :offset 2192)
(unknown-int37 int32 :offset 2192)
(unknown-float122 float :offset 2196)
(unknown-float123 float :offset 2200)
(unknown-float124 float :offset 2204)
(unknown-vector102 vector :inline :offset 2224)
(unknown-vector103 vector :inline :offset 2240)
(unknown-quaternion02 quaternion :inline :offset 2256)
(unknown-quaternion03 quaternion :inline :offset 2272)
(unknown-smush00 smush-control :inline :offset 2288)
(unknown-vector110 vector :inline :offset 2320)
(unknown-vector111 vector :inline :offset 2336)
(unknown-symbol30 symbol :offset 2384)
(unknown-int31 uint32 :offset 2384)
(unknown-dword50 int64 :offset 2392)
(unknown-dword51 int64 :offset 2400)
(unknown-pointer00 pointer :offset 2416)
(unknown-symbol40 symbol :offset 2428)
(unknown-dword60 int64 :offset 2432)
(unknown-dword61 int64 :offset 2440)
(unknown-dword62 int64 :offset 2448)
(unknown-dword63 int64 :offset 2456)
(unknown-halfword00 int16 :offset 2488)
(history-length int16 :offset 2490)
(history-data collide-history 128 :inline :offset-assert 2496)
(unknown-float140 float :offset 18944)
(unknown-dword70 time-frame :offset 18952)
(unknown-int40 int32 :offset 18880)
(unknown-dword80 time-frame :offset 18888)
(unknown-dword81 time-frame :offset 18896)
(unknown-float130 float :offset 18904)
(unknown-float131 float :offset 18908)
(unknown-dword82 time-frame :offset 18912)
(unknown-vector120 vector :inline :offset 18928)
(unknown-float150 float :offset 18944)
(unknown-vector121 vector :inline :offset 18960)
(wall-pat pat-surface :offset 18976)
(unknown-soundid00 sound-id :offset 18980)
(unknown-float141 float :offset 18984)
(unknown-soundid01 sound-id :offset 18988)
(unknown-int34 int32 :offset 18992)
(unknown-int35 int32 :offset 18996)
(unknown-int36 int32 :offset 19000)
)
:size-assert #x4a2c
:method-count-assert 65
:flag-assert #x4100004a2c
:size-assert #x4a3c
:flag-assert #x4100004a3c
)
(defmethod update! collide-history ((obj collide-history) (cshape collide-shape-moving) (xs vector) (transv vector) (transv-out vector))
+83 -62
View File
@@ -889,78 +889,87 @@
)
)
)
(when (= arg0 'attack)
(logior! (-> self state-flags) (state-flags being-attacked))
(set! (-> self game hit-time) (-> *display* base-frame-counter))
(case (-> gp-0 mode)
(('endlessfall)
(cond
((= (-> self game mode) 'debug)
(let ((s4-1 (new-stack-vector0)))
(set! (-> s4-1 quad) (-> self control last-known-safe-ground quad))
(ja-channel-set! 0)
(let ((s3-1 (-> *display* base-frame-counter)))
(until (>= (- (-> *display* base-frame-counter) s3-1) (seconds 1))
(suspend)
)
)
(move-to-point! (-> self control) s4-1)
)
(set! (-> (&-> (-> self control) unknown-qword00) 0) (-> self control trans quad))
(send-event *camera* 'teleport)
(go target-stance)
)
(else
(pickup-collectable!
(-> self fact-info-target)
(pickup-type eco-green)
(the-as float -1000.0)
(the-as handle #f)
(cond
((= arg0 'attack)
(logior! (-> self state-flags) (state-flags being-attacked))
(set! (-> self game hit-time) (-> *display* base-frame-counter))
(case (-> gp-0 mode)
(('endlessfall)
(cond
((= (-> self game mode) 'debug)
(let ((s4-1 (new-stack-vector0)))
(set! (-> s4-1 quad) (-> self control last-known-safe-ground quad))
(ja-channel-set! 0)
(let ((s3-1 (-> *display* base-frame-counter)))
(until (>= (- (-> *display* base-frame-counter) s3-1) (seconds 1))
(suspend)
)
)
(move-to-point! (-> self control) s4-1)
)
(go target-death (-> gp-0 mode))
(set! (-> (&-> (-> self control) unknown-qword00) 0) (-> self control trans quad))
(send-event *camera* 'teleport)
(go target-stance)
)
)
)
(('drown-death 'sharkey 'lava 'dark-eco-pool 'ogreboss-super-boulder 'melt 'instant-death)
(pickup-collectable!
(-> self fact-info-target)
(pickup-type eco-green)
(the-as float -1000.0)
(the-as handle #f)
)
(if (= (-> self game mode) 'play)
(go target-death (-> gp-0 mode))
)
)
(('death)
(pickup-collectable!
(-> self fact-info-target)
(pickup-type eco-green)
(the-as float -1000.0)
(the-as handle #f)
)
)
(('plant-boss)
(pickup-collectable!
(-> self fact-info-target)
(pickup-type eco-green)
(- (-> *FACT-bank* health-single-inc))
(the-as handle #f)
)
(if (and (= (-> self game mode) 'play) (>= 0.0 (-> self fact-info-target health)))
(go target-death (-> gp-0 mode))
)
)
(else
(else
(pickup-collectable!
(-> self fact-info-target)
(pickup-type eco-green)
(the-as float -1000.0)
(the-as handle #f)
)
(go target-death (-> gp-0 mode))
)
)
)
(('drown-death 'sharkey 'lava 'dark-eco-pool 'ogreboss-super-boulder 'melt 'instant-death)
(pickup-collectable!
(-> self fact-info-target)
(pickup-type eco-green)
(the-as float -1000.0)
(the-as handle #f)
)
(if (= (-> self game mode) 'play)
(go target-death (-> gp-0 mode))
)
)
(('death)
(pickup-collectable!
(-> self fact-info-target)
(pickup-type eco-green)
(the-as float -1000.0)
(the-as handle #f)
)
)
(('plant-boss)
(pickup-collectable!
(-> self fact-info-target)
(pickup-type eco-green)
(- (-> *FACT-bank* health-single-inc))
(the-as handle #f)
)
(if (and (= (-> self game mode) 'play) (>= 0.0 (-> self fact-info-target health)))
(go target-death (-> gp-0 mode))
)
)
(else
(pickup-collectable!
(-> self fact-info-target)
(pickup-type eco-green)
(- (-> *FACT-bank* health-single-inc))
(the-as handle #f)
)
)
)
(target-hit-effect gp-0)
)
(else
(case (-> gp-0 mode)
(('burn 'burnup)
(sound-play "get-burned")
)
)
)
(target-hit-effect gp-0)
)
(set! (-> self control unknown-surface00) *smack-mods*)
(target-hit-setup-anim gp-0)
@@ -1097,6 +1106,18 @@
(('none 'instant-death)
)
(('ogreboss-super-boulder)
;; PAL patch here
(process-spawn
part-tracker
:init part-tracker-init
(-> *part-group-id-table* 32)
-1
#f
#f
#f
(-> self control trans)
:to *entity-pool*
)
(set! (-> self post-hook) target-no-ja-move-post)
(-> self attack-info attacker)
(ja-channel-set! 0)
+3 -2
View File
@@ -40,11 +40,12 @@
(fp-hud handle :offset-assert 560)
(no-load-wait time-frame :offset-assert 568)
(no-look-around-wait time-frame :offset-assert 576)
(burn-proc handle :offset-assert 584)
)
:heap-base #x1e0
:method-count-assert 21
:size-assert #x248
:flag-assert #x1501e00248
:size-assert #x250
:flag-assert #x1501e00250
(:methods
(find-edge-grabs! (_type_ collide-cache) object 20)
)