mirror of
https://github.com/open-goal/jak-project
synced 2026-08-31 17:43:06 -04:00
[decomp] finish actor-link-h and a few more (#592)
* finish actor-link-h * decompile files * fix pp issue
This commit is contained in:
@@ -200,12 +200,12 @@
|
||||
|
||||
;; definition for function remove-exit
|
||||
(defun remove-exit ()
|
||||
(local-vars (pp process))
|
||||
(when (-> pp stack-frame-top)
|
||||
(let ((v0-0 (-> pp stack-frame-top next)))
|
||||
(set! (-> pp stack-frame-top) v0-0)
|
||||
v0-0
|
||||
)
|
||||
(with-pp (when (-> pp stack-frame-top)
|
||||
(let ((v0-0 (-> pp stack-frame-top next)))
|
||||
(set! (-> pp stack-frame-top) v0-0)
|
||||
v0-0
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
|
||||
@@ -1515,14 +1515,14 @@
|
||||
new
|
||||
protect-frame
|
||||
((allocation symbol) (type-to-make type) (arg0 (function object)))
|
||||
(local-vars (pp process))
|
||||
(let ((v0-0 (the-as object (+ (the-as int allocation) 4))))
|
||||
(set! (-> (the-as protect-frame v0-0) type) type-to-make)
|
||||
(set! (-> (the-as protect-frame v0-0) name) 'protect-frame)
|
||||
(set! (-> (the-as protect-frame v0-0) exit) arg0)
|
||||
(set! (-> (the-as protect-frame v0-0) next) (-> pp stack-frame-top))
|
||||
(set! (-> pp stack-frame-top) (the-as protect-frame v0-0))
|
||||
(the-as protect-frame v0-0)
|
||||
(with-pp (let ((v0-0 (the-as object (+ (the-as int allocation) 4))))
|
||||
(set! (-> (the-as protect-frame v0-0) type) type-to-make)
|
||||
(set! (-> (the-as protect-frame v0-0) name) 'protect-frame)
|
||||
(set! (-> (the-as protect-frame v0-0) exit) arg0)
|
||||
(set! (-> (the-as protect-frame v0-0) next) (-> pp stack-frame-top))
|
||||
(set! (-> pp stack-frame-top) (the-as protect-frame v0-0))
|
||||
(the-as protect-frame v0-0)
|
||||
)
|
||||
)
|
||||
)
|
||||
|
||||
@@ -1814,59 +1814,60 @@
|
||||
;; WARN: Unsupported inline assembly instruction kind - [lw ra, return-from-thread(s7)]
|
||||
;; WARN: Unsupported inline assembly instruction kind - [jr ra]
|
||||
(defmethod deactivate process ((obj process))
|
||||
(local-vars (pp process) (s7-0 none) (ra-0 int))
|
||||
(when (!= (-> obj status) 'dead)
|
||||
(set! (-> obj next-state) dead-state)
|
||||
(if (-> obj entity)
|
||||
(entity-deactivate-handler obj (-> obj entity))
|
||||
)
|
||||
(let ((s5-0 pp))
|
||||
(let ((s4-0 (-> obj stack-frame-top)))
|
||||
(while (the-as protect-frame s4-0)
|
||||
(let ((v1-5 (-> s4-0 type)))
|
||||
(if (or (= v1-5 protect-frame) (= v1-5 state))
|
||||
((-> (the-as protect-frame s4-0) exit))
|
||||
)
|
||||
)
|
||||
(set! (the-as protect-frame s4-0) (-> (the-as protect-frame s4-0) next))
|
||||
)
|
||||
)
|
||||
(let ((s6-2 s5-0))
|
||||
)
|
||||
)
|
||||
(process-disconnect obj)
|
||||
(let ((v1-11 (-> obj child)))
|
||||
(while v1-11
|
||||
(let ((s5-1 (-> v1-11 0 brother)))
|
||||
(deactivate (-> v1-11 0))
|
||||
(set! v1-11 s5-1)
|
||||
)
|
||||
)
|
||||
)
|
||||
(return-process (-> obj pool) obj)
|
||||
(set! (-> obj state) #f)
|
||||
(set! (-> obj next-state) #f)
|
||||
(set! (-> obj entity) #f)
|
||||
(set! (-> obj pid) 0)
|
||||
(cond
|
||||
((= (-> *kernel-context* current-process) obj)
|
||||
(set! (-> obj status) 'dead)
|
||||
(.lw ra-0 return-from-thread s7-0)
|
||||
(.jr ra-0)
|
||||
(nop!)
|
||||
(let ((v1-21 0))
|
||||
)
|
||||
)
|
||||
((= (-> obj status) 'initialize)
|
||||
(set! (-> obj status) 'dead)
|
||||
(throw 'initialize #f)
|
||||
)
|
||||
)
|
||||
(set! (-> obj status) 'dead)
|
||||
(let ((v0-7 0))
|
||||
)
|
||||
(local-vars (s7-0 none) (ra-0 int))
|
||||
(with-pp (when (!= (-> obj status) 'dead)
|
||||
(set! (-> obj next-state) dead-state)
|
||||
(if (-> obj entity)
|
||||
(entity-deactivate-handler obj (-> obj entity))
|
||||
)
|
||||
(let ((s5-0 pp))
|
||||
(let ((s4-0 (-> obj stack-frame-top)))
|
||||
(while (the-as protect-frame s4-0)
|
||||
(let ((v1-5 (-> s4-0 type)))
|
||||
(if (or (= v1-5 protect-frame) (= v1-5 state))
|
||||
((-> (the-as protect-frame s4-0) exit))
|
||||
)
|
||||
)
|
||||
(set! s4-0 (-> (the-as protect-frame s4-0) next))
|
||||
)
|
||||
)
|
||||
(let ((s6-2 s5-0))
|
||||
)
|
||||
)
|
||||
(process-disconnect obj)
|
||||
(let ((v1-11 (-> obj child)))
|
||||
(while v1-11
|
||||
(let ((s5-1 (-> v1-11 0 brother)))
|
||||
(deactivate (-> v1-11 0))
|
||||
(set! v1-11 s5-1)
|
||||
)
|
||||
)
|
||||
)
|
||||
(return-process (-> obj pool) obj)
|
||||
(set! (-> obj state) #f)
|
||||
(set! (-> obj next-state) #f)
|
||||
(set! (-> obj entity) #f)
|
||||
(set! (-> obj pid) 0)
|
||||
(cond
|
||||
((= (-> *kernel-context* current-process) obj)
|
||||
(set! (-> obj status) 'dead)
|
||||
(.lw ra-0 return-from-thread s7-0)
|
||||
(.jr ra-0)
|
||||
(nop!)
|
||||
(let ((v1-21 0))
|
||||
)
|
||||
)
|
||||
((= (-> obj status) 'initialize)
|
||||
(set! (-> obj status) 'dead)
|
||||
(throw 'initialize #f)
|
||||
)
|
||||
)
|
||||
(set! (-> obj status) 'dead)
|
||||
(let ((v0-7 0))
|
||||
)
|
||||
)
|
||||
(none)
|
||||
)
|
||||
(none)
|
||||
)
|
||||
|
||||
;; failed to figure out what this is:
|
||||
|
||||
Reference in New Issue
Block a user