decomp: settings (#641)

* decomp: finalize `settings`

* decomp: cleanup
This commit is contained in:
Tyler Wilding
2021-06-28 00:32:29 -04:00
committed by GitHub
parent 2506325f30
commit 385b8b5785
9 changed files with 1385 additions and 92 deletions
+20 -20
View File
@@ -882,7 +882,7 @@
(heap-top pointer :offset-assert #x54)
(heap-cur pointer :offset-assert #x58)
(stack-frame-top stack-frame :offset-assert #x5c)
(connection-list connectable :inline :offset-assert #x60)
(connection-list connectable :inline :offset-assert #x60) ;; can be a connection
(stack uint8 :dynamic :offset-assert #x70)
)
(:methods
@@ -5020,7 +5020,7 @@
;; was manually done
(deftype setting-data (structure)
((border-mode basic :offset-assert 0)
((border-mode symbol :offset-assert 0)
(sfx-volume float :offset-assert 4)
(music-volume float :offset-assert 8)
(dialog-volume float :offset-assert 12)
@@ -5029,8 +5029,8 @@
(language int64 :offset-assert 24)
(screenx int32 :offset-assert 32)
(screeny int32 :offset-assert 36)
(vibration basic :offset-assert 40)
(play-hints basic :offset-assert 44)
(vibration symbol :offset-assert 40)
(play-hints symbol :offset-assert 44)
(movie (pointer process) :offset-assert 48) ;; special print
(talking (pointer process) :offset-assert 52) ;; special print
(spooling (pointer process) :offset-assert 56) ;; special print
@@ -5039,21 +5039,21 @@
(video-mode symbol :offset-assert 68)
(aspect-ratio symbol :offset-assert 72) ;; a guess but, anything besides this doesnt make sense
(sound-flava uint8 :offset-assert 76)
(auto-save basic :offset-assert 80)
(auto-save symbol :offset-assert 80)
(music-volume-movie float :offset-assert 84)
(sfx-volume-movie float :offset-assert 88)
(music basic :offset-assert 92)
(music symbol :offset-assert 92)
(bg-r float :offset-assert 96)
(bg-g float :offset-assert 100)
(bg-b float :offset-assert 104)
(bg-a float :offset-assert 108)
(bg-a-speed float :offset-assert 112)
(bg-a-force float :offset-assert 116)
(allow-progress basic :offset-assert 120)
(allow-pause basic :offset-assert 124)
(allow-progress symbol :offset-assert 120)
(allow-pause symbol :offset-assert 124)
(sound-flava-priority float :offset-assert 128)
(ocean-off basic :offset-assert 132)
(allow-look-around basic :offset-assert 136)
(ocean-off symbol :offset-assert 132)
(allow-look-around symbol :offset-assert 136)
(ambient-volume float :offset-assert 140)
(ambient-volume-movie float :offset-assert 144)
(dialog-volume-hint float :offset-assert 148)
@@ -5063,7 +5063,7 @@
:size-assert #xc4
:flag-assert #xa000000c4
(:methods
(dummy-9 () none 9)
(handle-pending-updates (_type_ engine) setting-data 9)
)
)
@@ -5078,11 +5078,11 @@
:flag-assert #xe00000278
(:methods
(new (symbol type int) _type_ 0)
(dummy-9 () none 9)
(dummy-10 (_type_ process symbol symbol float int) none 10)
(dummy-11 () none 11)
(dummy-12 () none 12)
(dummy-13 () none 13)
(push-setting! (_type_ process (function object object object object object) object object object) none 9)
(set-setting! (_type_ process symbol symbol float int) none 10)
(clear-pending-settings-from-process (_type_ process symbol) none 11)
(copy-settings-from-target! (_type_) setting-data 12)
(update-per-frame-settings! (_type_) setting-data 13)
)
)
@@ -16155,10 +16155,10 @@
;; - Unknowns
;;(define-extern scf-get-volume object) ;; unknown type
;;(define-extern scf-get-language object) ;; unknown type
;;(define-extern scf-get-aspect object) ;; unknown type
;;(define-extern *boot-video-mode* object) ;; unknown type
(define-extern scf-get-volume (function int))
(define-extern scf-get-language (function uint))
(define-extern scf-get-aspect (function uint))
(define-extern *boot-video-mode* int) ;; TODO - a guess
;; ----------------------
@@ -691,10 +691,6 @@
"(method 11 drawable-inline-array-collide-fragment)": [
[[1, 5], "v1", "collide-fragment"]
],
"generic-init-buffers": [
[[39, 44], "v1", "dma-packet"]
],
"main-cheats": [
[1221, "t9", "(function cpu-thread function none)"]
@@ -711,5 +707,67 @@
[[29, 55], "s2", "drawable-tree-tfrag"],
[[121, 146], "s1", "drawable-inline-array-tfrag"],
[[150, 151], "s1", "drawable-tree-instance-tie"]
],
"(method 11 setting-control)": [
[[3, 25], "s4", "connection"]
],
"(method 9 setting-data)": [
[[4, 345], "s3", "connection"],
[[9, 12], "v1", "symbol"],
[[14, 17], "v1", "symbol"],
[[19, 22], "v1", "symbol"],
[[24, 27], "v1", "symbol"],
[[29, 32], "v1", "symbol"],
[[33, 35], "a0", "int"],
[[40, 45], "a0", "uint"],
[[47, 49], "v1", "int"],
[[68, 71], "v1", "symbol"],
[[72, 78], "v1", "float"],
[[80, 83], "v1", "float"],
[[87, 90], "v1", "symbol"],
[[91, 97], "v1", "float"],
[[99, 102], "v1", "float"],
[[106, 109], "v1", "symbol"],
[[110, 116], "v1", "float"],
[[118, 121], "v1", "float"],
[[125, 128], "v1", "symbol"],
[[129, 135], "v1", "float"],
[[137, 140], "v1", "float"],
[[144, 147], "v1", "symbol"],
[[148, 154], "v1", "float"],
[[156, 159], "v1", "float"],
[[163, 166], "v1", "symbol"],
[[167, 173], "v1", "float"],
[[175, 178], "v1", "float"],
[[182, 185], "v1", "symbol"],
[[186, 192], "v1", "float"],
[[194, 197], "v1", "float"],
[[201, 204], "v1", "symbol"],
[[205, 211], "v1", "float"],
[[213, 216], "v1", "float"],
[[220, 223], "v1", "float"],
[[224, 226], "v1", "int"],
[[226, 229], "v1", "float"],
[[233, 236], "v1", "float"],
[[240, 243], "v1", "float"],
[[247, 250], "v1", "float"],
[[254, 257], "v1", "float"],
[[261, 264], "v1", "float"],
[[268, 271], "v1", "float"],
[[275, 277], "v1", "int"],
[[280, 282], "v1", "symbol"],
[[285, 287], "v1", "symbol"],
[[290, 293], "v1", "symbol"],
[[295, 298], "v1", "symbol"],
[[300, 303], "v1", "symbol"],
[[305, 308], "v1", "(pointer progress)"],
[[310, 313], "v1", "(pointer progress)"],
[[315, 318], "v1", "(pointer progress)"],
[[325, 328], "v1", "(pointer progress)"],
[[330, 333], "v1", "symbol"],
[[334, 337], "a0", "int"],
[[341, 344], "a0", "uint"]
]
}
@@ -2095,5 +2095,11 @@
"s2-1":"current-drawable",
"s1-0":"idx-in-drawable"
}
},
"(method 9 setting-data)": {
"vars": {
"s3-0": ["conn", "connection"]
}
}
}