Decompile los-control-h (#1844)

Co-authored-by: Tyler Wilding <xtvaser@gmail.com>
This commit is contained in:
Brent Hickey
2022-10-11 16:39:45 -07:00
committed by GitHub
parent 8827af5efd
commit f7e1e73809
3 changed files with 73 additions and 6 deletions
+4 -4
View File
@@ -31572,16 +31572,16 @@
;; los-control-h ;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
#|
(deftype los-control (structure)
((src-proc uint64 :offset-assert 0)
(dst-proc uint64 :offset-assert 8)
(have-los uint64 :offset-assert 16)
(have-no-los uint64 :offset-assert 24)
(check-interval uint64 :offset-assert 32)
(last-check-time time-frame :offset-assert 40)
(last-check-time time-frame :offset-assert 40)
(last-collide-result collide-tri-result :inline :offset-assert 48)
(collide-with uint32 :offset-assert 144)
(collide-with uint32 :offset 144) ;; collide-tri-result is 88 so tries to place at 136
)
:method-count-assert 14
:size-assert #x94
@@ -31594,7 +31594,7 @@
(los-control-method-13 () none 13)
)
)
|#
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+22 -2
View File
@@ -5,5 +5,25 @@
;; name in dgo: los-control-h
;; dgos: GAME, COMMON
;; DECOMP BEGINS
;; definition of type los-control
(deftype los-control (structure)
((src-proc uint64 :offset-assert 0)
(dst-proc uint64 :offset-assert 8)
(have-los uint64 :offset-assert 16)
(have-no-los uint64 :offset-assert 24)
(check-interval uint64 :offset-assert 32)
(last-check-time time-frame :offset-assert 40)
(last-collide-result collide-tri-result :inline :offset-assert 48)
(collide-with uint32 :offset 144)
)
:method-count-assert 14
:size-assert #x94
:flag-assert #xe00000094
(:methods
(los-control-method-9 () none 9)
(los-control-method-10 () none 10)
(los-control-method-11 () none 11)
(los-control-method-12 () none 12)
(los-control-method-13 () none 13)
)
)
+47
View File
@@ -0,0 +1,47 @@
;;-*-Lisp-*-
(in-package goal)
;; definition of type los-control
(deftype los-control (structure)
((src-proc uint64 :offset-assert 0)
(dst-proc uint64 :offset-assert 8)
(have-los uint64 :offset-assert 16)
(have-no-los uint64 :offset-assert 24)
(check-interval uint64 :offset-assert 32)
(last-check-time time-frame :offset-assert 40)
(last-collide-result collide-tri-result :inline :offset-assert 48)
(collide-with uint32 :offset 144)
)
:method-count-assert 14
:size-assert #x94
:flag-assert #xe00000094
(:methods
(los-control-method-9 () none 9)
(los-control-method-10 () none 10)
(los-control-method-11 () none 11)
(los-control-method-12 () none 12)
(los-control-method-13 () none 13)
)
)
;; definition for method 3 of type los-control
(defmethod inspect los-control ((obj los-control))
(when (not obj)
(set! obj obj)
(goto cfg-4)
)
(format #t "[~8x] ~A~%" obj 'los-control)
(format #t "~1Tsrc-proc: ~D~%" (-> obj src-proc))
(format #t "~1Tdst-proc: ~D~%" (-> obj dst-proc))
(format #t "~1Thave-los: ~D~%" (-> obj have-los))
(format #t "~1Thave-no-los: ~D~%" (-> obj have-no-los))
(format #t "~1Tcheck-interval: ~D~%" (-> obj check-interval))
(format #t "~1Tlast-check-time: ~D~%" (-> obj last-check-time))
(format #t "~1Tlast-collide-result: #<collide-tri-result @ #x~X>~%" (-> obj last-collide-result))
(format #t "~1Tcollide-with: ~D~%" (-> obj collide-with))
(label cfg-4)
obj
)
;; failed to figure out what this is:
0