decomp: hud-classes (#819)

* maybe fix symbol decompile issue

* try again on a label

* stash

* very close on `hud-classes`

* 1 function remaining, whats `key` off the cpuinfo?

* some more work on hud-classes, 1 function to go...

* start updating `collectables` to new state handling

* decomp: finish `hud-classes`

* blocked: `hud` crashes in `(code hud-collecting)` around states

* fix tests

* address feedback

* damn submodules

Co-authored-by: water <awaterford111445@gmail.com>
This commit is contained in:
Tyler Wilding 2021-10-02 09:28:06 -04:00 committed by GitHub
parent 023ce13fb2
commit fdd8615204
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
16 changed files with 6552 additions and 243 deletions

View File

@ -13566,6 +13566,8 @@
;; - Types
(declare-type sparticle-system basic)
(declare-type sparticle-cpuinfo structure)
(deftype sp-field-init-spec (structure)
((field sp-field-id :offset-assert 0)
(flags sp-flag :offset-assert 2)
@ -13762,7 +13764,7 @@
(next-time uint32 :offset-assert 116)
(next-launcher basic :offset-assert 120)
(cache-alpha float :offset-assert 124)
(valid basic :offset-assert 128)
(valid symbol :offset-assert 128)
(key sparticle-launch-control :offset-assert 132)
(binding sparticle-launch-state :offset-assert 136)
(data uint32 1 :offset 12)
@ -14302,12 +14304,12 @@
(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)
(first-init symbol :offset-assert 176)
(increment-on-event symbol :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)
(disable symbol :offset-assert 188)
(force-on-screen symbol :offset-assert 192)
(deactivate-when-hidden symbol :offset-assert 196)
(trigger-time uint64 :offset-assert 200)
(last-hide-time uint64 :offset-assert 208)
(nb-of-icons int32 :offset-assert 216)
@ -14322,19 +14324,19 @@
:flag-assert #x1b00b00118
;; inherited inspect of process
(:methods
(dummy-14 () none 14)
(dummy-15 () none 15)
(dummy-16 (_type_ int int) none 16) ;; first int seen as a fixed point from racer-info 'heat'
(dummy-17 () none 17)
(dummy-18 () none 18)
(dummy-14 (_type_) none 14)
(dummy-15 (_type_) none 15)
(TODO-RENAME-16 (_type_ int int) none 16) ;; first int seen as a fixed point from racer-info 'heat'
(dummy-17 (_type_) none 17)
(dummy-18 (_type_) none 18)
(TODO-RENAME-19 (_type_) none 19)
(init-particles! (_type_) 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)
(init-particles! (_type_ int) none 20)
(first-icon-x (_type_) int 21)
(first-icon-y (_type_) int 22)
(dummy-23 (_type_) none 23)
(animate! (_type_ symbol symbol) none 24) ;; not sure what the flags are / what the purpose is yet
(inc-value (_type_) float 25)
(dec-value (_type_) float 26)
)
)
@ -14358,6 +14360,7 @@
(bike-speed (pointer hud-bike-speed) :offset-assert 24)
(bike-heat (pointer hud-bike-heat) :offset-assert 28)
(money-all (pointer hud-money-all) :offset-assert 32)
(parts (pointer process) 9 :offset 0)
)
:method-count-assert 9
:size-assert #x24
@ -19181,9 +19184,9 @@
(define-extern manipy-init (function vector entity skeleton-group vector none :behavior manipy))
(define-extern part-tracker-notify function)
(define-extern clone-anim-once (function handle int symbol string none :behavior process-drawable))
(define-extern convert-to-hud-object function)
(define-extern merc-eye-anim (function process-drawable none))
(define-extern clone-anim (function handle int symbol string none :behavior process-drawable))
(define-extern convert-to-hud-object (function process-drawable hud none :behavior hud))
(define-extern command-get-camera function)
(define-extern ja-anim-done? (function symbol)) ;; TODO - not confirmed
(define-extern camera-anim function)
@ -19618,8 +19621,8 @@
(define-extern target-swim-tilt function)
(define-extern projectile-init-by-other (function entity vector vector uint handle none :behavior projectile)) ;; 4th arg is `options`, 5th is `last-target`
(define-extern first-person-hud-init-by-other function)
(define-extern disable-hud function)
(define-extern enable-hud function)
(define-extern disable-hud (function int none))
(define-extern enable-hud (function none))
(define-extern part-first-person-hud-left-func function)
(define-extern part-first-person-hud-right-func function)
(define-extern part-first-person-hud-selector-func function)
@ -20344,8 +20347,8 @@
;; - Types
(deftype collectable (process-drawable)
((root-override collide-shape-moving :score 100 :offset 112)
(pickup-type int32 :offset-assert 176)
((root-override collide-shape-moving :score 100 :offset 112)
(pickup-type pickup-type :offset-assert 176)
(pickup-amount float :offset-assert 180)
(notify-parent basic :offset-assert 184)
(old-base vector :inline :offset-assert 192)
@ -20359,12 +20362,11 @@
(bob-offset uint64 :offset-assert 288)
(bob-amount float :offset-assert 296)
(pickup-handle handle :offset-assert 304) ;; not sure it's a handle
(actor-pause basic :offset-assert 312)
(actor-pause symbol :offset-assert 312)
)
(:methods
(dummy-20 () none 20)
(dummy-21 () none 21)
(TODO-RENAME-20 (_type_) _type_ 20)
(dummy-21 (_type_ uint float) none 21) ;; TODO - weird math issue
)
:heap-base #xd0
@ -20374,12 +20376,12 @@
)
(deftype eco-collectable (collectable)
((eco-effect basic :offset-assert 316)
(collect-effect basic :offset-assert 320)
(collect-effect2 basic :offset-assert 324)
((eco-effect sparticle-launch-group :offset-assert 316)
(collect-effect sparticle-launch-group :offset-assert 320)
(collect-effect2 sparticle-launch-group :offset-assert 324)
(collect-effect-time uint64 :offset-assert 328)
(respawn-delay uint64 :offset-assert 336)
(sound-name basic :offset-assert 344)
(sound-name sound-spec :offset-assert 344)
(target uint64 :offset-assert 352)
(suck-time uint64 :offset-assert 360)
(suck-y-offset float :offset-assert 368)
@ -20387,15 +20389,15 @@
(movie-pos-index int32 :offset-assert 400)
)
(:methods
(wait () none 22) ;; state
(pickup () none 23) ;; state
(die () none 24) ;; state
(dummy-25 () none 25)
(notice-blue () none 26) ;; state
(dummy-27 () none 27)
(dummy-28 () none 28)
(dummy-29 () none 29)
(dummy-30 () none 30)
(wait () _type_ :state 22) ;; state
(pickup () _type_ :state 23) ;; state
(die () _type_ :state 24) ;; state
(jump () _type_ :state 25)
(notice-blue () _type_ :state 26) ;; state
(get-pickup-sound (_type_ pickup-type) ambient-sound 27)
(dummy-28 (_type_ basic pickup-type float) none 28)
(update-sound! (_type_) none 29) ;; something to do with particles too
(blocked () _type_ :state 30)
)
:heap-base #x130
@ -20461,8 +20463,8 @@
)
(deftype fuel-cell (eco-collectable)
((victory-anim basic :offset-assert 404)
(state-object basic :offset-assert 408))
((victory-anim spool-anim :offset-assert 404)
(state-object symbol :offset-assert 408))
:heap-base #x130
:method-count-assert 31
:size-assert #x19c
@ -20470,7 +20472,7 @@
)
(deftype buzzer (eco-collectable)
((victory-anim basic :offset-assert 404))
((victory-anim spool-anim :offset-assert 404))
:heap-base #x130
:method-count-assert 31
@ -20481,7 +20483,7 @@
(deftype ecovalve (process-drawable)
((offset vector :inline :offset-assert 176)
(offset-target vector :inline :offset-assert 192)
(block-func basic :offset-assert 208))
(block-func function :offset-assert 208))
:heap-base #x70
:method-count-assert 20
:size-assert #xd4
@ -20489,12 +20491,12 @@
)
(deftype vent (process-drawable)
((show-particles basic :offset-assert 176)
(collect-effect basic :offset-assert 180)
(collect-effect2 basic :offset-assert 184)
((show-particles symbol :offset-assert 176)
(collect-effect sparticle-launch-group :offset-assert 180)
(collect-effect2 sparticle-launch-group :offset-assert 184)
(collect-effect-time uint64 :offset-assert 192)
(blocker basic :offset-assert 200)
(block-func basic :offset-assert 204)
(blocker entity-actor :offset-assert 200)
(block-func function :offset-assert 204)
(pickup-handle handle :offset-assert 208)) ;; not sure handle
(:methods
@ -20546,11 +20548,11 @@
(define-extern birth-pickup-at-point (function vector int float symbol process-drawable symbol (pointer process))) ;; TODO - unconfirmed - see beach-rocks
(define-extern fuel-cell-pick-anim (function process-taskable none)) ;; TODO - unconfirmed - see process-taskable
(define-extern othercam-init-by-other (function process-taskable symbol symbol symbol none :behavior othercam))
(define-extern fuel-cell-animate function)
(define-extern add-blue-motion function)
(define-extern check-blue-suck function)
(define-extern initialize-eco-by-other function)
(define-extern add-blue-shake function)
(define-extern fuel-cell-animate (function none))
(define-extern add-blue-motion (function symbol symbol symbol symbol none :behavior eco-blue))
(define-extern check-blue-suck (function eco-blue uint :behavior eco-blue))
(define-extern initialize-eco-by-other (function eco vector none :behavior eco))
(define-extern add-blue-shake (function vector vector vector vector))
(define-extern money-init-by-other function)
(define-extern money-init-by-other-no-bob function)
(define-extern fuel-cell-init-by-other function)
@ -20762,8 +20764,8 @@
;; - Functions
(define-extern send-hud-increment-event function)
(define-extern hud-init-by-other function)
(define-extern send-hud-increment-event (function hud object))
(define-extern hud-init-by-other (function int none :behavior hud))
;; - Symbols
@ -20772,9 +20774,9 @@
;; - Unknowns
(define-extern hud-hidden (state hud))
(define-extern hud-leaving (state hud))
(define-extern hud-leaving (state int hud))
(define-extern hud-in (state hud))
(define-extern hud-collecting (state hud))
(define-extern hud-collecting (state handle hud)) ;; TODO accepts a handle - CRASH in `hud`
;; ----------------------
@ -20865,21 +20867,21 @@
;; - Functions
(define-extern calculate-rotation-and-color-for-slice function)
(define-extern part-hud-health-01-func function)
(define-extern part-hud-health-02-func function)
(define-extern part-hud-health-03-func function)
(define-extern fuel-cell-hud-orbit-callback function)
(define-extern fuel-cell-hud-starburst-3-callback function)
(define-extern fuel-cell-hud-starburst-4-callback function)
(define-extern fuel-cell-hud-center-callback function)
(define-extern part-hud-buzzer-func function)
(define-extern part-hud-eco-timer-01-func function)
(define-extern part-hud-eco-timer-02-func function)
(define-extern part-hud-eco-timer-03-func function)
(define-extern part-hud-eco-timer-backing-func function)
(define-extern part-hud-eco-timer-func function)
(define-extern show-hud function)
(define-extern calculate-rotation-and-color-for-slice (function int float int int int hud-particle none))
(define-extern part-hud-health-01-func (function basic basic hud-particle none)) ;; TODO - i figured this out on another branch...all these particle functions get called by the particle system with the same beginning types iirc
(define-extern part-hud-health-02-func (function basic basic hud-particle none))
(define-extern part-hud-health-03-func (function basic basic hud-particle none))
(define-extern fuel-cell-hud-orbit-callback (function sparticle-system sparticle-cpuinfo matrix none))
(define-extern fuel-cell-hud-starburst-3-callback (function sparticle-system sparticle-cpuinfo matrix none))
(define-extern fuel-cell-hud-starburst-4-callback (function sparticle-system sparticle-cpuinfo matrix none))
(define-extern fuel-cell-hud-center-callback (function sparticle-system sparticle-cpuinfo matrix none))
(define-extern part-hud-buzzer-func (function basic basic hud-particle none))
(define-extern part-hud-eco-timer-01-func (function basic basic hud-particle none))
(define-extern part-hud-eco-timer-02-func (function basic basic hud-particle none))
(define-extern part-hud-eco-timer-03-func (function basic basic hud-particle none))
(define-extern part-hud-eco-timer-backing-func (function basic basic hud-particle none))
(define-extern part-hud-eco-timer-func (function basic basic hud-particle none))
(define-extern show-hud (function none))
;; - Unknowns

View File

@ -8,7 +8,9 @@
[32, "(function process symbol)"]
],
"hud": [[15, "(function basic int basic event-message-block object)"]],
"hud": [
[10, "(function none :behavior hud)"]
],
"main": [[4, "(function none :behavior process)"]],

View File

@ -777,6 +777,32 @@
["L110", "uint64", true]
],
"hud-classes": [
["L279", "vector"],
["L310", "vector"],
["L318", "vector"]
],
"collectables": [
["L611", "(pointer float)", true, 1],
["L649", "(pointer float)", true, 1],
["L656", "(pointer float)", true, 1],
["L657", "(pointer float)", true, 1],
["L658", "(pointer float)", true, 1],
["L660", "(pointer float)", true, 1],
["L663", "(pointer float)", true, 1],
["L585", "vector"],
["L725", "float", true],
["L726", "float", true],
["L727", "float", true],
["L728", "uint64", true],
["L729", "uint64", true],
["L730", "uint64", true],
["L731", "uint64", true],
["L732", "uint64", true],
["L733", "uint64", true]
],
// please do not add things after this entry! git is dumb.
"object-file-that-doesnt-actually-exist-and-i-just-put-this-here-to-prevent-merge-conflicts-with-this-file": []
}

View File

@ -2624,5 +2624,79 @@
[16, "vector"]
],
"(method 15 hud-money-all)": [
[16, "font-context"]
],
"(method 20 hud-money-all)": [
[16, "event-message-block"]
],
"(method 20 hud-money)": [
[16, "event-message-block"]
],
"fuel-cell-hud-orbit-callback": [
[16, "vector"],
[32, "vector"]
],
"(method 19 hud-fuel-cell)": [
[16, "vector"]
],
"(method 20 hud-fuel-cell)": [
[16, "event-message-block"],
[96, "quaternion"]
],
"hide-hud": [
[16, "event-message-block"]
],
"hide-bottom-hud": [
[16, "event-message-block"]
],
"disable-hud": [
[16, "event-message-block"]
],
"enable-hud": [
[16, "event-message-block"]
],
"hide-hud-quick": [
[16, "event-message-block"]
],
"show-hud": [
[16, "event-message-block"]
],
"convert-to-hud-object": [
[16, "vector"]
],
"(method 16 hud)": [
[16, "event-message-block"]
],
"(enter hud-hidden)": [
[16, "event-message-block"]
],
"(enter hud-arriving)": [
[16, "event-message-block"]
],
"send-hud-increment-event": [
[16, "event-message-block"]
],
"(code hud-collecting)": [
[16, "vector"]
],
"placeholder-do-not-add-below!": []
}

View File

@ -3767,5 +3767,103 @@
[7, "v1", "(inline-array joint-control-channel)"]
],
"(method 20 hud-money-all)": [
[36, "a0", "process-drawable"],
[39, "v1", "process-drawable"],
[50, "v1", "process-drawable"],
[93, "v1", "process-drawable"]
],
"(method 20 hud-money)": [
[35, "a0", "process-drawable"],
[38, "v1", "process-drawable"],
[49, "v1", "process-drawable"],
[92, "v1", "process-drawable"]
],
"(method 20 hud-fuel-cell)": [
[100, "a0", "process-drawable"],
[103, "v1", "process-drawable"],
[114, "v1", "process-drawable"],
[157, "v1", "process-drawable"]
],
"part-hud-eco-timer-01-func": [
[11, "v1", "uint"],
[15, "v1", "uint"]
],
"part-hud-eco-timer-02-func": [
[11, "v1", "uint"],
[15, "v1", "uint"]
],
"part-hud-eco-timer-03-func": [
[11, "v1", "uint"],
[15, "v1", "uint"]
],
"hide-bottom-hud": [
[22, "v1", "(pointer hud)"]
],
"disable-hud": [
[22, "a0", "(pointer hud)"],
[37, "v1", "(pointer hud)"],
[57, "v1", "(pointer hud)"]
],
"enable-hud": [
[20, "v1", "(pointer hud)"]
],
"hide-hud-quick": [
[20, "v1", "(pointer hud)"]
],
"set-hud-aspect-ratio": [
[17, "v1", "(pointer hud)"]
],
"hud-hidden?": [
[14, "v1", "(pointer hud)"]
],
"bottom-hud-hidden?": [
[16, "v1", "(pointer hud)"]
],
"show-hud": [
[31, "v1", "(pointer hud)"]
],
"fuel-cell-hud-orbit-callback": [
[12, "s3", "hud-fuel-cell"],
[20, "s3", "hud-fuel-cell"]
],
"(method 15 hud-pickups)": [
[51, "v1", "dma-packet"],
[52, "v1", "dma-packet"]
],
"(method 15 hud-fuel-cell)": [
[51, "v1", "dma-packet"],
[52, "v1", "dma-packet"]
],
"(method 15 hud-money)": [
[[50, 53], "v1", "dma-packet"]
],
"(method 15 hud-money-all)": [
[[125, 128], "v1", "dma-packet"]
],
"(method 15 hud-buzzers)": [
[58, "v1", "dma-packet"],
[59, "v1", "dma-packet"]
],
"placeholder-do-not-add-below": []
}

View File

@ -3535,5 +3535,17 @@
"args":["obj", "art-name", "do-reload", "heap", "version"]
},
"(method 15 hud-money)": {
"vars": {
"v1-8": ["v1-8", "dma-packet"]
}
},
"(method 15 hud-money-all)": {
"vars": {
"v1-32": ["v1-32", "dma-packet"]
}
},
"aaaaaaaaaaaaaaaaaaaaaaa": {}
}

View File

@ -12,8 +12,8 @@
(define-extern *money-sg* skeleton-group) ;; unknown type
;; TODO - for entity and beach-rocks
(deftype collectable (process-drawable)
((root-override collide-shape-moving :score 100 :offset 112)
(pickup-type int32 :offset-assert 176)
((root-override collide-shape-moving :score 100 :offset 112)
(pickup-type pickup-type :offset-assert 176)
(pickup-amount float :offset-assert 180)
(notify-parent basic :offset-assert 184)
(old-base vector :inline :offset-assert 192)
@ -27,11 +27,11 @@
(bob-offset uint64 :offset-assert 288)
(bob-amount float :offset-assert 296)
(pickup-handle handle :offset-assert 304) ;; not sure it's a handle
(actor-pause basic :offset-assert 312)
(actor-pause symbol :offset-assert 312)
)
(:methods
(dummy-20 () none 20)
(dummy-21 () none 21)
(TODO-RENAME-20 (_type_) _type_ 20)
(dummy-21 (_type_ uint float) none 21) ;; TODO - weird math issue
)
:heap-base #xd0
@ -40,12 +40,12 @@
:flag-assert #x1600d0013c
)
(deftype eco-collectable (collectable)
((eco-effect basic :offset-assert 316)
(collect-effect basic :offset-assert 320)
(collect-effect2 basic :offset-assert 324)
((eco-effect sparticle-launch-group :offset-assert 316)
(collect-effect sparticle-launch-group :offset-assert 320)
(collect-effect2 sparticle-launch-group :offset-assert 324)
(collect-effect-time uint64 :offset-assert 328)
(respawn-delay uint64 :offset-assert 336)
(sound-name basic :offset-assert 344)
(sound-name sound-spec :offset-assert 344)
(target uint64 :offset-assert 352)
(suck-time uint64 :offset-assert 360)
(suck-y-offset float :offset-assert 368)
@ -53,15 +53,15 @@
(movie-pos-index int32 :offset-assert 400)
)
(:methods
(wait () none 22) ;; state
(pickup () none 23) ;; state
(die () none 24) ;; state
(dummy-25 () none 25)
(notice-blue () none 26) ;; state
(dummy-27 () none 27)
(dummy-28 () none 28)
(dummy-29 () none 29)
(dummy-30 () none 30)
(wait () _type_ :state 22) ;; state
(pickup () _type_ :state 23) ;; state
(die () _type_ :state 24) ;; state
(jump () _type_ :state 25)
(notice-blue () _type_ :state 26) ;; state
(get-pickup-sound (_type_ pickup-type) ambient-sound 27)
(dummy-28 (_type_ basic pickup-type float) none 28)
(update-sound! (_type_) none 29) ;; something to do with particles too
(blocked () _type_ :state 30)
)
:heap-base #x130
:method-count-assert 31
@ -69,8 +69,8 @@
:flag-assert #x1f01300194
)
(deftype fuel-cell (eco-collectable)
((victory-anim basic :offset-assert 404)
(state-object basic :offset-assert 408))
((victory-anim spool-anim :offset-assert 404)
(state-object symbol :offset-assert 408))
:heap-base #x130
:method-count-assert 31
:size-assert #x19c

View File

@ -66,7 +66,7 @@
(next-time uint32 :offset-assert 116)
(next-launcher basic :offset-assert 120)
(cache-alpha float :offset-assert 124)
(valid basic :offset-assert 128)
(valid symbol :offset-assert 128)
(key sparticle-launch-control :offset-assert 132)
(binding sparticle-launch-state :offset-assert 136)
(data uint32 1 :offset 12)

File diff suppressed because it is too large Load Diff

View File

@ -12,10 +12,10 @@
;; TODO - for process-taskable
(define-extern hud-hidden? (function symbol))
(defun-extern activate-hud process none)
(defun-extern activate-orb-all int int)
(defun-extern hide-bottom-hud none)
(defun-extern bottom-hud-hidden? symbol)
(define-extern activate-hud (function process none))
(define-extern activate-orb-all (function int int))
(define-extern hide-bottom-hud (function none))
(define-extern bottom-hud-hidden? (function symbol))
(declare-type hud process)
(declare-type hud-pickups hud)
@ -70,12 +70,12 @@
(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)
(first-init symbol :offset-assert 176)
(increment-on-event symbol :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)
(disable symbol :offset-assert 188)
(force-on-screen symbol :offset-assert 192)
(deactivate-when-hidden symbol :offset-assert 196)
(trigger-time uint64 :offset-assert 200)
(last-hide-time uint64 :offset-assert 208)
(nb-of-icons int32 :offset-assert 216)
@ -89,33 +89,34 @@
:size-assert #x118
:flag-assert #x1b00b00118
(:methods
(dummy-14 () none 14)
(dummy-15 () none 15)
(dummy-16 (_type_ int int) none 16)
(dummy-17 () none 17)
(dummy-18 () none 18)
(dummy-14 (_type_) none 14)
(dummy-15 (_type_) none 15)
(TODO-RENAME-16 (_type_ int int) none 16)
(dummy-17 (_type_) none 17)
(dummy-18 (_type_) none 18)
(TODO-RENAME-19 (_type_) none 19)
(init-particles! (_type_) 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)
(init-particles! (_type_ int) none 20)
(first-icon-x (_type_) int 21)
(first-icon-y (_type_) int 22)
(dummy-23 (_type_) none 23)
(animate! (_type_ symbol symbol) none 24)
(inc-value (_type_) float 25)
(dec-value (_type_) float 26)
)
)
(deftype hud-parts (structure)
((pickups (pointer hud-pickups) :offset-assert 0)
(money (pointer hud-money) :offset-assert 4)
(fuel-cell (pointer hud-fuel-cell) :offset-assert 8)
(health (pointer hud-health) :offset-assert 12)
(buzzers (pointer hud-buzzers) :offset-assert 16)
(power (pointer hud-power) :offset-assert 20)
(bike-speed (pointer hud-bike-speed) :offset-assert 24)
(bike-heat (pointer hud-bike-heat) :offset-assert 28)
(money-all (pointer hud-money-all) :offset-assert 32)
((pickups (pointer hud-pickups) :offset-assert 0)
(money (pointer hud-money) :offset-assert 4)
(fuel-cell (pointer hud-fuel-cell) :offset-assert 8)
(health (pointer hud-health) :offset-assert 12)
(buzzers (pointer hud-buzzers) :offset-assert 16)
(power (pointer hud-power) :offset-assert 20)
(bike-speed (pointer hud-bike-speed) :offset-assert 24)
(bike-heat (pointer hud-bike-heat) :offset-assert 28)
(money-all (pointer hud-money-all) :offset-assert 32)
(parts (pointer process) 9 :offset 0)
)
:method-count-assert 9
:size-assert #x24

View File

@ -5,3 +5,9 @@
;; name in dgo: hud
;; dgos: GAME, ENGINE
;; TODO - for hud-classes
(define-extern hud-init-by-other (function int none :behavior hud))
(define-extern hud-collecting (state handle hud))
;; decomp begins

View File

@ -7,7 +7,6 @@
;; DECOMP BEGINS
;; definition for function part-hud-racer-speed-func
(defun
part-hud-racer-speed-func
((arg0 sparticle-system) (arg1 sparticle-cpuinfo) (arg2 matrix))
@ -78,7 +77,6 @@
)
)
;; failed to figure out what this is:
(set!
(-> *part-group-id-table* 108)
(new 'static 'sparticle-launch-group
@ -95,7 +93,6 @@
)
)
;; failed to figure out what this is:
(set!
(-> *part-group-id-table* 109)
(new 'static 'sparticle-launch-group
@ -112,7 +109,6 @@
)
)
;; failed to figure out what this is:
(set!
(-> *part-group-id-table* 110)
(new 'static 'sparticle-launch-group
@ -129,7 +125,6 @@
)
)
;; failed to figure out what this is:
(set!
(-> *part-id-table* 741)
(new 'static 'sparticle-launcher
@ -151,7 +146,6 @@
)
)
;; failed to figure out what this is:
(set!
(-> *part-id-table* 740)
(new 'static 'sparticle-launcher
@ -175,7 +169,6 @@
)
)
;; failed to figure out what this is:
(set!
(-> *part-id-table* 1999)
(new 'static 'sparticle-launcher
@ -197,7 +190,6 @@
)
)
;; definition for function part-hud-racer-heat-func
(defun
part-hud-racer-heat-func
((arg0 sparticle-system) (arg1 sparticle-cpuinfo) (arg2 matrix))
@ -224,7 +216,6 @@
)
)
;; definition for function zoomer-heat-slice-color
(defun zoomer-heat-slice-color ((arg0 matrix) (arg1 float))
(cond
((< arg1 0.6)
@ -262,7 +253,6 @@
)
)
;; definition for function part-hud-zoomer-heat-slice-01-func
(defun
part-hud-zoomer-heat-slice-01-func
((arg0 sparticle-system) (arg1 sparticle-cpuinfo) (arg2 matrix))
@ -272,7 +262,6 @@
)
)
;; definition for function part-hud-zoomer-heat-slice-02-func
(defun
part-hud-zoomer-heat-slice-02-func
((arg0 sparticle-system) (arg1 sparticle-cpuinfo) (arg2 matrix))
@ -285,7 +274,6 @@
)
)
;; definition for function part-hud-zoomer-heat-slice-03-func
(defun
part-hud-zoomer-heat-slice-03-func
((arg0 sparticle-system) (arg1 sparticle-cpuinfo) (arg2 matrix))
@ -298,7 +286,6 @@
)
)
;; failed to figure out what this is:
(set!
(-> *part-group-id-table* 111)
(new 'static 'sparticle-launch-group
@ -315,7 +302,6 @@
)
)
;; failed to figure out what this is:
(set!
(-> *part-group-id-table* 112)
(new 'static 'sparticle-launch-group
@ -332,7 +318,6 @@
)
)
;; failed to figure out what this is:
(set!
(-> *part-group-id-table* 113)
(new 'static 'sparticle-launch-group
@ -349,7 +334,6 @@
)
)
;; failed to figure out what this is:
(set!
(-> *part-group-id-table* 114)
(new 'static 'sparticle-launch-group
@ -369,7 +353,6 @@
)
)
;; failed to figure out what this is:
(set!
(-> *part-id-table* 739)
(new 'static 'sparticle-launcher
@ -391,7 +374,6 @@
)
)
;; failed to figure out what this is:
(set!
(-> *part-id-table* 737)
(new 'static 'sparticle-launcher
@ -413,7 +395,6 @@
)
)
;; failed to figure out what this is:
(set!
(-> *part-id-table* 738)
(new 'static 'sparticle-launcher
@ -436,7 +417,6 @@
)
)
;; failed to figure out what this is:
(set!
(-> *part-id-table* 2010)
(new 'static 'sparticle-launcher
@ -458,7 +438,6 @@
)
)
;; failed to figure out what this is:
(set!
(-> *part-id-table* 2011)
(new 'static 'sparticle-launcher
@ -480,7 +459,6 @@
)
)
;; failed to figure out what this is:
(set!
(-> *part-id-table* 2012)
(new 'static 'sparticle-launcher
@ -502,7 +480,6 @@
)
)
;; definition of type hud-bike-heat
(deftype hud-bike-heat (hud)
()
:heap-base #xb0
@ -511,27 +488,16 @@
:flag-assert #x1b00b00118
)
;; definition for method 3 of type hud-bike-heat
(defmethod inspect hud-bike-heat ((obj hud-bike-heat))
(let ((t9-0 (method-of-type hud inspect)))
(t9-0 obj)
)
obj
)
;; definition for method 19 of type hud-bike-heat
;; INFO: Return type mismatch int vs none.
(defmethod TODO-RENAME-19 hud-bike-heat ((obj hud-bike-heat))
(if *target*
(dummy-16 obj (the int (-> *target* racer heat)) 0)
(TODO-RENAME-16 obj (the int (-> *target* racer heat)) 0)
)
0
(none)
)
;; definition for method 20 of type hud-bike-heat
;; INFO: Return type mismatch int vs none.
(defmethod init-particles! hud-bike-heat ((obj hud-bike-heat))
(defmethod init-particles! hud-bike-heat ((obj hud-bike-heat) (arg0 int))
(with-pp
(push-setting!
*setting-control*
@ -610,7 +576,6 @@
)
)
;; definition of type hud-bike-speed
(deftype hud-bike-speed (hud)
()
:heap-base #xb0
@ -619,27 +584,16 @@
:flag-assert #x1b00b00118
)
;; definition for method 3 of type hud-bike-speed
(defmethod inspect hud-bike-speed ((obj hud-bike-speed))
(let ((t9-0 (method-of-type hud inspect)))
(t9-0 obj)
)
obj
)
;; definition for method 19 of type hud-bike-speed
;; INFO: Return type mismatch int vs none.
(defmethod TODO-RENAME-19 hud-bike-speed ((obj hud-bike-speed))
(if *target*
(dummy-16 obj (the int (-> *target* control unknown-float01)) 0)
(TODO-RENAME-16 obj (the int (-> *target* control unknown-float01)) 0)
)
0
(none)
)
;; definition for method 20 of type hud-bike-speed
;; INFO: Return type mismatch int vs none.
(defmethod init-particles! hud-bike-speed ((obj hud-bike-speed))
(defmethod init-particles! hud-bike-speed ((obj hud-bike-speed) (arg0 int))
(with-pp
(push-setting!
*setting-control*
@ -704,7 +658,6 @@
)
)
;; failed to figure out what this is:
(set!
(-> *part-group-id-table* 115)
(new 'static 'sparticle-launch-group
@ -722,7 +675,6 @@
)
)
;; failed to figure out what this is:
(set!
(-> *part-id-table* 742)
(new 'static 'sparticle-launcher
@ -744,7 +696,6 @@
)
)
;; failed to figure out what this is:
(set!
(-> *part-id-table* 743)
(new 'static 'sparticle-launcher
@ -767,7 +718,6 @@
)
)
;; failed to figure out what this is:
(set!
(-> *part-id-table* 744)
(new 'static 'sparticle-launcher
@ -797,7 +747,6 @@
)
)
;; failed to figure out what this is:
(set!
(-> *part-id-table* 2211)
(new 'static 'sparticle-launcher
@ -826,7 +775,6 @@
)
)
;; failed to figure out what this is:
(set!
(-> *part-id-table* 2207)
(new 'static 'sparticle-launcher
@ -857,7 +805,6 @@
)
)
;; failed to figure out what this is:
(set!
(-> *part-id-table* 2221)
(new 'static 'sparticle-launcher
@ -886,7 +833,6 @@
)
)
;; failed to figure out what this is:
(set!
(-> *part-id-table* 2208)
(new 'static 'sparticle-launcher
@ -917,7 +863,6 @@
)
)
;; failed to figure out what this is:
(set!
(-> *part-id-table* 2218)
(new 'static 'sparticle-launcher
@ -947,7 +892,6 @@
)
)
;; failed to figure out what this is:
(set!
(-> *part-id-table* 2215)
(new 'static 'sparticle-launcher
@ -978,7 +922,6 @@
)
)
;; failed to figure out what this is:
(set!
(-> *part-id-table* 2216)
(new 'static 'sparticle-launcher
@ -1009,7 +952,6 @@
)
)
;; failed to figure out what this is:
(set!
(-> *part-id-table* 2831)
(new 'static 'sparticle-launcher
@ -1040,7 +982,6 @@
)
)
;; failed to figure out what this is:
(set!
(-> *part-id-table* 2214)
(new 'static 'sparticle-launcher
@ -1071,7 +1012,6 @@
)
)
;; failed to figure out what this is:
(set!
(-> *part-id-table* 2220)
(new 'static 'sparticle-launcher
@ -1101,7 +1041,6 @@
)
)
;; failed to figure out what this is:
(set!
(-> *part-id-table* 2213)
(new 'static 'sparticle-launcher
@ -1132,7 +1071,6 @@
)
)
;; failed to figure out what this is:
(set!
(-> *part-id-table* 2275)
(new 'static 'sparticle-launcher
@ -1163,7 +1101,6 @@
)
)
;; failed to figure out what this is:
(set!
(-> *part-id-table* 2276)
(new 'static 'sparticle-launcher
@ -1192,7 +1129,6 @@
)
)
;; failed to figure out what this is:
(set!
(-> *part-id-table* 2212)
(new 'static 'sparticle-launcher
@ -1218,7 +1154,6 @@
)
)
;; failed to figure out what this is:
(set!
(-> *part-id-table* 2225)
(new 'static 'sparticle-launcher
@ -1254,7 +1189,6 @@
)
)
;; failed to figure out what this is:
(set!
(-> *part-id-table* 2226)
(new 'static 'sparticle-launcher
@ -1290,7 +1224,6 @@
)
)
;; failed to figure out what this is:
(set!
(-> *part-id-table* 2227)
(new 'static 'sparticle-launcher
@ -1320,7 +1253,6 @@
)
)
;; failed to figure out what this is:
(set!
(-> *part-id-table* 2277)
(new 'static 'sparticle-launcher
@ -1337,7 +1269,6 @@
)
)
;; failed to figure out what this is:
(set!
(-> *part-id-table* 2278)
(new 'static 'sparticle-launcher
@ -1352,7 +1283,6 @@
)
)
;; failed to figure out what this is:
(set!
(-> *part-group-id-table* 116)
(new 'static 'sparticle-launch-group
@ -1372,7 +1302,6 @@
)
)
;; failed to figure out what this is:
(set!
(-> *part-id-table* 2280)
(new 'static 'sparticle-launcher
@ -1406,7 +1335,6 @@
)
)
;; failed to figure out what this is:
(set!
(-> *part-id-table* 2283)
(new 'static 'sparticle-launcher
@ -1421,7 +1349,6 @@
)
)
;; failed to figure out what this is:
(set!
(-> *part-id-table* 2282)
(new 'static 'sparticle-launcher
@ -1448,7 +1375,6 @@
)
)
;; failed to figure out what this is:
(set!
(-> *part-id-table* 2279)
(new 'static 'sparticle-launcher
@ -1471,7 +1397,6 @@
)
)
;; failed to figure out what this is:
(set!
(-> *part-id-table* 2281)
(new 'static 'sparticle-launcher
@ -1506,7 +1431,6 @@
)
)
;; failed to figure out what this is:
(set!
(-> *part-id-table* 2284)
(new 'static 'sparticle-launcher
@ -1522,7 +1446,6 @@
)
)
;; failed to figure out what this is:
(set!
(-> *part-id-table* 2285)
(new 'static 'sparticle-launcher
@ -1539,7 +1462,6 @@
)
)
;; failed to figure out what this is:
(set!
(-> *part-id-table* 2286)
(new 'static 'sparticle-launcher
@ -1553,7 +1475,6 @@
)
)
;; failed to figure out what this is:
(set!
(-> *part-id-table* 2229)
(new 'static 'sparticle-launcher

View File

@ -43,7 +43,7 @@
(next-time uint32 :offset-assert 116)
(next-launcher basic :offset-assert 120)
(cache-alpha float :offset-assert 124)
(valid basic :offset-assert 128)
(valid symbol :offset-assert 128)
(key sparticle-launch-control :offset-assert 132)
(binding sparticle-launch-state :offset-assert 136)
(data uint32 1 :offset 12)

File diff suppressed because it is too large Load Diff

View File

@ -64,12 +64,12 @@
(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)
(first-init symbol :offset-assert 176)
(increment-on-event symbol :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)
(disable symbol :offset-assert 188)
(force-on-screen symbol :offset-assert 192)
(deactivate-when-hidden symbol :offset-assert 196)
(trigger-time uint64 :offset-assert 200)
(last-hide-time uint64 :offset-assert 208)
(nb-of-icons int32 :offset-assert 216)
@ -83,19 +83,19 @@
:size-assert #x118
:flag-assert #x1b00b00118
(:methods
(dummy-14 () none 14)
(dummy-15 () none 15)
(dummy-16 (_type_ int int) none 16)
(dummy-17 () none 17)
(dummy-18 () none 18)
(dummy-14 (_type_) none 14)
(dummy-15 (_type_) none 15)
(TODO-RENAME-16 (_type_ int int) none 16)
(dummy-17 (_type_) none 17)
(dummy-18 (_type_) none 18)
(TODO-RENAME-19 (_type_) none 19)
(init-particles! (_type_) 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)
(init-particles! (_type_ int) none 20)
(first-icon-x (_type_) int 21)
(first-icon-y (_type_) int 22)
(dummy-23 (_type_) none 23)
(animate! (_type_ symbol symbol) none 24)
(inc-value (_type_) float 25)
(dec-value (_type_) float 26)
)
)
@ -135,15 +135,16 @@
;; definition of type hud-parts
(deftype hud-parts (structure)
((pickups (pointer hud-pickups) :offset-assert 0)
(money (pointer hud-money) :offset-assert 4)
(fuel-cell (pointer hud-fuel-cell) :offset-assert 8)
(health (pointer hud-health) :offset-assert 12)
(buzzers (pointer hud-buzzers) :offset-assert 16)
(power (pointer hud-power) :offset-assert 20)
(bike-speed (pointer hud-bike-speed) :offset-assert 24)
(bike-heat (pointer hud-bike-heat) :offset-assert 28)
(money-all (pointer hud-money-all) :offset-assert 32)
((pickups (pointer hud-pickups) :offset-assert 0)
(money (pointer hud-money) :offset-assert 4)
(fuel-cell (pointer hud-fuel-cell) :offset-assert 8)
(health (pointer hud-health) :offset-assert 12)
(buzzers (pointer hud-buzzers) :offset-assert 16)
(power (pointer hud-power) :offset-assert 20)
(bike-speed (pointer hud-bike-speed) :offset-assert 24)
(bike-heat (pointer hud-bike-heat) :offset-assert 28)
(money-all (pointer hud-money-all) :offset-assert 32)
(parts (pointer process) 9 :offset 0)
)
:method-count-assert 9
:size-assert #x24

View File

@ -517,7 +517,7 @@
;; INFO: Return type mismatch int vs none.
(defmethod TODO-RENAME-19 hud-bike-heat ((obj hud-bike-heat))
(if *target*
(dummy-16 obj (the int (-> *target* racer heat)) 0)
(TODO-RENAME-16 obj (the int (-> *target* racer heat)) 0)
)
0
(none)
@ -525,7 +525,7 @@
;; definition for method 20 of type hud-bike-heat
;; INFO: Return type mismatch int vs none.
(defmethod init-particles! hud-bike-heat ((obj hud-bike-heat))
(defmethod init-particles! hud-bike-heat ((obj hud-bike-heat) (arg0 int))
(with-pp
(push-setting!
*setting-control*
@ -625,7 +625,7 @@
;; INFO: Return type mismatch int vs none.
(defmethod TODO-RENAME-19 hud-bike-speed ((obj hud-bike-speed))
(if *target*
(dummy-16 obj (the int (-> *target* control unknown-float01)) 0)
(TODO-RENAME-16 obj (the int (-> *target* control unknown-float01)) 0)
)
0
(none)
@ -633,7 +633,7 @@
;; definition for method 20 of type hud-bike-speed
;; INFO: Return type mismatch int vs none.
(defmethod init-particles! hud-bike-speed ((obj hud-bike-speed))
(defmethod init-particles! hud-bike-speed ((obj hud-bike-speed) (arg0 int))
(with-pp
(push-setting!
*setting-control*