Merge pull request #682 from xTVaser/decomp/wateranim-rigid-body

decomp: `water-anim` | `rigid-body` | `mud`
This commit is contained in:
water111
2021-08-12 19:02:22 -04:00
committed by GitHub
32 changed files with 7590 additions and 344 deletions
+3 -3
View File
@@ -654,9 +654,9 @@ void SimpleExpressionElement::update_from_stack_float_2(const Env& env,
} else {
auto type0 = env.get_types_before_op(m_my_idx).get(m_expr.get_arg(0).var().reg());
auto type1 = env.get_types_before_op(m_my_idx).get(m_expr.get_arg(1).var().reg());
throw std::runtime_error(
fmt::format("Floating point math attempted on invalid types: {} and {} in op {}.",
type0.print(), type1.print(), to_string(env)));
throw std::runtime_error(fmt::format(
"[OP: {}] - Floating point math attempted on invalid types: {} and {} in op {}.", m_my_idx,
type0.print(), type1.print(), to_string(env)));
}
}
+119 -264
View File
@@ -990,7 +990,7 @@
(define-extern process-tree type) ; deftype provided by C Kernel
(declare-type process basic)
(declare-type res-lump basic)
(deftype process-tree (basic)
((name basic :offset-assert 4)
(mask process-mask :offset-assert 8)
@@ -1004,7 +1004,7 @@
(new (symbol type basic) _type_ 0)
(activate (_type_ process-tree basic pointer) process-tree 9)
(deactivate (_type_) none 10)
(dummy-method-11 (_type_ object) none 11)
(copy-defaults! (_type_ res-lump) none 11)
(run-logic? (_type_) symbol 12)
(dummy-method () none 13)
)
@@ -1247,11 +1247,6 @@
)
(:methods
(new (symbol type basic int) _type_ 0)
(activate (_type_ process-tree basic pointer) process-tree 9)
(deactivate (process) none 10)
(dummy-method-11 (_type_ object) none 11)
(run-logic? (process) symbol 12)
(dummy-method () none 13)
)
:size-assert #x70
:method-count-assert 14
@@ -10687,12 +10682,13 @@
:flag-assert #x900000020
)
(declare-type collide-shape-prim basic)
(deftype collide-shape-intersect (basic)
((move-vec vector :inline :offset-assert 16)
(best-u float :offset-assert 32)
(best-tri collide-tri-result :inline :offset-assert 48)
(best-from-prim basic :offset-assert 132)
(best-to-prim basic :offset-assert 136)
(best-from-prim collide-shape-prim :offset-assert 132)
(best-to-prim collide-shape-prim :offset-assert 136)
)
:method-count-assert 10
:size-assert #x8c
@@ -10702,10 +10698,11 @@
)
)
(declare-type collide-shape-prim basic)
(deftype collide-overlap-result (structure)
((best-dist float :offset-assert 0)
(best-from-prim basic :offset-assert 4)
(best-to-prim basic :offset-assert 8)
(best-from-prim collide-shape-prim :offset-assert 4)
(best-to-prim collide-shape-prim :offset-assert 8)
(best-from-tri collide-tri-result :inline :offset-assert 16)
)
:method-count-assert 10
@@ -15361,7 +15358,7 @@
(define-extern ripple-execute (function none))
(define-extern ripple-matrix-scale function)
(define-extern ripple-add-debug-sphere (function process-drawable vector float float none)) ; TODO - this could be a child type of process-drawable instead
(define-extern ripple-find-height (function process-drawable basic vector float))
(define-extern ripple-find-height (function process-drawable int vector float))
;; - Symbols
@@ -17744,13 +17741,13 @@
(:methods
(water-vol-idle () none 20) ;; state
(water-vol-startup () none 21) ;; state
(dummy-22 () none 22)
(TODO-RENAME-22 (_type_) ripple-wave-set 22)
(dummy-23 () none 23)
(dummy-24 () none 24)
(dummy-25 () none 25)
(TODO-RENAME-25 (_type_) quaternion 25)
(dummy-26 () none 26)
(dummy-27 () none 27)
(dummy-28 () none 28)
(get-ripple-height (_type_ vector) float 28)
(dummy-29 () none 29)
)
)
@@ -19888,7 +19885,7 @@
(define-extern splash-spawn function)
(define-extern part-water-splash-callback function)
(define-extern ocean-get-height function)
(define-extern ocean-get-height (function vector float))
(define-extern birth-func-y->userdata function)
(define-extern birth-func-ocean-height function)
(define-extern check-water-level-drop function)
@@ -21818,20 +21815,20 @@
:size-assert #x1a8
:flag-assert #x17000001a8
(:methods
(dummy-9 () none 9)
(dummy-10 () none 10)
(dummy-11 () none 11)
(dummy-12 () none 12)
(dummy-13 () none 13)
(dummy-14 () none 14)
(dummy-15 () none 15)
(dummy-16 () none 16)
(dummy-17 () none 17)
(dummy-18 () none 18)
(dummy-19 () none 19)
(dummy-20 () none 20)
(dummy-21 () none 21)
(dummy-22 () none 22)
(TODO-RENAME-9 (_type_ float float float float) none 9)
(dummy-10 (_type_ float) none 10)
(clear-force-torque! (_type_) none 11)
(clear-momentum! (_type_) none 12)
(TODO-RENAME-13 (_type_ vector vector) none 13)
(TODO-RENAME-14 (_type_ vector vector) none 14)
(TODO-RENAME-15 (_type_ vector) none 15)
(TODO-RENAME-16 (_type_ vector vector float) none 16)
(TODO-RENAME-17 (_type_ vector vector) vector 17)
(TODO-RENAME-18 (_type_ vector) vector 18)
(dummy-19 (_type_) none 19)
(dummy-20 (_type_) none 20)
(TODO-RENAME-21 (_type_) none 21)
(TODO-RENAME-22 (_type_ vector quaternion float float) none 22)
)
)
@@ -21855,12 +21852,13 @@
;; - Types
(deftype water-anim (water-vol)
((look int32 :offset-assert 212)
(play-ambient-sound? symbol :offset-assert 216)
((ppointer-water-anim (pointer water-anim) :score 100 :offset 24)
(look int32 :offset-assert 212)
(play-ambient-sound? basic :offset-assert 216)
)
:method-count-assert 30
:size-assert #xdc
:heap-base #x70
:size-assert #xdc
:flag-assert #x1e007000dc
(:methods
(water-vol-idle () none 20) ;; state
@@ -21868,19 +21866,19 @@
)
)
; (deftype water-anim-look (structure)
; ((skel-group basic :offset-assert 0)
; (anim int32 :offset-assert 4)
; (ambient-sound-spec basic :offset-assert 8)
; )
; :method-count-assert 9
; :size-assert #xc
; :flag-assert #x90000000c
; )
(deftype water-anim-look (structure)
((skel-group symbol :offset-assert 0)
(anim int32 :offset-assert 4)
(ambient-sound-spec sound-spec :offset-assert 8)
)
:method-count-assert 9
:size-assert #xc
:flag-assert #x90000000c
)
;; - Unknowns
;;(define-extern *water-anim-look* object) ;; unknown type
(define-extern *water-anim-look* (array water-anim-look))
(define-extern *water-anim-sunken-dark-eco-qbert-sg* skeleton-group)
(define-extern *water-anim-sunken-dark-eco-platform-room-sg* skeleton-group)
(define-extern *water-anim-sunken-dark-eco-helix-room-sg* skeleton-group)
@@ -21949,14 +21947,6 @@
(:methods
(water-vol-idle () none 20) ;; state
(water-vol-startup () none 21) ;; state
(dummy-22 () none 22)
(dummy-23 () none 23)
(dummy-24 () none 24)
(dummy-25 () none 25)
(dummy-26 () none 26)
(dummy-27 () none 27)
(dummy-28 () none 28)
(dummy-29 () none 29)
)
)
@@ -22009,20 +21999,19 @@
:flag-assert #x900000068
)
; (deftype rigid-body-control-point-inline-array (inline-array-class)
; ((length int32 :offset-assert 4)
; (allocated-length int32 :offset-assert 8)
; (data UNKNOWN :dynamic :offset-assert 16)
; )
; :method-count-assert 9
; :size-assert #x10
; :flag-assert #x900000010
; )
(deftype rigid-body-control-point-inline-array (inline-array-class)
((data rigid-body-control-point :inline :dynamic :offset 16)
)
:method-count-assert 9
:size-assert #x10
:flag-assert #x900000010
)
(deftype rigid-body-platform (process-drawable)
((info rigid-body-platform-constants :offset-assert 176)
((root-overlay collide-shape-moving :score 100 :offset 112)
(info rigid-body-platform-constants :offset-assert 176)
(rbody rigid-body :inline :offset-assert 192)
(control-point-array basic :offset-assert 616)
(control-point-array rigid-body-control-point-inline-array :offset-assert 616)
(player-velocity vector :inline :offset-assert 624)
(player-velocity-prev vector :inline :offset-assert 640)
(player-force-position vector :inline :offset-assert 656)
@@ -22031,43 +22020,44 @@
(float-height-offset float :offset-assert 692)
(player-attack-id int32 :offset-assert 696)
(player-bonk-timeout uint64 :offset-assert 704)
(water-anim basic :offset-assert 712)
(player-contact basic :offset-assert 716)
(player-impulse basic :offset-assert 720)
(water-anim water-anim :offset-assert 712)
(player-contact basic :offset-assert 716) ; not a basic
(player-impulse collide-shape-prim-mesh :offset-assert 720)
)
:method-count-assert 35
:size-assert #x2d4
:heap-base #x270
:size-assert #x2d4
:flag-assert #x23027002d4
;; inherited inspect of process-drawable
(:methods
(rigid-body-platform-idle () none 20) ;; state
(rigid-body-platform-float () none 21) ;; state
(dummy-22 () none 22)
(dummy-23 () none 23)
(dummy-24 () none 24)
(dummy-25 () none 25)
(dummy-26 () none 26)
(dummy-27 () none 27)
(dummy-28 () none 28)
(dummy-29 () none 29)
(dummy-30 () none 30)
(dummy-31 () none 31)
(dummy-32 () none 32)
(dummy-33 () none 33)
(dummy-34 () none 34)
(TODO-RENAME-22 (_type_ vector basic) float 22) ;; TODO - basic is seemingly unused
(TODO-RENAME-23 (_type_ basic) none 23) ;; TODO - basic is seemingly unused
(TODO-RENAME-24 (_type_ rigid-body-control-point basic) none 24) ;; TODO - basic is seemingly unused
(TODO-RENAME-25 (_type_) none 25)
(TODO-RENAME-26 (_type_) none 26)
(TODO-RENAME-27 (_type_ vector) none 27)
(TODO-RENAME-28 (_type_) none 28)
(TODO-RENAME-29 (_type_ rigid-body-platform-constants) none 29)
(TODO-RENAME-30 (_type_) none 30)
(TODO-RENAME-31 (_type_) none 31)
(dummy-32 (_type_) none 32)
(dummy-33 (_type_) none 33)
(TODO-RENAME-34 (_type_) none 34)
)
)
;; - Functions
(define-extern matrix-3x3-triple-transpose-product function)
(define-extern rigid-body-platform-event-handler function)
(define-extern rigid-body-platform-post function)
(define-extern matrix-3x3-triple-transpose-product (function matrix matrix matrix matrix))
(define-extern rigid-body-platform-event-handler (function process int symbol event-message-block vector :behavior rigid-body-platform))
(define-extern rigid-body-platform-post (function int :behavior rigid-body-platform))
;; - Unknowns
;;(define-extern *rigid-body-platform-constants* object) ;; unknown type
(define-extern *rigid-body-platform-constants* rigid-body-platform-constants)
;; ----------------------
@@ -25900,46 +25890,19 @@
; )
; )
; (deftype citb-chain-plat (rigid-body-platform)
; ((orig-trans vector :inline :offset-assert 736)
; (orig-quat quaternion :inline :offset-assert 752)
; (beam-end vector :inline :offset-assert 768)
; (float-offset float :offset-assert 784)
; (idle-offset float :offset-assert 788)
; )
; :method-count-assert 35
; :size-assert #x318
; :flag-assert #x2302b00318
; ;; inherited inspect of rigid-body-platform
; (:methods
; (dummy-9 () none 9)
; (dummy-10 () none 10)
; (dummy-11 () none 11)
; (dummy-12 () none 12)
; (dummy-13 () none 13)
; (dummy-14 () none 14)
; (dummy-15 () none 15)
; (dummy-16 () none 16)
; (dummy-17 () none 17)
; (dummy-18 () none 18)
; (dummy-19 () none 19)
; (dummy-20 () none 20)
; (dummy-21 () none 21)
; (dummy-22 () none 22)
; (dummy-23 () none 23)
; (dummy-24 () none 24)
; (dummy-25 () none 25)
; (dummy-26 () none 26)
; (dummy-27 () none 27)
; (dummy-28 () none 28)
; (dummy-29 () none 29)
; (dummy-30 () none 30)
; (dummy-31 () none 31)
; (dummy-32 () none 32)
; (dummy-33 () none 33)
; (dummy-34 () none 34)
; )
; )
(deftype citb-chain-plat (rigid-body-platform)
((orig-trans vector :inline :offset-assert 736)
(orig-quat quaternion :inline :offset-assert 752)
(beam-end vector :inline :offset-assert 768)
(float-offset float :offset-assert 784)
(idle-offset float :offset-assert 788)
)
:method-count-assert 35
:heap-base #x2b0
:size-assert #x318
:flag-assert #x2302b00318
;; inherited inspect of rigid-body-platform
)
; (deftype citb-rotatebox (citb-base-plat)
; ()
@@ -31486,7 +31449,6 @@
:size-assert #x17c
:flag-assert #x350110017c
(:methods
(dummy-method-11 (_type_ object) none 11)
(dummy-31 (_type_) none 31)
(dummy-32 (_type_ symbol) spool-anim 32)
(dummy-41 (_type_) none 41)
@@ -33259,41 +33221,18 @@
;; - Types
; (deftype mud (water-anim)
; ()
; :method-count-assert 30
; :size-assert #xdc
; :flag-assert #x1e007000dc
; ;; not enough basic ops
; (:methods
; (dummy-9 () none 9)
; (dummy-10 () none 10)
; (dummy-11 () none 11)
; (dummy-12 () none 12)
; (dummy-13 () none 13)
; (dummy-14 () none 14)
; (dummy-15 () none 15)
; (dummy-16 () none 16)
; (dummy-17 () none 17)
; (dummy-18 () none 18)
; (dummy-19 () none 19)
; (dummy-20 () none 20)
; (dummy-21 () none 21)
; (dummy-22 () none 22)
; (dummy-23 () none 23)
; (dummy-24 () none 24)
; (dummy-25 () none 25)
; (dummy-26 () none 26)
; (dummy-27 () none 27)
; (dummy-28 () none 28)
; (dummy-29 () none 29)
; )
; )
(deftype mud (water-anim)
()
:method-count-assert 30
:heap-base #x70
:size-assert #xdc
:flag-assert #x1e007000dc
)
;; - Unknowns
;;(define-extern ripple-for-mud object) ;; unknown type
;;(define-extern ripple-for-small-mud object) ;; unknown type
(define-extern ripple-for-mud ripple-wave-set) ;; unknown type
(define-extern ripple-for-small-mud ripple-wave-set) ;; unknown type
;; ----------------------
@@ -34023,116 +33962,32 @@
; )
; )
; (deftype pontoon (rigid-body-platform)
; ((anchor-point vector :inline :offset-assert 736)
; (task uint8 :offset-assert 752)
; (alt-task uint8 :offset-assert 753)
; )
; :method-count-assert 35
; :size-assert #x2f2
; :flag-assert #x23029002f2
; ;; inherited inspect of rigid-body-platform
; (:methods
; (dummy-9 () none 9)
; (dummy-10 () none 10)
; (dummy-11 () none 11)
; (dummy-12 () none 12)
; (dummy-13 () none 13)
; (dummy-14 () none 14)
; (dummy-15 () none 15)
; (dummy-16 () none 16)
; (dummy-17 () none 17)
; (dummy-18 () none 18)
; (dummy-19 () none 19)
; (dummy-20 () none 20)
; (dummy-21 () none 21)
; (dummy-22 () none 22)
; (dummy-23 () none 23)
; (dummy-24 () none 24)
; (dummy-25 () none 25)
; (dummy-26 () none 26)
; (dummy-27 () none 27)
; (dummy-28 () none 28)
; (dummy-29 () none 29)
; (dummy-30 () none 30)
; (dummy-31 () none 31)
; (dummy-32 () none 32)
; (dummy-33 () none 33)
; (dummy-34 () none 34)
; )
; )
(deftype pontoon (rigid-body-platform)
((anchor-point vector :inline :offset-assert 736)
(task uint8 :offset-assert 752)
(alt-task uint8 :offset-assert 753)
)
:method-count-assert 35
:heap-base #x290
:size-assert #x2f2
:flag-assert #x23029002f2
)
; (deftype pontoonfive (pontoon)
; ()
; :method-count-assert 35
; :size-assert #x2f2
; :flag-assert #x23029002f2
; ;; not enough basic ops
; (:methods
; (dummy-9 () none 9)
; (dummy-10 () none 10)
; (dummy-11 () none 11)
; (dummy-12 () none 12)
; (dummy-13 () none 13)
; (dummy-14 () none 14)
; (dummy-15 () none 15)
; (dummy-16 () none 16)
; (dummy-17 () none 17)
; (dummy-18 () none 18)
; (dummy-19 () none 19)
; (dummy-20 () none 20)
; (dummy-21 () none 21)
; (dummy-22 () none 22)
; (dummy-23 () none 23)
; (dummy-24 () none 24)
; (dummy-25 () none 25)
; (dummy-26 () none 26)
; (dummy-27 () none 27)
; (dummy-28 () none 28)
; (dummy-29 () none 29)
; (dummy-30 () none 30)
; (dummy-31 () none 31)
; (dummy-32 () none 32)
; (dummy-33 () none 33)
; (dummy-34 () none 34)
; )
; )
(deftype pontoonfive (pontoon)
()
:method-count-assert 35
:heap-base #x290
:size-assert #x2f2
:flag-assert #x23029002f2
)
; (deftype pontoonten (pontoon)
; ()
; :method-count-assert 35
; :size-assert #x2f2
; :flag-assert #x23029002f2
; ;; not enough basic ops
; (:methods
; (dummy-9 () none 9)
; (dummy-10 () none 10)
; (dummy-11 () none 11)
; (dummy-12 () none 12)
; (dummy-13 () none 13)
; (dummy-14 () none 14)
; (dummy-15 () none 15)
; (dummy-16 () none 16)
; (dummy-17 () none 17)
; (dummy-18 () none 18)
; (dummy-19 () none 19)
; (dummy-20 () none 20)
; (dummy-21 () none 21)
; (dummy-22 () none 22)
; (dummy-23 () none 23)
; (dummy-24 () none 24)
; (dummy-25 () none 25)
; (dummy-26 () none 26)
; (dummy-27 () none 27)
; (dummy-28 () none 28)
; (dummy-29 () none 29)
; (dummy-30 () none 30)
; (dummy-31 () none 31)
; (dummy-32 () none 32)
; (dummy-33 () none 33)
; (dummy-34 () none 34)
; )
; )
(deftype pontoonten (pontoon)
()
:method-count-assert 35
:heap-base #x290
:size-assert #x2f2
:flag-assert #x23029002f2
)
; (deftype allpontoons (process-drawable)
; ((task uint8 :offset-assert 176)
@@ -600,5 +600,22 @@
[8, "(function process int symbol event-message-block none :behavior silostep)"]
],
"rigid-body": [
[5, "(function none :behavior rigid-body-platform)"],
[6, "(function none :behavior rigid-body-platform)"],
[7, "(function none :behavior rigid-body-platform)"],
[8, "(function none :behavior rigid-body-platform)"]
],
"water-anim": [
[4, "(function none :behavior water-anim)"],
[5, "(function none :behavior water-anim)"],
[6, "(function process int symbol event-message-block process-mask :behavior water-anim)"]
],
"plat-eco": [
[9, "(function none :behavior plat-eco)"]
],
"placeholder-do-not-add-below": []
}
@@ -1470,6 +1470,85 @@
["L51", "uint64", true]
],
"rigid-body": [
["L8", "_lambda_", true],
["L10", "_lambda_", true],
["L13", "_lambda_", true],
["L15", "_lambda_", true],
["L89", "rigid-body-platform-constants", true],
["L90", "state", true],
["L91", "state", true],
["L106", "float", true]
],
"ocean": [
["L90", "float", true]
],
"water-anim": [
["L13", "_lambda_", true],
["L15", "_lambda_", true],
["L21", "_lambda_", true],
["L26", "state", true],
["L27", "_auto_", true],
["L99", "skeleton-group", true],
["L101", "skeleton-group", true],
["L102", "skeleton-group", true],
["L103", "skeleton-group", true],
["L104", "skeleton-group", true],
["L106", "skeleton-group", true],
["L108", "skeleton-group", true],
["L110", "skeleton-group", true],
["L111", "skeleton-group", true],
["L113", "skeleton-group", true],
["L115", "skeleton-group", true],
["L117", "skeleton-group", true],
["L119", "skeleton-group", true],
["L121", "skeleton-group", true],
["L123", "skeleton-group", true],
["L124", "skeleton-group", true],
["L125", "skeleton-group", true],
["L126", "skeleton-group", true],
["L127", "skeleton-group", true],
["L128", "skeleton-group", true],
["L129", "skeleton-group", true],
["L130", "skeleton-group", true],
["L131", "skeleton-group", true],
["L132", "skeleton-group", true],
["L133", "skeleton-group", true],
["L134", "skeleton-group", true],
["L136", "skeleton-group", true],
["L138", "skeleton-group", true],
["L140", "skeleton-group", true],
["L141", "skeleton-group", true],
["L142", "skeleton-group", true],
["L143", "skeleton-group", true],
["L144", "skeleton-group", true],
["L146", "skeleton-group", true],
["L147", "skeleton-group", true],
["L148", "skeleton-group", true],
["L149", "skeleton-group", true],
["L150", "skeleton-group", true],
["L151", "skeleton-group", true],
["L152", "skeleton-group", true],
["L153", "skeleton-group", true],
["L154", "skeleton-group", true],
["L155", "skeleton-group", true],
["L156", "skeleton-group", true],
["L157", "skeleton-group", true],
["L159", "skeleton-group", true],
["L160", "skeleton-group", true],
["L161", "skeleton-group", true],
["L163", "float", true],
["L165", "float", true]
],
"mud": [
["L8", "ripple-wave-set", true],
["L9", "ripple-wave-set", true],
["L10", "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": []
}
@@ -858,5 +858,64 @@
[16, "event-message-block"]
],
"(method 17 rigid-body)": [
[16, "vector"]
],
"matrix-3x3-triple-transpose-product": [
[16, "matrix"],
[80, "matrix"]
],
"(method 10 rigid-body)": [
[16, "quaternion"]
],
"(method 13 rigid-body)": [
[16, "vector"],
[32, "vector"]
],
"(method 16 rigid-body)": [
[16, "vector"],
[32, "vector"]
],
"(method 14 rigid-body)": [
[16, "vector"],
[32, "vector"]
],
"(method 18 rigid-body)": [
[16, "vector"]
],
"(method 24 rigid-body-platform)": [
[16, "vector"]
],
"(method 26 rigid-body-platform)": [
[16, "vector"]
],
"(method 27 rigid-body-platform)": [
[16, "vector"]
],
"(method 22 water-anim)": [
[16, "vector"]
],
"(anon-function 9 plat-eco)": [
[16, "event-message-block"]
],
"default-collision-reaction": [
[16, "vector"],
[32, "vector"],
[48, "vector"],
[96, "vector"]
],
"placeholder-do-not-add-below!": []
}
@@ -1791,6 +1791,74 @@
[[0, 999], "s6", "target"],
[46, "v1", "collide-shape-prim"] // `event-other` from collide-shape
],
"(anon-function 6 water-anim)": [
[6, "a0", "vector"]
],
"(anon-function 5 water-anim)": [
[2, "v1", "(state none)"]
],
"(anon-function 8 rigid-body)": [
[[16, 21], "t9", "(function object)"]
],
"(anon-function 6 rigid-body)": [
[[16, 21], "t9", "(function object)"]
],
"(method 34 rigid-body-platform)": [
[[0, 5], "t9", "(function object)"]
],
"(method 22 water-anim)": [
[[9, 14], "t9", "(function object object)"],
[25, "s3", "basic"],
[[32, 37], "t9", "(function object object)"]
],
"(method 25 water-anim)": [
[[27, 45], "v1", "transform"]
],
"(method 22 rigid-body-platform)": [
[26, "f0", "float"]
],
"rigid-body-platform-event-handler": [
[28, "v1", "process-drawable"],
[34, "v1", "float"],
[83, "v1", "process-drawable"],
[119, "v1", "process-drawable"],
[125, "v1", "process-drawable"],
[158, "v1", "vector"],
[170, "v1", "vector"],
[184, "v1", "(pointer handle)"],
[213, "v1", "process-drawable"]
],
"(anon-function 9 plat-eco)": [
[23, "v1", "(state symbol none)"],
[58, "v1", "(state symbol none)"]
],
"(method 7 rigid-body-platform)": [
[5, "v1", "int"],
[14, "t9", "(function process-drawable int process-drawable)"]
],
"(method 10 rigid-body)": [
[50, "v1", "vector"]
],
"(method 11 rigid-body-platform)": [
[5, "v1", "process-mask"]
],
"(method 22 mud)": [
[[37, 41], "v1", "ripple-control"]
],
"(method 11 twister)": [
[7, "s4", "twist-joint"],
+10 -8
View File
@@ -62,33 +62,35 @@
:flag-assert #x900000020
)
(declare-type collide-shape-prim basic)
(deftype collide-shape-intersect (basic)
((move-vec vector :inline :offset-assert 16)
(best-u float :offset-assert 32)
(best-tri collide-tri-result :inline :offset-assert 48)
(best-from-prim basic :offset-assert 132)
(best-to-prim basic :offset-assert 136)
(best-from-prim collide-shape-prim :offset-assert 132)
(best-to-prim collide-shape-prim :offset-assert 136)
)
:method-count-assert 10
:size-assert #x8c
:flag-assert #xa0000008c
(:methods
(dummy-9 () none 9)
)
(dummy-9 () none 9)
)
)
(declare-type collide-shape-prim basic)
(deftype collide-overlap-result (structure)
((best-dist float :offset-assert 0)
(best-from-prim basic :offset-assert 4)
(best-to-prim basic :offset-assert 8)
(best-from-prim collide-shape-prim :offset-assert 4)
(best-to-prim collide-shape-prim :offset-assert 8)
(best-from-tri collide-tri-result :inline :offset-assert 16)
)
:method-count-assert 10
:size-assert #x64
:flag-assert #xa00000064
(:methods
(reset! (_type_) none 9)
)
(reset! (_type_) none 9)
)
)
(defmethod reset! collide-overlap-result ((obj collide-overlap-result))
+1 -1
View File
@@ -5,5 +5,5 @@
;; name in dgo: collide-shape
;; dgos: GAME, ENGINE
;; TODO - for misty-teetertotter
;; TODO - for misty-teetertotter | rigid-body
(define-extern default-collision-reaction (function collide-shape-moving collide-shape-intersect vector vector none)) ;; TODO - not completely confirmed
+7 -1
View File
@@ -5,7 +5,13 @@
;; name in dgo: process-drawable
;; dgos: GAME, ENGINE
;; TODO - for water-anim
(define-extern ja-post (function int))
;; TODO - for rigid-body
(define-extern rider-post (function int))
(define-extern transform-post (function int))
;; TODO - for misty-teetertotter
(define-extern transform-post (function int))
(define-extern ja-done? (function int symbol))
(define-extern rider-post (function int))
;; TODO - for misty-warehouse
(define-extern rider-trans (function int))
+3 -1
View File
@@ -118,5 +118,7 @@
(the-as entity-actor #f)
)
;; TODO - for misty-teetertotter
;; TODO - for misty-teetertotter | rigid-body
(define-extern process-drawable-from-entity! (function process-drawable object none))
;; TODO - for misty-warehouse
(define-extern process-entity-status! (function process entity-perm-status symbol int))
+7 -1
View File
@@ -11,4 +11,10 @@
:method-count-assert 15
:size-assert #x70
:flag-assert #xf00000070
)
)
;; TODO - for misty-warehouse
(define-extern camera-tracker-init (function function none)) ;; TODO - not confirmed, see misty-warehouse::camera-view
(define-extern process-grab? (function process symbol))
(define-extern camera-change-to (function string int symbol none)) ;; TODO - not confirmed yet
(define-extern process-release? (function process symbol))
+2
View File
@@ -7,3 +7,5 @@
;; TODO - for ocean-transition
(define-extern *ocean-map* ocean-map)
;; TODO - for rigid-body
(define-extern ocean-get-height (function vector float))
+1 -1
View File
@@ -149,7 +149,7 @@
)
;; definition for function ripple-find-height
(defun ripple-find-height ((arg0 process-drawable) (arg1 basic) (arg2 vector))
(defun ripple-find-height ((arg0 process-drawable) (arg1 int) (arg2 vector))
(local-vars (sv-16 float) (sv-32 float))
(let* ((f30-0 (-> arg0 root trans y))
(v1-1 (-> arg0 draw))
+54 -3
View File
@@ -97,16 +97,67 @@
:method-count-assert 30
:size-assert #xd4
:flag-assert #x1e007000d4
;; inherited inspect of process-drawable
(:methods
(water-vol-idle () none 20) ;; state
(water-vol-startup () none 21) ;; state
(dummy-22 () none 22)
(TODO-RENAME-22 (_type_) ripple-wave-set 22)
(dummy-23 () none 23)
(dummy-24 () none 24)
(dummy-25 () none 25)
(TODO-RENAME-25 (_type_) quaternion 25)
(dummy-26 () none 26)
(dummy-27 () none 27)
(dummy-28 () none 28)
(get-ripple-height (_type_ vector) float 28)
(dummy-29 () none 29)
)
)
;; Manually Added
(define-extern *water-anim-sunken-dark-eco-qbert-sg* skeleton-group)
(define-extern *water-anim-sunken-dark-eco-platform-room-sg* skeleton-group)
(define-extern *water-anim-sunken-dark-eco-helix-room-sg* skeleton-group)
(define-extern *water-anim-sunken-big-room-sg* skeleton-group)
(define-extern *water-anim-sunken-first-room-from-entrance-sg* skeleton-group)
(define-extern *water-anim-sunken-qbert-room-sg* skeleton-group)
(define-extern *water-anim-sunken-first-right-branch-sg* skeleton-group)
(define-extern *water-anim-sunken-circular-with-bullys-sg* skeleton-group)
(define-extern *water-anim-sunken-hall-with-one-whirlpool-sg* skeleton-group)
(define-extern *water-anim-sunken-hall-with-three-whirlpools-sg* skeleton-group)
(define-extern *water-anim-sunken-start-of-helix-slide-sg* skeleton-group)
(define-extern *water-anim-sunken-room-above-exit-chamber-sg* skeleton-group)
(define-extern *water-anim-sunken-hall-before-big-room-sg* skeleton-group)
(define-extern *water-anim-sunken-short-piece-sg* skeleton-group)
(define-extern *water-anim-sunken-big-room-upper-water-sg* skeleton-group)
(define-extern *water-anim-maincave-center-pool-sg* skeleton-group)
(define-extern *water-anim-maincave-lower-right-pool-sg* skeleton-group)
(define-extern *water-anim-maincave-mid-right-pool-sg* skeleton-group)
(define-extern *water-anim-maincave-lower-left-pool-sg* skeleton-group)
(define-extern *water-anim-maincave-mid-left-pool-sg* skeleton-group)
(define-extern *water-anim-maincave-water-with-crystal-sg* skeleton-group)
(define-extern *water-anim-robocave-main-pool-sg* skeleton-group)
(define-extern *water-anim-misty-mud-by-arena-sg* skeleton-group)
(define-extern *water-anim-misty-mud-above-skeleton-sg* skeleton-group)
(define-extern *water-anim-misty-mud-behind-skeleton-sg* skeleton-group)
(define-extern *water-anim-misty-mud-above-skull-back-sg* skeleton-group)
(define-extern *water-anim-misty-mud-above-skull-front-sg* skeleton-group)
(define-extern *water-anim-misty-mud-other-near-skull-sg* skeleton-group)
(define-extern *water-anim-misty-mud-near-skull-sg* skeleton-group)
(define-extern *water-anim-misty-mud-under-spine-sg* skeleton-group)
(define-extern *water-anim-misty-mud-by-dock-sg* skeleton-group)
(define-extern *water-anim-misty-mud-island-near-dock-sg* skeleton-group)
(define-extern *water-anim-misty-mud-lonely-island-sg* skeleton-group)
(define-extern *water-anim-misty-dark-eco-pool-sg* skeleton-group)
(define-extern *water-anim-ogre-lava-sg* skeleton-group)
(define-extern *water-anim-jungle-river-sg* skeleton-group)
(define-extern *water-anim-village3-lava-sg* skeleton-group)
(define-extern *water-anim-training-lake-sg* skeleton-group)
(define-extern *water-anim-darkcave-water-with-crystal-sg* skeleton-group)
(define-extern *water-anim-rolling-water-back-sg* skeleton-group)
(define-extern *water-anim-rolling-water-front-sg* skeleton-group)
(define-extern *water-anim-finalboss-dark-eco-pool-sg* skeleton-group)
(define-extern *water-anim-lavatube-energy-lava-sg* skeleton-group)
(define-extern *water-anim-village1-rice-paddy-sg* skeleton-group)
(define-extern *water-anim-village1-fountain-sg* skeleton-group)
(define-extern *water-anim-village1-rice-paddy-mid-sg* skeleton-group)
(define-extern *water-anim-village1-rice-paddy-top-sg* skeleton-group)
(define-extern *water-anim-village2-bucket-sg* skeleton-group)
+2 -2
View File
@@ -228,7 +228,7 @@
)
(declare-type process basic)
(declare-type res-lump basic)
(deftype process-tree (basic)
((name basic :offset-assert 4)
(mask process-mask :offset-assert 8)
@@ -243,7 +243,7 @@
(new (symbol type basic) _type_ 0)
(activate (_type_ process-tree basic pointer) process-tree 9)
(deactivate (_type_) none 10)
(dummy-method-11 (_type_ object) none 11)
(copy-defaults! (_type_ res-lump) none 11)
(run-logic? (_type_) symbol 12)
(dummy-method () none 13)
)
+3 -10
View File
@@ -212,7 +212,7 @@
(new (symbol type basic) _type_ 0)
(activate (_type_ process-tree basic pointer) process-tree 9)
(deactivate (_type_) none 10)
(dummy-method-11 (_type_ object) none 11)
(copy-defaults! (_type_ res-lump) none 11)
(run-logic? (_type_) symbol 12)
(dummy-method () none 13)
)
@@ -246,16 +246,9 @@
(connection-list connectable :inline :offset-assert #x60)
(stack uint8 :dynamic :offset-assert #x70)
)
(:methods
(new (symbol type basic int) _type_ 0)
(activate (_type_ process-tree basic pointer) process-tree 9)
(deactivate (process) none 10)
(dummy-method-11 (_type_ object) none 11)
(run-logic? (process) symbol 12)
(dummy-method () none 13)
)
)
:size-assert #x70
:method-count-assert 14
:no-runtime-type ;; already defined by kscheme. Don't do it again.
@@ -593,4 +586,4 @@
(defmacro scratchpad-object (type &key (offset 0))
"Access an object on the scratchpad."
`(the-as ,type (&+ *fake-scratchpad-data* ,offset))
)
)
+30
View File
@@ -5,3 +5,33 @@
;; name in dgo: baseplat
;; dgos: GAME, COMMON, L1
;; TODO - for misty-warehouse
(deftype eco-door (process-drawable)
((root-override collide-shape :score 100 :offset 112)
(speed float :offset-assert 176)
(open-distance float :offset-assert 180)
(close-distance float :offset-assert 184)
(out-dir vector :inline :offset-assert 192)
(open-sound uint128 :offset-assert 208)
(close-sound uint128 :offset-assert 224)
(state-actor basic :offset-assert 240)
(flags int32 :offset-assert 244)
(locked symbol :offset-assert 248)
(auto-close symbol :offset-assert 252)
(one-way symbol :offset-assert 256)
)
:method-count-assert 27
:size-assert #x104
:heap-base #xa0
:flag-assert #x1b00a00104
;; inherited inspect of process-drawable
(:methods
(dummy-20 () none 20)
(dummy-21 () none 21)
(dummy-22 () none 22)
(dummy-23 () none 23)
(TODO-RENAME-24 (_type_) none 24)
(TODO-RENAME-25 (_type_) none 25)
(dummy-26 () none 26)
)
)
+14 -14
View File
@@ -31,20 +31,20 @@
:size-assert #x1a8
:flag-assert #x17000001a8
(:methods
(dummy-9 () none 9)
(dummy-10 () none 10)
(dummy-11 () none 11)
(dummy-12 () none 12)
(dummy-13 () none 13)
(dummy-14 () none 14)
(dummy-15 () none 15)
(dummy-16 () none 16)
(dummy-17 () none 17)
(dummy-18 () none 18)
(dummy-19 () none 19)
(dummy-20 () none 20)
(dummy-21 () none 21)
(dummy-22 () none 22)
(TODO-RENAME-9 (_type_ float float float float) none 9)
(dummy-10 (_type_ float) none 10)
(clear-force-torque! (_type_) none 11)
(clear-momentum! (_type_) none 12)
(TODO-RENAME-13 (_type_ vector vector) none 13)
(TODO-RENAME-14 (_type_ vector vector) none 14)
(TODO-RENAME-15 (_type_ vector) none 15)
(TODO-RENAME-16 (_type_ vector vector float) none 16)
(TODO-RENAME-17 (_type_ vector vector) vector 17)
(TODO-RENAME-18 (_type_ vector) vector 18)
(dummy-19 (_type_) none 19)
(dummy-20 (_type_) none 20)
(TODO-RENAME-21 (_type_) none 21)
(TODO-RENAME-22 (_type_ vector quaternion float float) none 22)
)
)
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
+1 -1
View File
@@ -360,7 +360,7 @@
)
;; definition for method 11 of type teetertotter
(defmethod dummy-method-11 teetertotter ((obj teetertotter) (arg0 object))
(defmethod copy-defaults! teetertotter ((obj teetertotter) (arg0 res-lump))
(let
((s4-0
(new 'process 'collide-shape-moving obj (collide-list-enum hit-by-player))
+461
View File
@@ -5,3 +5,464 @@
;; name in dgo: misty-warehouse
;; dgos: L1, MIS
(define-extern *rounddoor-sg* skeleton-group)
(define-extern *silostep-sg* skeleton-group)
(define-extern silostep-rise (state none)) ;; unknown type
(define-extern silostep-idle (state none)) ;; unknown type
(define-extern silostep-camera (state none)) ;; unknown type
;; definition of type silostep
(deftype silostep (process-drawable)
((anim-limit float :offset-assert 176)
(cam-tracker uint64 :offset-assert 184)
)
:heap-base #x50
:method-count-assert 20
:size-assert #xc0
:flag-assert #x14005000c0
)
;; failed to figure out what this is:
(let
((v1-1
(new 'static 'skeleton-group
:art-group-name "silostep"
:bounds
(new 'static 'vector :y 8192.0 :w 32768.0)
:version #x6
)
)
)
(set! (-> v1-1 jgeo) 0)
(set! (-> v1-1 janim) 2)
(set! (-> v1-1 mgeo 0) (the-as uint 1))
(set! (-> v1-1 lod-dist 0) 4095996000.0)
(set! *silostep-sg* v1-1)
)
;; failed to figure out what this is:
(let
((v1-2
(new 'static 'state
:name 'silostep-idle
:next #f
:exit #f
:code #f
:trans #f
:post #f
:enter #f
:event #f
)
)
)
(set! silostep-idle (the-as (state none) v1-2))
(set!
(-> v1-2 event)
(the-as
(function process int symbol event-message-block object)
(lambda :behavior silostep
((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block))
(case arg2
(('trigger)
(go silostep-camera)
)
(('trigger-rise)
enter-state
(go silostep-rise)
)
)
(none)
)
)
)
(set!
(-> v1-2 code)
(lambda :behavior silostep () (let ((gp-0 (-> self skel root-channel 0)))
(joint-control-channel-group-eval!
gp-0
(the-as
art-joint-anim
(-> self draw art-group data 2)
)
num-func-identity
)
(set! (-> gp-0 frame-num) 0.0)
)
(transform-post)
(while #t
(suspend)
)
(none)
)
)
(set! (-> v1-2 post) ja-post)
)
;; definition for function misty-camera-view
(defbehavior misty-camera-view silostep ()
(let* ((gp-0 (get-process *default-dead-pool* camera-tracker #x4000))
(v1-1 (when gp-0
(let ((t9-1 (method-of-type camera-tracker activate)))
(t9-1
(the-as camera-tracker gp-0)
self
'camera-tracker
(the-as pointer #x70004000)
)
)
((the-as
(function object object object object)
run-function-in-process
)
gp-0
camera-tracker-init
(lambda :behavior camera-tracker
()
(while (not (process-grab? *target*))
(suspend)
)
(camera-change-to "camera-160" 150 #f)
(let ((gp-0 (-> *display* base-frame-counter)))
(until (begin
(suspend)
(>=
(the-as
int
(- (-> *display* base-frame-counter) gp-0)
)
900
)
)
(empty)
)
)
(while
(not
(process-release? (handle->process (-> self grab-target)))
)
(suspend)
)
(camera-change-to (the-as string 'base) 150 #f)
(none)
)
)
(-> gp-0 ppointer)
)
)
(v0-3
(logior (shl (-> v1-1 0 pid) 32) (new 'static 'handle :process v1-1))
)
)
(set! (-> self cam-tracker) (the-as uint v0-3))
v0-3
)
)
;; failed to figure out what this is:
(let
((v1-4
(new 'static 'state
:name 'silostep-camera
:next #f
:exit #f
:code #f
:trans #f
:post #f
:enter #f
:event #f
)
)
)
(set! silostep-camera (the-as (state none) v1-4))
(set!
(-> v1-4 code)
(lambda :behavior silostep
()
(misty-camera-view)
(let* ((gp-0 (get-task-control (game-task misty-warehouse)))
(v1-1 (get-reminder gp-0 0))
)
(save-reminder gp-0 (logior v1-1 2) 0)
)
(set! (-> self state-time) (-> *display* base-frame-counter))
(let ((gp-1 (-> *display* base-frame-counter)))
(until (begin
(suspend)
(>= (the-as int (- (-> *display* base-frame-counter) gp-1)) 300)
)
(empty)
)
)
(sound-play-by-name
(static-sound-name "arena-steps")
(new-sound-id)
1024
0
0
(the-as uint 1)
(the-as vector #t)
)
(send-to-all-after (-> self link) 'trigger-rise)
enter-state
(go silostep-rise)
(none)
)
)
(set! (-> v1-4 post) ja-post)
)
;; failed to figure out what this is:
(let
((v1-5
(new 'static 'state
:name 'silostep-rise
:next #f
:exit #f
:code #f
:trans #f
:post #f
:enter #f
:event #f
)
)
)
(set! silostep-rise (the-as (state none) v1-5))
(set!
(-> v1-5 code)
(lambda :behavior silostep
((arg0 symbol))
(process-entity-status! self (entity-perm-status complete) #t)
(when (not arg0)
(let ((a0-2 (-> self skel root-channel 0)))
(set!
(-> a0-2 frame-group)
(the-as art-joint-anim (-> self draw art-group data 2))
)
(set! (-> a0-2 param 0) (-> self anim-limit))
(set! (-> a0-2 param 1) 1.0)
(set! (-> a0-2 frame-num) 0.0)
(joint-control-channel-group!
a0-2
(the-as art-joint-anim (-> self draw art-group data 2))
num-func-seek!
)
)
(until (begin
(rider-trans)
(rider-post)
(suspend)
(let ((a0-3 (-> self skel root-channel 0)))
(set! (-> a0-3 param 0) (-> self anim-limit))
(set! (-> a0-3 param 1) 1.0)
(joint-control-channel-group-eval!
a0-3
(the-as art-joint-anim #f)
num-func-seek!
)
)
(ja-done? 0)
)
(empty)
)
)
(let ((gp-1 (-> self skel root-channel 0)))
(joint-control-channel-group-eval!
gp-1
(the-as art-joint-anim (-> self draw art-group data 2))
num-func-identity
)
(set! (-> gp-1 frame-num) (-> self anim-limit))
)
(rider-post)
(while #t
(ja-post)
(suspend)
)
(none)
)
)
(set! (-> v1-5 post) #f)
)
;; definition for method 11 of type silostep
(defmethod copy-defaults! silostep ((obj silostep) (arg0 res-lump))
(logior! (-> obj mask) (process-mask movie-subject))
(let
((s4-0
(new 'process 'collide-shape-moving obj (collide-list-enum hit-by-player))
)
)
(set! (-> s4-0 dynam) (copy *standard-dynamics* 'process))
(set! (-> s4-0 reaction) default-collision-reaction)
(set! (-> s4-0 no-reaction) nothing)
(let ((t9-2 (method-of-object s4-0 dummy-29)))
1
(t9-2)
)
(let
((s3-0
(new
'process
'collide-shape-prim-mesh
s4-0
(the-as uint 0)
(the-as uint 0)
)
)
)
(set! (-> s3-0 prim-core collide-as) (the-as uint 2048))
(set! (-> s3-0 collide-with) (the-as uint 16))
(set! (-> s3-0 prim-core action) (the-as uint 1))
(set! (-> s3-0 prim-core offense) 4)
(set! (-> s3-0 transform-index) 4)
(set-vector! (-> s3-0 local-sphere) 0.0 4096.0 0.0 18432.0)
)
((method-of-object s4-0 dummy-46))
(set! (-> s4-0 nav-radius) (* 0.75 (-> s4-0 root-prim local-sphere w)))
((method-of-object s4-0 dummy-50))
(set! (-> obj root) s4-0)
)
(process-drawable-from-entity! obj arg0)
(dummy-14 obj *silostep-sg* '())
(set!
(-> obj anim-limit)
(*
(get-property-value-float
arg0
'distance
'interp
-1000000000.0
1.0
(the-as (pointer res-tag) #f)
*res-static-buf*
)
(the
float
(+
(-> (the-as art-joint-anim (-> obj draw art-group data 2)) data 0 length)
-1
)
)
)
)
(set! (-> obj link) (new 'process 'actor-link-info obj))
(cond
((and
(-> obj entity)
(nonzero?
(logand (-> obj entity extra perm status) (entity-perm-status complete))
)
)
enter-state
#t
(go silostep-rise)
)
(else
(go silostep-idle)
)
)
(none)
)
;; failed to figure out what this is:
(let
((v1-6
(new 'static 'skeleton-group
:art-group-name "rounddoor"
:bounds (new 'static 'vector :w 32768.0)
:max-lod 1
:version #x6
)
)
)
(set! (-> v1-6 jgeo) 0)
(set! (-> v1-6 janim) 3)
(set! (-> v1-6 mgeo 0) (the-as uint 1))
(set! (-> v1-6 lod-dist 0) 81920.0)
(set! (-> v1-6 mgeo 1) (the-as uint 2))
(set! (-> v1-6 lod-dist 1) 4095996000.0)
(set! *rounddoor-sg* v1-6)
)
;; definition of type rounddoor
(deftype rounddoor (eco-door)
()
:heap-base #xa0
:method-count-assert 27
:size-assert #x104
:flag-assert #x1b00a00104
)
;; definition for method 3 of type rounddoor
(defmethod inspect rounddoor ((obj rounddoor))
(let ((t9-0 (method-of-type eco-door inspect)))
(t9-0 obj)
)
obj
)
;; definition for method 24 of type rounddoor
;; INFO: Return type mismatch int vs none.
(defmethod TODO-RENAME-24 rounddoor ((obj rounddoor))
(let
((s5-0 (new 'process 'collide-shape obj (collide-list-enum hit-by-others))))
(let
((s4-0
(new
'process
'collide-shape-prim-mesh
s5-0
(the-as uint 0)
(the-as uint 0)
)
)
)
(set! (-> s4-0 prim-core collide-as) (the-as uint 2048))
(set! (-> s4-0 collide-with) (the-as uint 16))
(set! (-> s4-0 prim-core action) (the-as uint 1))
(set! (-> s4-0 prim-core offense) 4)
(set! (-> s4-0 transform-index) 0)
(set-vector! (-> s4-0 local-sphere) -12288.0 0.0 0.0 40960.0)
)
((method-of-object s5-0 dummy-46))
(set! (-> s5-0 nav-radius) (* 0.75 (-> s5-0 root-prim local-sphere w)))
((method-of-object s5-0 dummy-50))
(set! (-> obj root-override) s5-0)
)
0
(none)
)
;; definition for method 25 of type rounddoor
;; INFO: Return type mismatch int vs none.
;; Used lq/sq
(defmethod TODO-RENAME-25 rounddoor ((obj rounddoor))
(dummy-14 obj *rounddoor-sg* '())
(set! (-> obj open-distance) 69632.0)
(set! (-> obj close-distance) 81920.0)
(set!
(-> obj open-sound)
(the-as
uint128
(make-u128 (the-as uint #x6e65706f2d72) (the-as uint #x6f6f64616e657261))
)
)
(set!
(-> obj close-sound)
(the-as
uint128
(make-u128 (the-as uint #x65736f6c632d72) (the-as uint #x6f6f64616e657261))
)
)
(set! (-> obj speed) 1.5)
(set! (-> obj auto-close) #t)
(set! (-> obj one-way) #t)
(vector-x-quaternion! (-> obj out-dir) (-> obj root-override quat))
(set!
(-> obj out-dir w)
(- 8192.0 (vector-dot (-> obj out-dir) (-> obj root-override trans)))
)
(dummy-47 (-> obj root-override))
0
(none)
)
+97
View File
@@ -5,3 +5,100 @@
;; name in dgo: mud
;; dgos: L1, MIS
;; definition of type mud
(deftype mud (water-anim)
()
:heap-base #x70
:method-count-assert 30
:size-assert #xdc
:flag-assert #x1e007000dc
)
;; definition for symbol ripple-for-mud, type ripple-wave-set
(define
ripple-for-mud
(new 'static 'ripple-wave-set
:count 3
:converted #f
:normal-scale 1.0
:wave
(new 'static 'inline-array ripple-wave 4
(new 'static 'ripple-wave :scale 40.0 :xdiv 1 :speed 1.5)
(new 'static 'ripple-wave :scale 40.0 :xdiv -1 :zdiv 1 :speed 1.5)
(new 'static 'ripple-wave :scale 20.0 :xdiv 5 :zdiv 3 :speed 0.75)
(new 'static 'ripple-wave)
)
)
)
;; definition for symbol ripple-for-small-mud, type ripple-wave-set
(define
ripple-for-small-mud
(new 'static 'ripple-wave-set
:count 3
:converted #f
:normal-scale 1.0
:wave
(new 'static 'inline-array ripple-wave 4
(new 'static 'ripple-wave :scale 20.0 :xdiv 2 :speed 0.5)
(new 'static 'ripple-wave :scale 20.0 :xdiv -2 :zdiv 2 :speed 0.5)
(new 'static 'ripple-wave :scale 20.0 :xdiv 5 :zdiv 3 :speed 0.75)
(new 'static 'ripple-wave)
)
)
)
;; definition for method 22 of type mud
(defmethod TODO-RENAME-22 mud ((obj mud))
(let ((t9-0 (method-of-type water-anim TODO-RENAME-22)))
(t9-0 obj)
)
(set! (-> obj flags) (logand -8388609 (-> obj flags)))
(set! (-> obj flags) (logior #x40000 (-> obj flags)))
(let ((gp-0 (new 'process 'ripple-control)))
(set! (-> obj draw ripple) gp-0)
(set! (-> gp-0 global-scale) 3072.0)
(set! (-> gp-0 waveform) ripple-for-mud)
(let
((v1-9
(the-as
object
((method-of-type res-lump get-property-data)
(-> obj entity)
'water-anim-fade-dist
'interp
-1000000000.0
(the-as pointer #f)
(the-as (pointer res-tag) #f)
*res-static-buf*
)
)
)
)
(when (the-as pointer v1-9)
(set!
(-> gp-0 close-fade-dist)
(-> (the-as ripple-control v1-9) global-scale)
)
(set!
(-> gp-0 far-fade-dist)
(-> (the-as ripple-control v1-9) last-frame-scale)
)
)
)
(case (-> obj look)
((21 25 29)
(set! (-> gp-0 close-fade-dist) 4096000000.0)
(set! (-> gp-0 far-fade-dist) 8192000000.0)
)
)
(case (-> obj look)
((22 25 24 27 26 31)
(let ((v0-3 ripple-for-small-mud))
(set! (-> gp-0 waveform) v0-3)
v0-3
)
)
)
)
)
@@ -94,8 +94,8 @@
((move-vec vector :inline :offset-assert 16)
(best-u float :offset-assert 32)
(best-tri collide-tri-result :inline :offset-assert 48)
(best-from-prim basic :offset-assert 132)
(best-to-prim basic :offset-assert 136)
(best-from-prim collide-shape-prim :offset-assert 132)
(best-to-prim collide-shape-prim :offset-assert 136)
)
:method-count-assert 10
:size-assert #x8c
@@ -119,8 +119,8 @@
;; definition of type collide-overlap-result
(deftype collide-overlap-result (structure)
((best-dist float :offset-assert 0)
(best-from-prim basic :offset-assert 4)
(best-to-prim basic :offset-assert 8)
(best-from-prim collide-shape-prim :offset-assert 4)
(best-to-prim collide-shape-prim :offset-assert 8)
(best-from-tri collide-tri-result :inline :offset-assert 16)
)
:method-count-assert 10
+1 -1
View File
@@ -183,7 +183,7 @@
)
;; definition for function ripple-find-height
(defun ripple-find-height ((arg0 process-drawable) (arg1 basic) (arg2 vector))
(defun ripple-find-height ((arg0 process-drawable) (arg1 int) (arg2 vector))
(local-vars (sv-16 float) (sv-32 float))
(let* ((f30-0 (-> arg0 root trans y))
(v1-1 (-> arg0 draw))
+3 -3
View File
@@ -151,13 +151,13 @@
(:methods
(water-vol-idle () none 20)
(water-vol-startup () none 21)
(dummy-22 () none 22)
(TODO-RENAME-22 (_type_) ripple-wave-set 22)
(dummy-23 () none 23)
(dummy-24 () none 24)
(dummy-25 () none 25)
(TODO-RENAME-25 (_type_) quaternion 25)
(dummy-26 () none 26)
(dummy-27 () none 27)
(dummy-28 () none 28)
(get-ripple-height (_type_ vector) float 28)
(dummy-29 () none 29)
)
)
+14 -14
View File
@@ -27,20 +27,20 @@
:size-assert #x1a8
:flag-assert #x17000001a8
(:methods
(dummy-9 () none 9)
(dummy-10 () none 10)
(dummy-11 () none 11)
(dummy-12 () none 12)
(dummy-13 () none 13)
(dummy-14 () none 14)
(dummy-15 () none 15)
(dummy-16 () none 16)
(dummy-17 () none 17)
(dummy-18 () none 18)
(dummy-19 () none 19)
(dummy-20 () none 20)
(dummy-21 () none 21)
(dummy-22 () none 22)
(TODO-RENAME-9 (_type_ float float float float) none 9)
(dummy-10 (_type_ float) none 10)
(clear-force-torque! (_type_) none 11)
(clear-momentum! (_type_) none 12)
(TODO-RENAME-13 (_type_ vector vector) none 13)
(TODO-RENAME-14 (_type_ vector vector) none 14)
(TODO-RENAME-15 (_type_ vector) none 15)
(TODO-RENAME-16 (_type_ vector vector float) none 16)
(TODO-RENAME-17 (_type_ vector vector) vector 17)
(TODO-RENAME-18 (_type_ vector) vector 18)
(dummy-19 (_type_) none 19)
(dummy-20 (_type_) none 20)
(TODO-RENAME-21 (_type_) none 21)
(TODO-RENAME-22 (_type_ vector quaternion float float) none 22)
)
)
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
@@ -362,7 +362,7 @@
)
;; definition for method 11 of type teetertotter
(defmethod dummy-method-11 teetertotter ((obj teetertotter) (arg0 object))
(defmethod copy-defaults! teetertotter ((obj teetertotter) (arg0 res-lump))
(let
((s4-0
(new 'process 'collide-shape-moving obj (collide-list-enum hit-by-player))
@@ -479,7 +479,3 @@
(go teetertotter-idle)
(none)
)
@@ -285,7 +285,7 @@
)
;; definition for method 11 of type silostep
(defmethod dummy-method-11 silostep ((obj silostep) (arg0 object))
(defmethod copy-defaults! silostep ((obj silostep) (arg0 res-lump))
(logior! (-> obj mask) (process-mask movie-subject))
(let
((s4-0
@@ -327,8 +327,8 @@
(set!
(-> obj anim-limit)
(*
((method-of-type res-lump get-property-value-float)
(the-as res-lump arg0)
(get-property-value-float
arg0
'distance
'interp
-1000000000.0
@@ -466,7 +466,3 @@
0
(none)
)
+112
View File
@@ -0,0 +1,112 @@
;;-*-Lisp-*-
(in-package goal)
;; definition of type mud
(deftype mud (water-anim)
()
:heap-base #x70
:method-count-assert 30
:size-assert #xdc
:flag-assert #x1e007000dc
)
;; definition for method 3 of type mud
(defmethod inspect mud ((obj mud))
(let ((t9-0 (method-of-type water-anim inspect)))
(t9-0 obj)
)
obj
)
;; definition for symbol ripple-for-mud, type ripple-wave-set
(define
ripple-for-mud
(new 'static 'ripple-wave-set
:count 3
:converted #f
:normal-scale 1.0
:wave
(new 'static 'inline-array ripple-wave 4
(new 'static 'ripple-wave :scale 40.0 :xdiv 1 :speed 1.5)
(new 'static 'ripple-wave :scale 40.0 :xdiv -1 :zdiv 1 :speed 1.5)
(new 'static 'ripple-wave :scale 20.0 :xdiv 5 :zdiv 3 :speed 0.75)
(new 'static 'ripple-wave)
)
)
)
;; definition for symbol ripple-for-small-mud, type ripple-wave-set
(define
ripple-for-small-mud
(new 'static 'ripple-wave-set
:count 3
:converted #f
:normal-scale 1.0
:wave
(new 'static 'inline-array ripple-wave 4
(new 'static 'ripple-wave :scale 20.0 :xdiv 2 :speed 0.5)
(new 'static 'ripple-wave :scale 20.0 :xdiv -2 :zdiv 2 :speed 0.5)
(new 'static 'ripple-wave :scale 20.0 :xdiv 5 :zdiv 3 :speed 0.75)
(new 'static 'ripple-wave)
)
)
)
;; definition for method 22 of type mud
(defmethod TODO-RENAME-22 mud ((obj mud))
(let ((t9-0 (method-of-type water-anim TODO-RENAME-22)))
(t9-0 obj)
)
(set! (-> obj flags) (logand -8388609 (-> obj flags)))
(set! (-> obj flags) (logior #x40000 (-> obj flags)))
(let ((gp-0 (new 'process 'ripple-control)))
(set! (-> obj draw ripple) gp-0)
(set! (-> gp-0 global-scale) 3072.0)
(set! (-> gp-0 waveform) ripple-for-mud)
(let
((v1-9
(the-as
object
((method-of-type res-lump get-property-data)
(-> obj entity)
'water-anim-fade-dist
'interp
-1000000000.0
(the-as pointer #f)
(the-as (pointer res-tag) #f)
*res-static-buf*
)
)
)
)
(when (the-as pointer v1-9)
(set!
(-> gp-0 close-fade-dist)
(-> (the-as ripple-control v1-9) global-scale)
)
(set!
(-> gp-0 far-fade-dist)
(-> (the-as ripple-control v1-9) last-frame-scale)
)
)
)
(case (-> obj look)
((21 25 29)
(set! (-> gp-0 close-fade-dist) 4096000000.0)
(set! (-> gp-0 far-fade-dist) 8192000000.0)
)
)
(case (-> obj look)
((22 25 24 27 26 31)
(let ((v0-3 ripple-for-small-mud))
(set! (-> gp-0 waveform) v0-3)
v0-3
)
)
)
)
)