mirror of
https://github.com/open-goal/jak-project.git
synced 2025-02-06 13:49:15 +00:00
decomp: pov-camera-h
and hud-h
(#425)
* decomp: `pov-camera-h` * decomp: decompile `hud-h` and update offline tests * linting
This commit is contained in:
parent
73a4f2c83e
commit
971e0e3e24
@ -9,4 +9,11 @@ tasks:
|
||||
- ./out/build/Debug/bin/gk.exe -fakeiso -debug -nodisplay
|
||||
repl:
|
||||
cmds:
|
||||
- ./out/build/Debug/bin/goalc.exe -auto-lt
|
||||
- ./out/build/Debug/bin/goalc.exe -auto-lt
|
||||
decomp:
|
||||
cmds:
|
||||
- ./out/build/Debug/bin/decompiler.exe "./decompiler/config/jak1_ntsc_black_label.jsonc" "./iso_data/jak1" "./decompiler_out/jak1"
|
||||
decomp-clean:
|
||||
cmds:
|
||||
- rm ./decompiler_out/**/*.asm
|
||||
- rm ./decompiler_out/**/*disasm.gc
|
@ -9226,14 +9226,14 @@
|
||||
|
||||
;; pov-camera-h
|
||||
(deftype pov-camera (process-drawable)
|
||||
((~Tflags int32 :offset-assert 176)
|
||||
(~Tdebounce-start-time uint64 :offset-assert 184)
|
||||
(~Tnotify-handle uint64 :offset-assert 192)
|
||||
(~Tanim-name basic :offset-assert 200)
|
||||
(~Tcommand-list basic :offset-assert 204)
|
||||
(~Tmask-to-clear uint32 :offset-assert 208)
|
||||
(~Tmusic-volume-movie float :offset-assert 212)
|
||||
(~Tsfx-volume-movie float :offset-assert 216)
|
||||
((flags int32 :offset-assert 176)
|
||||
(debounce-start-time uint64 :offset-assert 184)
|
||||
(notify-handle uint64 :offset-assert 192)
|
||||
(anim-name basic :offset-assert 200)
|
||||
(command-list basic :offset-assert 204)
|
||||
(mask-to-clear uint32 :offset-assert 208)
|
||||
(music-volume-movie float :offset-assert 212)
|
||||
(sfx-volume-movie float :offset-assert 216)
|
||||
)
|
||||
:heap-base #x70
|
||||
:method-count-assert 30
|
||||
@ -12633,32 +12633,32 @@
|
||||
|
||||
;; hud-h
|
||||
(deftype hud (process)
|
||||
((~Tvalue int32 :offset-assert 112)
|
||||
(~Tvalue2 int32 :offset-assert 116)
|
||||
(~Ttarget-value int32 :offset-assert 120)
|
||||
(~Tlast-increment-time uint64 :offset-assert 128)
|
||||
(~Tlast-target-equal-time uint64 :offset-assert 136)
|
||||
(~Toffset int32 :offset-assert 144)
|
||||
(~Ty-offset int32 :offset-assert 148)
|
||||
(~Tnext-y-offset int32 :offset-assert 152)
|
||||
(~Tx-sgn int32 :offset-assert 156)
|
||||
(~Ty-sgn int32 :offset-assert 160)
|
||||
(~Ttext-x int32 :offset-assert 164)
|
||||
(~Ttext-y int32 :offset-assert 168)
|
||||
(~Tfriend int32 :offset-assert 172)
|
||||
(~Tfirst-init basic :offset-assert 176)
|
||||
(~Tincrement-on-event basic :offset-assert 180)
|
||||
(~Tskip-particle int32 :offset-assert 184)
|
||||
(~Tdisable basic :offset-assert 188)
|
||||
(~Tforce-on-screen basic :offset-assert 192)
|
||||
(~Tdeactivate-when-hidden basic :offset-assert 196)
|
||||
(~Ttrigger-time uint64 :offset-assert 200)
|
||||
(~Tlast-hide-time uint64 :offset-assert 208)
|
||||
(~Tnb-of-icons int32 :offset-assert 216)
|
||||
(~Ticons hud-icon 6 :offset-assert 220)
|
||||
(~Tmax-nb-of-particles int32 :offset-assert 244)
|
||||
(~Tnb-of-particles int32 :offset-assert 248)
|
||||
(~Tparticles hud-particle 7 :offset-assert 252)
|
||||
((value int32 :offset-assert 112)
|
||||
(value2 int32 :offset-assert 116)
|
||||
(target-value int32 :offset-assert 120)
|
||||
(last-increment-time uint64 :offset-assert 128)
|
||||
(last-target-equal-time uint64 :offset-assert 136)
|
||||
(offset int32 :offset-assert 144)
|
||||
(y-offset int32 :offset-assert 148)
|
||||
(next-y-offset int32 :offset-assert 152)
|
||||
(x-sgn int32 :offset-assert 156)
|
||||
(y-sgn int32 :offset-assert 160)
|
||||
(text-x int32 :offset-assert 164)
|
||||
(text-y int32 :offset-assert 168)
|
||||
(friend int32 :offset-assert 172)
|
||||
(first-init basic :offset-assert 176)
|
||||
(increment-on-event basic :offset-assert 180)
|
||||
(skip-particle int32 :offset-assert 184)
|
||||
(disable basic :offset-assert 188)
|
||||
(force-on-screen basic :offset-assert 192)
|
||||
(deactivate-when-hidden basic :offset-assert 196)
|
||||
(trigger-time uint64 :offset-assert 200)
|
||||
(last-hide-time uint64 :offset-assert 208)
|
||||
(nb-of-icons int32 :offset-assert 216)
|
||||
(icons hud-icon 6 :offset-assert 220)
|
||||
(max-nb-of-particles int32 :offset-assert 244)
|
||||
(nb-of-particles int32 :offset-assert 248)
|
||||
(particles hud-particle 7 :offset-assert 252)
|
||||
)
|
||||
:heap-base #xb0
|
||||
:method-count-assert 27
|
||||
@ -12685,16 +12685,15 @@
|
||||
;; hud-h
|
||||
(deftype hud-parts (structure)
|
||||
(
|
||||
;(data UNKNOWN 9 :offset-assert 0)
|
||||
(pickups uint32 :offset-assert 0)
|
||||
(money uint32 :offset-assert 4)
|
||||
(fuel-cell uint32 :offset-assert 8)
|
||||
(health uint32 :offset-assert 12)
|
||||
(buzzers uint32 :offset-assert 16)
|
||||
(power uint32 :offset-assert 20)
|
||||
(bike-speed uint32 :offset-assert 24)
|
||||
(bike-heat uint32 :offset-assert 28)
|
||||
(money-all uint32 :offset-assert 32)
|
||||
(pickups basic :offset-assert 0)
|
||||
(money basic :offset-assert 4)
|
||||
(fuel-cell basic :offset-assert 8)
|
||||
(health basic :offset-assert 12)
|
||||
(buzzers basic :offset-assert 16)
|
||||
(power basic :offset-assert 20)
|
||||
(bike-speed basic :offset-assert 24)
|
||||
(bike-heat basic :offset-assert 28)
|
||||
(money-all basic :offset-assert 32)
|
||||
)
|
||||
:method-count-assert 9
|
||||
:size-assert #x24
|
||||
@ -34268,9 +34267,8 @@
|
||||
;;(define-extern *external-cam-mode* object) ;; unknown type
|
||||
(define-extern hud-icon type)
|
||||
(define-extern hud-particle type)
|
||||
;;(define-extern hud-parts object) ;; unknown type
|
||||
;;(define-extern hud object) ;; unknown type
|
||||
;;(define-extern *hud-parts* object) ;; unknown type
|
||||
(define-extern *hud-parts* hud-parts)
|
||||
(define-extern game-option type)
|
||||
;;(define-extern progress object) ;; unknown type
|
||||
(define-extern *progress-process* process) ;; unknown type
|
||||
|
@ -438,5 +438,9 @@
|
||||
["L8", "float", true],
|
||||
["L9", "float", true],
|
||||
["L10", "float", true]
|
||||
],
|
||||
|
||||
"hud-h": [
|
||||
["L1", "hud-parts", true]
|
||||
]
|
||||
}
|
||||
|
@ -5,3 +5,29 @@
|
||||
;; name in dgo: pov-camera-h
|
||||
;; dgos: GAME, ENGINE
|
||||
|
||||
(deftype pov-camera (process-drawable)
|
||||
((flags int32 :offset-assert 176)
|
||||
(debounce-start-time uint64 :offset-assert 184)
|
||||
(notify-handle uint64 :offset-assert 192)
|
||||
(anim-name basic :offset-assert 200)
|
||||
(command-list basic :offset-assert 204)
|
||||
(mask-to-clear uint32 :offset-assert 208)
|
||||
(music-volume-movie float :offset-assert 212)
|
||||
(sfx-volume-movie float :offset-assert 216)
|
||||
)
|
||||
:method-count-assert 30
|
||||
:size-assert #xdc
|
||||
:flag-assert #x1e000000dc
|
||||
(:methods
|
||||
(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)
|
||||
)
|
||||
)
|
@ -5,3 +5,35 @@
|
||||
;; name in dgo: game-h
|
||||
;; dgos: GAME, ENGINE
|
||||
|
||||
; TODO - for hud-h.gc
|
||||
(deftype process-drawable (process)
|
||||
((root basic :offset-assert 112)
|
||||
(node-list basic :offset-assert 116)
|
||||
(draw basic :offset-assert 120)
|
||||
(skel basic :offset-assert 124)
|
||||
(nav basic :offset-assert 128)
|
||||
(align basic :offset-assert 132)
|
||||
(path basic :offset-assert 136)
|
||||
(vol basic :offset-assert 140)
|
||||
(fact basic :offset-assert 144)
|
||||
(link basic :offset-assert 148)
|
||||
(part basic :offset-assert 152)
|
||||
(water basic :offset-assert 156)
|
||||
(sound basic :offset-assert 160)
|
||||
(state-flags uint32 :offset-assert 164)
|
||||
(state-time uint64 :offset-assert 168)
|
||||
)
|
||||
:heap-base #x40
|
||||
:method-count-assert 20
|
||||
:size-assert #xb0
|
||||
:flag-assert #x14004000b0
|
||||
;; inherited inspect of process
|
||||
(:methods
|
||||
(dummy-14 () none 14)
|
||||
(dummy-15 () none 15)
|
||||
(dummy-16 () none 16)
|
||||
(dummy-17 () none 17)
|
||||
(dummy-18 () none 18)
|
||||
(dummy-19 () none 19)
|
||||
)
|
||||
)
|
@ -5,3 +5,110 @@
|
||||
;; name in dgo: hud-h
|
||||
;; dgos: GAME, ENGINE
|
||||
|
||||
;; definition of type hud-icon
|
||||
(deftype hud-icon (basic)
|
||||
((icon uint32 :offset-assert 4)
|
||||
(icon-y int32 :offset-assert 8)
|
||||
(icon-x int32 :offset-assert 12)
|
||||
(icon-z int32 :offset-assert 16)
|
||||
(scale-x float :offset-assert 20)
|
||||
(scale-y float :offset-assert 24)
|
||||
)
|
||||
:method-count-assert 9
|
||||
:size-assert #x1c
|
||||
:flag-assert #x90000001c
|
||||
)
|
||||
|
||||
;; definition of type hud-particle
|
||||
(deftype hud-particle (basic)
|
||||
((part basic :offset-assert 4)
|
||||
(init-pos vector :inline :offset-assert 16)
|
||||
(pos vector :inline :offset-assert 32)
|
||||
(prev-pos vector :inline :offset-assert 48)
|
||||
)
|
||||
:method-count-assert 9
|
||||
:size-assert #x40
|
||||
:flag-assert #x900000040
|
||||
)
|
||||
|
||||
;; definition of type hud
|
||||
(deftype hud (process)
|
||||
((value int32 :offset-assert 112)
|
||||
(value2 int32 :offset-assert 116)
|
||||
(target-value int32 :offset-assert 120)
|
||||
(last-increment-time uint64 :offset-assert 128)
|
||||
(last-target-equal-time uint64 :offset-assert 136)
|
||||
(offset int32 :offset-assert 144)
|
||||
(y-offset int32 :offset-assert 148)
|
||||
(next-y-offset int32 :offset-assert 152)
|
||||
(x-sgn int32 :offset-assert 156)
|
||||
(y-sgn int32 :offset-assert 160)
|
||||
(text-x int32 :offset-assert 164)
|
||||
(text-y int32 :offset-assert 168)
|
||||
(friend int32 :offset-assert 172)
|
||||
(first-init basic :offset-assert 176)
|
||||
(increment-on-event basic :offset-assert 180)
|
||||
(skip-particle int32 :offset-assert 184)
|
||||
(disable basic :offset-assert 188)
|
||||
(force-on-screen basic :offset-assert 192)
|
||||
(deactivate-when-hidden basic :offset-assert 196)
|
||||
(trigger-time uint64 :offset-assert 200)
|
||||
(last-hide-time uint64 :offset-assert 208)
|
||||
(nb-of-icons int32 :offset-assert 216)
|
||||
(icons hud-icon 6 :offset-assert 220)
|
||||
(max-nb-of-particles int32 :offset-assert 244)
|
||||
(nb-of-particles int32 :offset-assert 248)
|
||||
(particles hud-particle 7 :offset-assert 252)
|
||||
)
|
||||
:method-count-assert 27
|
||||
:size-assert #x118
|
||||
:flag-assert #x1b00000118
|
||||
(:methods
|
||||
(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)
|
||||
)
|
||||
)
|
||||
|
||||
;; definition of type hud-parts
|
||||
(deftype hud-parts (structure)
|
||||
((pickups basic :offset-assert 0)
|
||||
(money basic :offset-assert 4)
|
||||
(fuel-cell basic :offset-assert 8)
|
||||
(health basic :offset-assert 12)
|
||||
(buzzers basic :offset-assert 16)
|
||||
(power basic :offset-assert 20)
|
||||
(bike-speed basic :offset-assert 24)
|
||||
(bike-heat basic :offset-assert 28)
|
||||
(money-all basic :offset-assert 32)
|
||||
)
|
||||
:method-count-assert 9
|
||||
:size-assert #x24
|
||||
:flag-assert #x900000024
|
||||
)
|
||||
|
||||
;; definition for symbol *hud-parts*, type hud-parts
|
||||
(define
|
||||
*hud-parts*
|
||||
(new 'static 'hud-parts
|
||||
:pickups #f
|
||||
:money #f
|
||||
:fuel-cell #f
|
||||
:health #f
|
||||
:buzzers #f
|
||||
:power #f
|
||||
:bike-speed #f
|
||||
:bike-heat #f
|
||||
:money-all #f
|
||||
)
|
||||
)
|
||||
|
@ -436,4 +436,37 @@
|
||||
;; bones - TODO
|
||||
(declare-type vu-lights structure)
|
||||
(declare-type light-group structure)
|
||||
(define-extern vu-lights<-light-group! (function vu-lights light-group none))
|
||||
(define-extern vu-lights<-light-group! (function vu-lights light-group none))
|
||||
|
||||
;; game-h - TODO
|
||||
(deftype process-drawable (process)
|
||||
((root basic :offset-assert 112)
|
||||
(node-list basic :offset-assert 116)
|
||||
(draw basic :offset-assert 120)
|
||||
(skel basic :offset-assert 124)
|
||||
(nav basic :offset-assert 128)
|
||||
(align basic :offset-assert 132)
|
||||
(path basic :offset-assert 136)
|
||||
(vol basic :offset-assert 140)
|
||||
(fact basic :offset-assert 144)
|
||||
(link basic :offset-assert 148)
|
||||
(part basic :offset-assert 152)
|
||||
(water basic :offset-assert 156)
|
||||
(sound basic :offset-assert 160)
|
||||
(state-flags uint32 :offset-assert 164)
|
||||
(state-time uint64 :offset-assert 168)
|
||||
)
|
||||
:heap-base #x40
|
||||
:method-count-assert 20
|
||||
:size-assert #xb0
|
||||
:flag-assert #x14004000b0
|
||||
;; inherited inspect of process
|
||||
(:methods
|
||||
(dummy-14 () none 14)
|
||||
(dummy-15 () none 15)
|
||||
(dummy-16 () none 16)
|
||||
(dummy-17 () none 17)
|
||||
(dummy-18 () none 18)
|
||||
(dummy-19 () none 19)
|
||||
)
|
||||
)
|
190
test/decompiler/reference/hud-h_REF.gc
Normal file
190
test/decompiler/reference/hud-h_REF.gc
Normal file
@ -0,0 +1,190 @@
|
||||
;;-*-Lisp-*-
|
||||
(in-package goal)
|
||||
|
||||
;; definition of type hud-icon
|
||||
(deftype hud-icon (basic)
|
||||
((icon uint32 :offset-assert 4)
|
||||
(icon-y int32 :offset-assert 8)
|
||||
(icon-x int32 :offset-assert 12)
|
||||
(icon-z int32 :offset-assert 16)
|
||||
(scale-x float :offset-assert 20)
|
||||
(scale-y float :offset-assert 24)
|
||||
)
|
||||
:method-count-assert 9
|
||||
:size-assert #x1c
|
||||
:flag-assert #x90000001c
|
||||
)
|
||||
|
||||
;; definition for method 3 of type hud-icon
|
||||
(defmethod inspect hud-icon ((obj hud-icon))
|
||||
(format #t "[~8x] ~A~%" obj (-> obj type))
|
||||
(format #t "~Ticon: #x~X~%" (-> obj icon))
|
||||
(format #t "~Ticon-y: ~D~%" (-> obj icon-y))
|
||||
(format #t "~Ticon-x: ~D~%" (-> obj icon-x))
|
||||
(format #t "~Ticon-z: ~D~%" (-> obj icon-z))
|
||||
(format #t "~Tscale-x: ~f~%" (-> obj scale-x))
|
||||
(format #t "~Tscale-y: ~f~%" (-> obj scale-y))
|
||||
obj
|
||||
)
|
||||
|
||||
;; definition of type hud-particle
|
||||
(deftype hud-particle (basic)
|
||||
((part basic :offset-assert 4)
|
||||
(init-pos vector :inline :offset-assert 16)
|
||||
(pos vector :inline :offset-assert 32)
|
||||
(prev-pos vector :inline :offset-assert 48)
|
||||
)
|
||||
:method-count-assert 9
|
||||
:size-assert #x40
|
||||
:flag-assert #x900000040
|
||||
)
|
||||
|
||||
;; definition for method 3 of type hud-particle
|
||||
(defmethod inspect hud-particle ((obj hud-particle))
|
||||
(format #t "[~8x] ~A~%" obj (-> obj type))
|
||||
(format #t "~Tpart: ~A~%" (-> obj part))
|
||||
(format #t "~Tinit-pos: #<vector @ #x~X>~%" (-> obj init-pos))
|
||||
(format #t "~Tpos: #<vector @ #x~X>~%" (-> obj pos))
|
||||
(format #t "~Tprev-pos: #<vector @ #x~X>~%" (-> obj prev-pos))
|
||||
obj
|
||||
)
|
||||
|
||||
;; definition of type hud
|
||||
(deftype hud (process)
|
||||
((value int32 :offset-assert 112)
|
||||
(value2 int32 :offset-assert 116)
|
||||
(target-value int32 :offset-assert 120)
|
||||
(last-increment-time uint64 :offset-assert 128)
|
||||
(last-target-equal-time uint64 :offset-assert 136)
|
||||
(offset int32 :offset-assert 144)
|
||||
(y-offset int32 :offset-assert 148)
|
||||
(next-y-offset int32 :offset-assert 152)
|
||||
(x-sgn int32 :offset-assert 156)
|
||||
(y-sgn int32 :offset-assert 160)
|
||||
(text-x int32 :offset-assert 164)
|
||||
(text-y int32 :offset-assert 168)
|
||||
(friend int32 :offset-assert 172)
|
||||
(first-init basic :offset-assert 176)
|
||||
(increment-on-event basic :offset-assert 180)
|
||||
(skip-particle int32 :offset-assert 184)
|
||||
(disable basic :offset-assert 188)
|
||||
(force-on-screen basic :offset-assert 192)
|
||||
(deactivate-when-hidden basic :offset-assert 196)
|
||||
(trigger-time uint64 :offset-assert 200)
|
||||
(last-hide-time uint64 :offset-assert 208)
|
||||
(nb-of-icons int32 :offset-assert 216)
|
||||
(icons hud-icon 6 :offset-assert 220)
|
||||
(max-nb-of-particles int32 :offset-assert 244)
|
||||
(nb-of-particles int32 :offset-assert 248)
|
||||
(particles hud-particle 7 :offset-assert 252)
|
||||
)
|
||||
:method-count-assert 27
|
||||
:size-assert #x118
|
||||
:flag-assert #x1b00000118
|
||||
(:methods
|
||||
(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)
|
||||
)
|
||||
)
|
||||
|
||||
;; definition for method 3 of type hud
|
||||
(defmethod inspect hud ((obj hud))
|
||||
(let ((t9-0 (method-of-type process inspect)))
|
||||
(t9-0 obj)
|
||||
)
|
||||
(format #t "~T~Tvalue: ~D~%" (-> obj value))
|
||||
(format #t "~T~Tvalue2: ~D~%" (-> obj value2))
|
||||
(format #t "~T~Ttarget-value: ~D~%" (-> obj target-value))
|
||||
(format #t "~T~Tlast-increment-time: ~D~%" (-> obj last-increment-time))
|
||||
(format #t "~T~Tlast-target-equal-time: ~D~%" (-> obj last-target-equal-time))
|
||||
(format #t "~T~Toffset: ~D~%" (-> obj offset))
|
||||
(format #t "~T~Ty-offset: ~D~%" (-> obj y-offset))
|
||||
(format #t "~T~Tnext-y-offset: ~D~%" (-> obj next-y-offset))
|
||||
(format #t "~T~Tx-sgn: ~D~%" (-> obj x-sgn))
|
||||
(format #t "~T~Ty-sgn: ~D~%" (-> obj y-sgn))
|
||||
(format #t "~T~Ttext-x: ~D~%" (-> obj text-x))
|
||||
(format #t "~T~Ttext-y: ~D~%" (-> obj text-y))
|
||||
(format #t "~T~Tfriend: ~D~%" (-> obj friend))
|
||||
(format #t "~T~Tfirst-init: ~A~%" (-> obj first-init))
|
||||
(format #t "~T~Tincrement-on-event: ~A~%" (-> obj increment-on-event))
|
||||
(format #t "~T~Tskip-particle: ~D~%" (-> obj skip-particle))
|
||||
(format #t "~T~Tdisable: ~A~%" (-> obj disable))
|
||||
(format #t "~T~Tforce-on-screen: ~A~%" (-> obj force-on-screen))
|
||||
(format #t "~T~Tdeactivate-when-hidden: ~A~%" (-> obj deactivate-when-hidden))
|
||||
(format #t "~T~Ttrigger-time: ~D~%" (-> obj trigger-time))
|
||||
(format #t "~T~Tlast-hide-time: ~D~%" (-> obj last-hide-time))
|
||||
(format #t "~T~Tnb-of-icons: ~D~%" (-> obj nb-of-icons))
|
||||
(format #t "~T~Ticons[6] @ #x~X~%" (&-> obj stack 108))
|
||||
(format #t "~T~Tmax-nb-of-particles: ~D~%" (-> obj max-nb-of-particles))
|
||||
(format #t "~T~Tnb-of-particles: ~D~%" (-> obj nb-of-particles))
|
||||
(format #t "~T~Tparticles[7] @ #x~X~%" (&-> obj stack 140))
|
||||
obj
|
||||
)
|
||||
|
||||
;; definition of type hud-parts
|
||||
(deftype hud-parts (structure)
|
||||
((pickups basic :offset-assert 0)
|
||||
(money basic :offset-assert 4)
|
||||
(fuel-cell basic :offset-assert 8)
|
||||
(health basic :offset-assert 12)
|
||||
(buzzers basic :offset-assert 16)
|
||||
(power basic :offset-assert 20)
|
||||
(bike-speed basic :offset-assert 24)
|
||||
(bike-heat basic :offset-assert 28)
|
||||
(money-all basic :offset-assert 32)
|
||||
)
|
||||
:method-count-assert 9
|
||||
:size-assert #x24
|
||||
:flag-assert #x900000024
|
||||
)
|
||||
|
||||
;; definition for method 3 of type hud-parts
|
||||
(defmethod inspect hud-parts ((obj hud-parts))
|
||||
(format #t "[~8x] ~A~%" obj 'hud-parts)
|
||||
(format #t "~Tdata[9] @ #x~X~%" (&-> obj pickups))
|
||||
(format #t "~Tpickups: #x~X~%" (-> obj pickups))
|
||||
(format #t "~Tmoney: #x~X~%" (-> obj money))
|
||||
(format #t "~Tfuel-cell: #x~X~%" (-> obj fuel-cell))
|
||||
(format #t "~Thealth: #x~X~%" (-> obj health))
|
||||
(format #t "~Tbuzzers: #x~X~%" (-> obj buzzers))
|
||||
(format #t "~Tpower: #x~X~%" (-> obj power))
|
||||
(format #t "~Tbike-speed: #x~X~%" (-> obj bike-speed))
|
||||
(format #t "~Tbike-heat: #x~X~%" (-> obj bike-heat))
|
||||
(format #t "~Tmoney-all: #x~X~%" (-> obj money-all))
|
||||
obj
|
||||
)
|
||||
|
||||
;; definition for symbol *hud-parts*, type hud-parts
|
||||
(define
|
||||
*hud-parts*
|
||||
(new 'static 'hud-parts
|
||||
:pickups #f
|
||||
:money #f
|
||||
:fuel-cell #f
|
||||
:health #f
|
||||
:buzzers #f
|
||||
:power #f
|
||||
:bike-speed #f
|
||||
:bike-heat #f
|
||||
:money-all #f
|
||||
)
|
||||
)
|
||||
|
||||
;; failed to figure out what this is:
|
||||
(let ((v0-4 0))
|
||||
)
|
||||
|
||||
|
||||
|
||||
|
54
test/decompiler/reference/pov-camera-h_REF.gc
Normal file
54
test/decompiler/reference/pov-camera-h_REF.gc
Normal file
@ -0,0 +1,54 @@
|
||||
;;-*-Lisp-*-
|
||||
(in-package goal)
|
||||
|
||||
;; definition of type pov-camera
|
||||
(deftype pov-camera (process-drawable)
|
||||
((flags int32 :offset-assert 176)
|
||||
(debounce-start-time uint64 :offset-assert 184)
|
||||
(notify-handle uint64 :offset-assert 192)
|
||||
(anim-name basic :offset-assert 200)
|
||||
(command-list basic :offset-assert 204)
|
||||
(mask-to-clear uint32 :offset-assert 208)
|
||||
(music-volume-movie float :offset-assert 212)
|
||||
(sfx-volume-movie float :offset-assert 216)
|
||||
)
|
||||
:method-count-assert 30
|
||||
:size-assert #xdc
|
||||
:flag-assert #x1e000000dc
|
||||
(:methods
|
||||
(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)
|
||||
)
|
||||
)
|
||||
|
||||
;; definition for method 3 of type pov-camera
|
||||
(defmethod inspect pov-camera ((obj pov-camera))
|
||||
(let ((t9-0 (method-of-type process-drawable inspect)))
|
||||
(t9-0 obj)
|
||||
)
|
||||
(format #t "~T~Tflags: ~D~%" (-> obj flags))
|
||||
(format #t "~T~Tdebounce-start-time: ~D~%" (-> obj debounce-start-time))
|
||||
(format #t "~T~Tnotify-handle: ~D~%" (-> obj notify-handle))
|
||||
(format #t "~T~Tanim-name: ~A~%" (-> obj anim-name))
|
||||
(format #t "~T~Tcommand-list: ~A~%" (-> obj command-list))
|
||||
(format #t "~T~Tmask-to-clear: ~D~%" (-> obj mask-to-clear))
|
||||
(format #t "~T~Tmusic-volume-movie: ~f~%" (-> obj music-volume-movie))
|
||||
(format #t "~T~Tsfx-volume-movie: ~f~%" (-> obj sfx-volume-movie))
|
||||
obj
|
||||
)
|
||||
|
||||
;; failed to figure out what this is:
|
||||
(let ((v0-1 0))
|
||||
)
|
||||
|
||||
|
||||
|
||||
|
@ -22,9 +22,10 @@ const std::unordered_set<std::string> g_object_files_to_decompile = {
|
||||
"connect", "text-h", "settings-h", "capture", "memory-usage-h", /* "texture", */ "main-h",
|
||||
"mspace-h", "drawable-h", "drawable-group-h", "drawable-inline-array-h", "draw-node-h",
|
||||
"drawable-tree-h", "drawable-actor-h", "drawable-ambient-h", "game-task-h", "hint-control-h",
|
||||
"generic-h", "lights-h", "lights", "ocean-h",
|
||||
"generic-h", "lights-h", "lights", "ocean-h", "pov-camera-h",
|
||||
"ocean-trans-tables", /* "ocean-tables", "ocean-frames", */
|
||||
"sky-h", "mood-h", /* "time-of-day-h", */
|
||||
"hud-h",
|
||||
/* gap */
|
||||
"bounding-box",
|
||||
/* gap */
|
||||
@ -44,9 +45,9 @@ const std::vector<std::string> g_object_files_to_check_against_reference = {
|
||||
/* "texture", */ "main-h", "mspace-h", "drawable-h", "drawable-group-h",
|
||||
"drawable-inline-array-h", "draw-node-h", "drawable-tree-h", "drawable-actor-h",
|
||||
"drawable-ambient-h", "game-task-h", "hint-control-h", "generic-h", "lights-h", "lights",
|
||||
"ocean-h", "ocean-trans-tables", /* "ocean-tables", "ocean-frames", */
|
||||
"sky-h", "mood-h", /* "time-of-day-h", */
|
||||
/* gap */ "bounding-box",
|
||||
"ocean-h", "ocean-trans-tables", /* "ocean-tables", "ocean-frames", */ "pov-camera-h", "sky-h",
|
||||
"mood-h", /* "time-of-day-h", */
|
||||
/* gap */ "bounding-box", "hud-h",
|
||||
/* gap */
|
||||
"sync-info-h", "sync-info"};
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user