fix goal_src

This commit is contained in:
Tyler Wilding
2021-08-13 22:16:33 -04:00
parent dda8756a35
commit 9f36419e37
8 changed files with 4077 additions and 86 deletions
@@ -3,7 +3,7 @@
// if you want to filter to only some object names.
// it will make the decompiler much faster.
"allowed_objects": ["nav-enemy"],
"allowed_objects": [],
////////////////////////////
// CODE ANALYSIS OPTIONS
+5
View File
@@ -15,3 +15,8 @@
(define-extern ja-done? (function int symbol))
;; TODO - for misty-warehouse
(define-extern rider-trans (function int))
;; TODO - for nav-enemy
(define-extern ja-blend-eval (function int))
(define-extern process-drawable-fuel-cell-handler (function process-drawable object symbol (pointer int64) symbol))
(define-extern ja-aframe-num (function int float))
(define-extern ja-aframe (function float int float))
+2
View File
@@ -5,3 +5,5 @@
;; name in dgo: collectables
;; dgos: GAME, ENGINE
;; TODO - for nav-enemy
(define-extern birth-pickup-at-point (function vector int float symbol process symbol basic)) ;; TODO - not confirmed at all! (the symbols are wrong)
+6
View File
@@ -155,3 +155,9 @@
(dummy-75 (_type_) none 75)
)
)
;; NOTE - some forward declarations
(define-extern nav-enemy-send-attack (function process touching-shapes-entry symbol object :behavior nav-enemy))
(define-extern nav-enemy-set-hit-from-direction (function process none :behavior nav-enemy))
(define-extern nav-enemy-get-new-patrol-point (function int :behavior nav-enemy))
(define-extern nav-enemy-test-point-near-nav-mesh? (function vector symbol :behavior nav-enemy))
File diff suppressed because it is too large Load Diff
+44 -42
View File
@@ -164,52 +164,54 @@
(lambda :behavior teetertotter
((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block))
(when (= arg2 'touch)
(-> arg3 param 0)
(let ((t9-0 (method-of-type touching-shapes-entry dummy-12)))
(-> self root)
1
(when (and (t9-0) (-> self rock-is-dangerous))
(let ((a1-2 (new 'stack-no-clear 'event-message-block)))
(set! (-> a1-2 from) self)
(set! (-> a1-2 num-params) 2)
(set! (-> a1-2 message) 'attack)
(set! (-> a1-2 param 0) (-> arg3 param 0))
(let ((a0-2 (new 'static 'attack-info :mask #x20)))
(set! (-> a0-2 mode) 'deadly)
(set! (-> a1-2 param 1) (the-as uint a0-2))
)
(send-event-function arg0 a1-2)
(when
(and
((method-of-type touching-shapes-entry prims-touching?)
(the-as touching-shapes-entry (-> arg3 param 0))
(the-as collide-shape-moving (-> self root))
(the-as uint 1)
)
(-> self rock-is-dangerous)
)
(let ((a1-2 (new 'stack-no-clear 'event-message-block)))
(set! (-> a1-2 from) self)
(set! (-> a1-2 num-params) 2)
(set! (-> a1-2 message) 'attack)
(set! (-> a1-2 param 0) (-> arg3 param 0))
(let ((a0-2 (new 'static 'attack-info :mask #x20)))
(set! (-> a0-2 mode) 'deadly)
(set! (-> a1-2 param 1) (the-as uint a0-2))
)
(send-event-function arg0 a1-2)
)
)
(-> arg3 param 0)
(let ((t9-2 (method-of-type touching-shapes-entry dummy-12)))
(-> self root)
2
(when
(and
(t9-2)
(target-on-end-of-teetertotter? self)
(not (-> self launched-player))
(-> self in-launch-window)
(when
(and
((method-of-type touching-shapes-entry prims-touching?)
(the-as touching-shapes-entry (-> arg3 param 0))
(the-as collide-shape-moving (-> self root))
(the-as uint 2)
)
(let ((a1-4 (new 'stack-no-clear 'event-message-block)))
(set! (-> a1-4 from) self)
(set! (-> a1-4 num-params) 2)
(set! (-> a1-4 message) 'shove)
(set! (-> a1-4 param 0) (the-as uint #f))
(let ((v1-16 (new 'static 'attack-info :mask #xcc0)))
(set! (-> v1-16 shove-back) 0.0)
(set! (-> v1-16 shove-up) 53248.0)
(set! (-> v1-16 angle) 'jump)
(set! (-> v1-16 control) 1.0)
(set! (-> a1-4 param 1) (the-as uint v1-16))
)
(when (send-event-function arg0 a1-4)
(let ((v0-0 #t))
(set! (-> self launched-player) v0-0)
v0-0
)
(target-on-end-of-teetertotter? self)
(not (-> self launched-player))
(-> self in-launch-window)
)
(let ((a1-4 (new 'stack-no-clear 'event-message-block)))
(set! (-> a1-4 from) self)
(set! (-> a1-4 num-params) 2)
(set! (-> a1-4 message) 'shove)
(set! (-> a1-4 param 0) (the-as uint #f))
(let ((v1-16 (new 'static 'attack-info :mask #xcc0)))
(set! (-> v1-16 shove-back) 0.0)
(set! (-> v1-16 shove-up) 53248.0)
(set! (-> v1-16 angle) 'jump)
(set! (-> v1-16 control) 1.0)
(set! (-> a1-4 param 1) (the-as uint v1-16))
)
(when (send-event-function arg0 a1-4)
(let ((v0-0 #t))
(set! (-> self launched-player) v0-0)
v0-0
)
)
)
+1 -1
View File
@@ -3930,7 +3930,7 @@ nav-enemy-default-event-handler
;; definition for method 11 of type nav-enemy
;; INFO: Return type mismatch int vs none.
(defmethod dummy-method-11 nav-enemy ((obj nav-enemy) (arg0 object))
(defmethod copy-defaults! nav-enemy ((obj nav-enemy) (arg0 res-lump))
(TODO-RENAME-47 obj)
(process-drawable-from-entity! obj arg0)
(TODO-RENAME-48 obj)
@@ -166,52 +166,54 @@
(lambda :behavior teetertotter
((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block))
(when (= arg2 'touch)
(-> arg3 param 0)
(let ((t9-0 (method-of-type touching-shapes-entry dummy-12)))
(-> self root)
1
(when (and (t9-0) (-> self rock-is-dangerous))
(let ((a1-2 (new 'stack-no-clear 'event-message-block)))
(set! (-> a1-2 from) self)
(set! (-> a1-2 num-params) 2)
(set! (-> a1-2 message) 'attack)
(set! (-> a1-2 param 0) (-> arg3 param 0))
(let ((a0-2 (new 'static 'attack-info :mask #x20)))
(set! (-> a0-2 mode) 'deadly)
(set! (-> a1-2 param 1) (the-as uint a0-2))
)
(send-event-function arg0 a1-2)
(when
(and
((method-of-type touching-shapes-entry prims-touching?)
(the-as touching-shapes-entry (-> arg3 param 0))
(the-as collide-shape-moving (-> self root))
(the-as uint 1)
)
(-> self rock-is-dangerous)
)
(let ((a1-2 (new 'stack-no-clear 'event-message-block)))
(set! (-> a1-2 from) self)
(set! (-> a1-2 num-params) 2)
(set! (-> a1-2 message) 'attack)
(set! (-> a1-2 param 0) (-> arg3 param 0))
(let ((a0-2 (new 'static 'attack-info :mask #x20)))
(set! (-> a0-2 mode) 'deadly)
(set! (-> a1-2 param 1) (the-as uint a0-2))
)
(send-event-function arg0 a1-2)
)
)
(-> arg3 param 0)
(let ((t9-2 (method-of-type touching-shapes-entry dummy-12)))
(-> self root)
2
(when
(and
(t9-2)
(target-on-end-of-teetertotter? self)
(not (-> self launched-player))
(-> self in-launch-window)
(when
(and
((method-of-type touching-shapes-entry prims-touching?)
(the-as touching-shapes-entry (-> arg3 param 0))
(the-as collide-shape-moving (-> self root))
(the-as uint 2)
)
(let ((a1-4 (new 'stack-no-clear 'event-message-block)))
(set! (-> a1-4 from) self)
(set! (-> a1-4 num-params) 2)
(set! (-> a1-4 message) 'shove)
(set! (-> a1-4 param 0) (the-as uint #f))
(let ((v1-16 (new 'static 'attack-info :mask #xcc0)))
(set! (-> v1-16 shove-back) 0.0)
(set! (-> v1-16 shove-up) 53248.0)
(set! (-> v1-16 angle) 'jump)
(set! (-> v1-16 control) 1.0)
(set! (-> a1-4 param 1) (the-as uint v1-16))
)
(when (send-event-function arg0 a1-4)
(let ((v0-0 #t))
(set! (-> self launched-player) v0-0)
v0-0
)
(target-on-end-of-teetertotter? self)
(not (-> self launched-player))
(-> self in-launch-window)
)
(let ((a1-4 (new 'stack-no-clear 'event-message-block)))
(set! (-> a1-4 from) self)
(set! (-> a1-4 num-params) 2)
(set! (-> a1-4 message) 'shove)
(set! (-> a1-4 param 0) (the-as uint #f))
(let ((v1-16 (new 'static 'attack-info :mask #xcc0)))
(set! (-> v1-16 shove-back) 0.0)
(set! (-> v1-16 shove-up) 53248.0)
(set! (-> v1-16 angle) 'jump)
(set! (-> v1-16 control) 1.0)
(set! (-> a1-4 param 1) (the-as uint v1-16))
)
(when (send-event-function arg0 a1-4)
(let ((v0-0 #t))
(set! (-> self launched-player) v0-0)
v0-0
)
)
)
@@ -479,3 +481,7 @@
(go teetertotter-idle)
(none)
)