decomp: almost finish rigid-body stuck on symbol param from an event!

This commit is contained in:
Tyler Wilding 2021-08-07 17:31:29 -04:00
parent 20196852f5
commit ef81529855
No known key found for this signature in database
GPG key ID: A89403EB356ED106
5 changed files with 39 additions and 25 deletions

View file

@ -655,8 +655,8 @@ void SimpleExpressionElement::update_from_stack_float_2(const Env& env,
auto type0 = env.get_types_before_op(m_my_idx).get(m_expr.get_arg(0).var().reg()); 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()); auto type1 = env.get_types_before_op(m_my_idx).get(m_expr.get_arg(1).var().reg());
throw std::runtime_error( throw std::runtime_error(
fmt::format("Floating point math attempted on invalid types: {} and {} in op {}.", fmt::format("[OP: {}] - Floating point math attempted on invalid types: {} and {} in op {}.",
type0.print(), type1.print(), to_string(env))); m_my_idx, type0.print(), type1.print(), to_string(env)));
} }
} }

View file

@ -22035,9 +22035,9 @@
(:methods (:methods
(rigid-body-platform-idle () none 20) ;; state (rigid-body-platform-idle () none 20) ;; state
(rigid-body-platform-float () none 21) ;; state (rigid-body-platform-float () none 21) ;; state
(dummy-22 (_type_ vector) none 22) ;; TODO - weird state handling, not completely done yet (TODO-RENAME-22 (_type_ vector basic) float 22) ;; TODO - basic is seemingly unused
(dummy-23 (_type_) none 23) ;; TODO - missing arg that is passed to 24 (TODO-RENAME-23 (_type_ basic) none 23) ;; TODO - basic is seemingly unused
(TODO-RENAME-24 (_type_ rigid-body-control-point) none 24) ;; TODO - there is an unused 3rd arg (TODO-RENAME-24 (_type_ rigid-body-control-point basic) none 24) ;; TODO - basic is seemingly unused
(TODO-RENAME-25 (_type_) none 25) (TODO-RENAME-25 (_type_) none 25)
(TODO-RENAME-26 (_type_) none 26) (TODO-RENAME-26 (_type_) none 26)
(TODO-RENAME-27 (_type_ vector) none 27) (TODO-RENAME-27 (_type_ vector) none 27)
@ -22055,7 +22055,7 @@
;; - Functions ;; - Functions
(define-extern matrix-3x3-triple-transpose-product (function matrix matrix matrix matrix)) (define-extern matrix-3x3-triple-transpose-product (function matrix matrix matrix matrix))
(define-extern rigid-body-platform-event-handler function) (define-extern rigid-body-platform-event-handler (function process int symbol event-message-block object :behavior rigid-body-platform))
(define-extern rigid-body-platform-post (function int :behavior rigid-body-platform)) (define-extern rigid-body-platform-post (function int :behavior rigid-body-platform))
;; - Unknowns ;; - Unknowns

View file

@ -597,5 +597,9 @@
[6, "(function process int symbol event-message-block process-mask :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": [] "placeholder-do-not-add-below": []
} }

View file

@ -869,5 +869,9 @@
[16, "vector"] [16, "vector"]
], ],
"(anon-function 9 plat-eco)": [
[16, "event-message-block"]
],
"placeholder-do-not-add-below!": [] "placeholder-do-not-add-below!": []
} }

View file

@ -1787,10 +1787,6 @@
"draw-ocean-transition": [[255, "v1", "ocean-mid-mask"]], "draw-ocean-transition": [[255, "v1", "ocean-mid-mask"]],
// "ocean-trans-mask-ptrs-bit?": [
// [[32, 41], "a0", "(pointer ocean-trans-mask)"]
// ],
"(anon-function 6 water-anim)": [ "(anon-function 6 water-anim)": [
[6, "a0", "vector"] [6, "a0", "vector"]
], ],
@ -1799,28 +1795,14 @@
[2, "v1", "(state none)"] [2, "v1", "(state none)"]
], ],
"rigid-body-platform-post": [
[[0, 999], "s6", "rigid-body-platform"]
],
"(anon-function 8 rigid-body)": [ "(anon-function 8 rigid-body)": [
[[0, 999], "s6", "rigid-body-platform"],
[[16, 21], "t9", "(function object)"] [[16, 21], "t9", "(function object)"]
], ],
"(anon-function 7 rigid-body)": [
[[0, 999], "s6", "rigid-body-platform"]
],
"(anon-function 6 rigid-body)": [ "(anon-function 6 rigid-body)": [
[[0, 999], "s6", "rigid-body-platform"],
[[16, 21], "t9", "(function object)"] [[16, 21], "t9", "(function object)"]
], ],
"(anon-function 5 rigid-body)": [
[[0, 999], "s6", "rigid-body-platform"]
],
"(method 34 rigid-body-platform)": [ "(method 34 rigid-body-platform)": [
[[0, 5], "t9", "(function object)"] [[0, 5], "t9", "(function object)"]
], ],
@ -1832,7 +1814,31 @@
], ],
"(method 25 water-anim)": [ "(method 25 water-anim)": [
[[27, 45], "v1", "transform"] // mostly a guess, manipulating a trsqv [[27, 45], "v1", "transform"]
],
"(method 22 rigid-body-platform)": [
[26, "f0", "float"]
],
"rigid-body-platform-event-handler": [
[28, "v1", "process-drawable"],
[83, "v1", "process-drawable"],
[119, "v1", "process-drawable"],
[125, "v1", "process-drawable"],
[158, "v1", "vector"],
[170, "v1", "vector"],
[184, "v1", "symbol"]
],
"(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)"]
], ],
"placeholder-do-not-add-below": [] "placeholder-do-not-add-below": []