d/jak2: some work in memory-usage | nav-graph-h and finish pov-camera and aligner (#1901)

This commit is contained in:
Tyler Wilding
2022-09-24 14:47:03 -04:00
committed by GitHub
parent 80cefb9575
commit 123e7fd87b
35 changed files with 1670 additions and 292 deletions
+163 -94
View File
@@ -1582,7 +1582,9 @@
(global-y-angle-to-point (_type_ vector) float 23)
(relative-y-angle-to-point (_type_ vector) float 24)
(roll-relative-to-gravity (_type_) float 25)
(set-and-limit-velocity (_type_ int vector float) trsqv 26)
(set-and-limit-velocity
"TODO - arg1 is an bitfield of some sort"
(_type_ int vector float) trsqv :behavior process 26)
(get-quaternion (_type_) quaternion 27)
)
)
@@ -1766,8 +1768,8 @@
(define-extern *cos-poly-vec* vector)
(define-extern vector-cos-rad! (function vector vector vector))
(define-extern vector-sincos-rad! (function vector vector vector int))
(define-extern sincos-rad! (function (pointer float) float int))
(define-extern sincos! (function (pointer float) float int))
(define-extern sincos-rad! (function vector float int))
(define-extern sincos! (function vector float int))
(define-extern vector-rad<-vector-deg! (function vector vector none))
(define-extern vector-rad<-vector-deg/2! (function vector vector int))
(define-extern vector-sincos! (function vector vector vector int))
@@ -3684,10 +3686,10 @@
:flag-assert #x900000008
)
;; the GS's DISPLAY registers make settings for the display position on the screen regarding
;; information on Rectangular Area Read Output Circuit n for the PCRTC.
;; write-only
(deftype gs-display (uint64)
"the GS's DISPLAY registers make settings for the display position on the screen regarding
information on Rectangular Area Read Output Circuit n for the PCRTC.
write-only"
((dx uint16 :offset 0 :size 12)
(dy uint16 :offset 12 :size 11)
(magh uint8 :offset 23 :size 4)
@@ -3698,9 +3700,9 @@
:flag-assert #x900000008
)
;; the GS's BGCOLOR register sets the background color of the PCRTC with RGB value.
;; write-only
(deftype gs-bgcolor (uint64)
"the GS's BGCOLOR register sets the background color of the PCRTC with RGB value.
write-only"
((r uint8 :offset 0)
(g uint8 :offset 8)
(b uint8 :offset 16)
@@ -3708,11 +3710,12 @@
:flag-assert #x900000008
)
;; the GS's CSR register sets and obtains various GS statuses.
;; read-write. the fields have different effects depending on whether they're being read from
;; or written to.
;; bits 5 and 6 (0x20 and 0x40) should be zero
(deftype gs-csr (uint64)
"the GS's CSR register sets and obtains various GS statuses.
read-write. the fields have different effects depending on whether they're being read from
or written to.
bits 5 and 6 (0x20 and 0x40) should be zero"
((signal uint8 :offset 0 :size 1)
(finish uint8 :offset 1 :size 1)
(hsint uint8 :offset 2 :size 1)
@@ -5924,7 +5927,14 @@
(level-method-11 () none 11) ;; (add-irq-to-tex-buckets! (_type_) none 11)
(unload! (_type_) _type_ 12)
(bsp-name (_type_) symbol 13)
(compute-memory-usage (_type_ object) memory-usage-block 14)
(compute-memory-usage!
"Calculates the memory usage of the level, returns and stores the [[memory-usage-block]]
in `mem-usage-block` as well as the total size in `mem-usage`
@param force? - Will re-compute the usage if set to [[#t]], even if `mem-usage` has been set to a non-zero value
@returns The [[memory-usage-block]] representing the footprint of the level
@see [[memory-usage-block::10]]"
(_type_ symbol) memory-usage-block 14)
(inside-boxes-check (_type_ vector) symbol 15)
(level-method-16 () none 16) ;; (update-vis! (_type_ level-vis-info uint uint) symbol 16)
(load-continue (_type_) _type_ 17)
@@ -7545,9 +7555,13 @@
:size-assert #x710
:flag-assert #xc00000710
(:methods
(reset! (_type_) _type_ 9)
(memory-usage-block-method-10 () none 10) ;; (calculate-total (_type_) int 10)
(print-mem-usage (_type_ level object) none 11)
(reset!
"Sets `length` to 0 as well as resets all fields except `name` in the associated [[memory-usage-info]]"
(_type_) _type_ 9)
(calculate-total
"@returns The total sum of all [[memory-usage-info]] `total`s"
(_type_) int 10)
(print-mem-usage (_type_ level object) _type_ 11)
)
)
@@ -13714,11 +13728,21 @@
:flag-assert #xe00000134
(:methods
(new (symbol type process) _type_ 0)
(align-control-method-9 () none 9) ;; (compute-alignment! (_type_) transformq 9)
(align-control-method-10 () none 10) ;; (align! (_type_ align-opts float float float) trsqv 10)
(align-control-method-11 () none 11) ;; (align-vel-and-quat-only! (_type_ align-opts vector int float float) trsqv 11)
(align-control-method-12 () none 12) ;; (first-transform (_type_) transform 12)
(align-control-method-13 () none 13) ;; (snd-transform (_type_) transform 13)
(compute-alignment! (_type_) transformq 9)
(align!
"As long as [[align-flags::0]] is not set call [[process-drawable::16]] on the process being controlled
using the arguments passed to construct a [[vector]] - <`x`, `y`, `z`, 1.0>
@returns the `root` of the [[process-drawable]] after the method returns
@see [[process-drawable::16]]"
(_type_ align-opts float float float) trsqv 10)
(align-vel-and-quat-only! (_type_ align-opts vector int float float) trsqv :behavior process 11)
(first-transform
"@returns The first of the two [[transforms]] held by the object"
(_type_) transform 12)
(second-transform
"@returns The second of the two [[transforms]] held by the object"
(_type_) transform 13)
)
)
@@ -13840,7 +13864,7 @@
(:methods
(initialize-skeleton (_type_ skeleton-group pair) none 14)
(initialize-skeleton-by-name (_type_ string object) draw-control 15)
(process-drawable-method-16 () none 16) ;; (apply-alignment (_type_ align-opts transformq vector) collide-shape 16)
(apply-alignment (_type_ align-opts transformq vector) object 16)
(process-drawable-method-17 () none 17) ;; (do-joint-math! (_type_) none 17)
(process-drawable-method-18 () none 18) ;; (cleanup-for-death (_type_) none 18)
(process-drawable-method-19 () none 19) ;; (evaluate-joint-control (_type_) none 19)
@@ -14437,7 +14461,7 @@
(deftype pov-camera (process-drawable)
((flags pov-camera-flag :offset-assert 200) ;; pov-camera-flag
(debounce-start-time time-frame :offset-assert 208) ;; time-frame
(notify-handle uint64 :offset-assert 216) ;; handle
(notify-handle handle :offset-assert 216) ;; handle
(anim-name string :offset-assert 224) ;; guessed by decompiler
(command-list pair :offset-assert 228) ;; guessed by decompiler
(mask-to-clear process-mask :offset-assert 232) ;; guessed by decompiler
@@ -14448,16 +14472,16 @@
:size-assert #xf4
:flag-assert #x1e008000f4
(:methods
(pov-camera-method-20 () none 20) ;; (pov-camera-abort () _type_ :state 20)
(pov-camera-method-21 () none 21) ;; (pov-camera-done-playing () _type_ :state 21)
(pov-camera-method-22 () none 22) ;; (pov-camera-playing () _type_ :state 22)
(pov-camera-method-23 () none 23) ;; (pov-camera-start-playing () _type_ :state 23)
(pov-camera-method-24 () none 24) ;; (pov-camera-startup () _type_ :state 24)
(pov-camera-method-25 () none 25) ;; (check-for-abort (_type_) symbol 25)
(pov-camera-method-26 () none 26) ;; (target-grabbed? (_type_) symbol 26)
(pov-camera-abort () _type_ :state 20) ;; (pov-camera-abort () _type_ :state 20)
(pov-camera-done-playing () _type_ :state 21) ;; (pov-camera-done-playing () _type_ :state 21)
(pov-camera-playing () _type_ :state 22) ;; (pov-camera-playing () _type_ :state 22)
(pov-camera-start-playing () _type_ :state 23) ;; (pov-camera-start-playing () _type_ :state 23)
(pov-camera-startup () _type_ :state 24) ;; (pov-camera-startup () _type_ :state 24)
(abort? (_type_) symbol :behavior pov-camera 25)
(target-grabbed? (_type_) symbol 26)
(pov-camera-method-27 () none 27) ;; (pre-startup-callback (_type_) none 27)
(pov-camera-method-28 () none 28) ;; (target-released? () symbol 28)
(pov-camera-method-29 () none 29) ;; (set-stack-size! (_type_) none 29)
(target-released? (_type_) symbol 29) ;; (set-stack-size! (_type_) none 29)
)
)
@@ -23751,8 +23775,6 @@
;; settings ;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
(define-extern set-aspect-ratio (function symbol none))
(define-extern set-video-mode (function symbol none))
(define-extern scf-get-volume "Defined in the kernel" (function int))
(define-extern scf-get-language "Defined in the kernel" (function language-enum))
(define-extern scf-get-aspect "Defined in the kernel" (function uint))
@@ -26362,10 +26384,10 @@
;; (define-extern part-tracker-move-to-target function) ;; (function part-tracker vector)
;; (define-extern part-tracker-track-target function) ;; (function part-tracker vector)
(define-extern lightning-tracker-init (function lightning-spec time-frame symbol process-drawable vector vector none))
;; (define-extern process-grab? function) ;; (function process symbol :behavior camera-tracker)
;; (define-extern process-release? function) ;; (function process symbol :behavior process)
(define-extern process-grab? (function process symbol symbol :behavior process))
(define-extern process-release? (function process symbol :behavior process))
;; (define-extern camera-look-at function) ;; (function pair uint process :behavior camera-tracker)
;; (define-extern ja-anim-done? function) ;; (function process symbol)
(define-extern ja-anim-done? (function process symbol)) ;;
;; (define-extern camera-pov-from function) ;; (function pair uint process :behavior camera-tracker)
;; (define-extern cam-launcher-joystick function) ;; (function vector :behavior camera-slave)
;; (define-extern cam-launcher-shortfall state) ;; (state camera-slave)
@@ -28110,14 +28132,32 @@
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
(define-extern *video-mode* int)
;; (define-extern set-video-mode function) ;; (function symbol none)
(define-extern get-video-mode (function symbol))
(define-extern set-aspect-ratio (function symbol none))
(define-extern get-aspect-ratio (function symbol))
(define-extern set-progressive-scan (function symbol none))
(define-extern get-progressive-scan (function symbol))
(define-extern set-video-mode
"Set related settings to the video mode in the settings, [[*video-params*]] and the [[*video-mode*]]
`ntsc` has a [[*video-mode*]] value of `0`, where as `pal` has a value of `1`
Will also set a bunch of common settings related to profiling and the camera to finalize the switch
@param tv-format Recognizes `ntsc` and `pal`"
(function symbol none))
(define-extern get-video-mode
"@returns the current video mode, for example `ntsc` or `pal`"
(function symbol))
(define-extern set-aspect-ratio
"Set [[*video-params*]] aspect-ratio related settings based on the mode provided.
@param aspect Recognizes `aspect4x3` and `aspect16x9`"
(function symbol none))
(define-extern get-aspect-ratio
"@returns The current aspect ratio mode setting" (function symbol))
(define-extern set-progressive-scan
"Flip the progressive scan setting flag depending on the value provided
@param val The value to set the progressive scan flag to"
(function symbol none))
(define-extern get-progressive-scan
"@returns If using progressive scan is currently set in the settings"
(function symbol))
(define-extern *smode2* int)
(define-extern set-graphics-mode (function none))
(define-extern set-graphics-mode "TODO" (function none))
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; main ;;
@@ -28204,24 +28244,13 @@
;; memory-usage ;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
#|
(deftype memory-usage-block (basic)
()
:method-count-assert 12
:size-assert #x710
:flag-assert #xc00000710
;; Failed to read fields.
(:methods
(memory-usage-block-method-9 () none 9) ;; (reset! (_type_) _type_ 9)
(memory-usage-block-method-10 () none 10) ;; (calculate-total (_type_) int 10)
(memory-usage-block-method-11 () none 11) ;; (print-mem-usage (_type_ level object) none 11)
)
)
|#
(define-extern mem-size (function basic symbol int int))
;; (define-extern *max-dma* object) ;; int
(define-extern mem-size
"@param data The [[basic]] to call `mem-usage` on
@param inspect-usage? Set to [[#t]] if `inspect` should be called on the resulting [[memory-usage-block]]
@param arg2 TODO - unsure, some sort of bitfield
@returns The total memory footprint of the provided [[basic]]"
(function basic symbol int int))
(define-extern *max-dma* int)
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; entity ;;
@@ -28803,11 +28832,11 @@
;; pov-camera ;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; (define-extern pov-camera-play-and-reposition function) ;; (function art-joint-anim vector float none :behavior pov-camera)
;; (define-extern pov-camera-init-by-other function) ;; (function vector skeleton-group string pov-camera-flag process-drawable pair none :behavior pov-camera)
;; (define-extern othercam-calc function) ;; (function float none)
;; (define-extern othercam-running state) ;; (state othercam)
;; (define-extern othercam-init-by-other function) ;; (function process-taskable symbol symbol symbol none :behavior othercam)
(define-extern pov-camera-play-and-reposition (function art-joint-anim vector float none :behavior pov-camera))
(define-extern pov-camera-init-by-other (function vector skeleton-group string pov-camera-flag process-drawable pair none :behavior pov-camera)) ;;
(define-extern othercam-calc (function float float)) ;;
(define-extern othercam-running (state othercam))
(define-extern othercam-init-by-other (function pov-camera int symbol symbol none :behavior othercam)) ;; (function process-taskable symbol symbol symbol none :behavior othercam)
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; powerups ;;
@@ -28920,8 +28949,8 @@
;; (define-extern hud-init-by-other function) ;; (function int none :behavior hud)
;; (define-extern hide-hud function) ;; (function none)
;; (define-extern enable-hud function) ;; (function none)
;; (define-extern hide-hud-quick function) ;; (function none)
(define-extern show-hud (function object none)) ;;
(define-extern hide-hud-quick (function symbol none))
(define-extern show-hud (function object none))
;; (define-extern hud-hidden? function) ;; (function symbol)
;; (define-extern set-hud-piece-position! function)
;; (define-extern set-as-offset-from! function)
@@ -47489,12 +47518,12 @@
;; nav-graph-h ;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
#|
(declare-type nav-node structure)
(deftype nav-branch (structure)
((node UNKNOWN 2 :offset-assert 0)
(src-node basic :offset-assert 0)
(dest-node basic :offset-assert 4)
(temp-dest-node-id int32 :offset-assert 4)
((node nav-node 2 :offset-assert 0)
(src-node nav-node :offset 0)
(dest-node nav-node :offset 4)
(temp-dest-node-id int32 :offset 4)
(speed-limit uint8 :offset-assert 8)
(density uint8 :offset-assert 9)
(clock-type uint8 :offset-assert 10)
@@ -47510,11 +47539,20 @@
(:methods
(nav-branch-method-9 () none 9)
(nav-branch-method-10 () none 10)
(nav-branch-method-11 () none 11)
(nav-branch-method-12 () none 12)
(nav-branch-method-13 () none 13)
(nav-branch-method-14 () none 14)
(nav-branch-method-15 () none 15)
(nav-branch-method-11
"TODO
@returns `density * 0.0078125` - is this some kind of trick?"
(_type_) float 11)
(nav-branch-method-12
"TODO
@returns `speed-limit * 1024.0`"
(_type_) float 12)
(nav-branch-method-13
"TODO
@returns `width * 256.0`"
(_type_) float 13)
(user-limit-reached? (_type_) symbol 14)
(nav-branch-method-15 "TODO - checks that `dest-node`'s `id` isn't #FFFF" (_type_) symbol 15)
(nav-branch-method-16 () none 16)
(nav-branch-method-17 () none 17)
(nav-branch-method-18 () none 18)
@@ -47522,15 +47560,37 @@
(nav-branch-method-20 () none 20)
)
)
|#
#|
(defenum nav-node-flag-byte
"The same as [[nav-node-flag]] but more compact"
:type uint8
:bitfield #t
(visited 0)
(blocked 1)
(pedestrian 2)
(selected 3)
(hidden 4))
(deftype nav-node (structure)
()
(
(data uint32 8 :offset-assert 0 :score -999)
(position vector :inline :offset 0)
(pos-x float :offset 0)
(pos-y float :offset 4)
(pos-z float :offset 8)
(angle uint16 :offset 12)
(id uint16 :offset 14)
(radius uint8 :offset 16)
(branch-count int8 :offset 17)
(flags nav-node-flag-byte :offset 18)
(pad0 int8 1 :offset 19)
(branch-array uint32 :offset 20)
(nav-mesh-id uint32 :offset 24)
(level level :offset 28)
)
:method-count-assert 22
:size-assert #x20
:flag-assert #x1600000020
;; Failed to read fields.
(:methods
(nav-node-method-9 () none 9)
(nav-node-method-10 () none 10)
@@ -47541,15 +47601,23 @@
(nav-node-method-15 () none 15)
(nav-node-method-16 () none 16)
(nav-node-method-17 () none 17)
(nav-node-method-18 () none 18)
(nav-node-method-19 () none 19)
(nav-node-method-20 () none 20)
(nav-node-method-21 () none 21)
(get-position
"@param! ret The [[vector]] that is modified to hold the result
@returns the `position` [[vector]] with a `w` component of `1.0`"
(_type_ vector) vector 18)
(calc-sine-and-cosine!
"Computes the sine and cosine of the `angle`.
@param! ret The result <cosine, 0.0, -(sine), 1.0>
@returns Nothing, the result will be in `ret`"
(_type_ vector) vector 19)
(get-angle (_type_) float 20)
(nav-node-method-21
"TODO
@returns `radius * 1024.0"
(_type_) float 21)
)
)
|#
#|
(deftype nav-graph-link (structure)
((id uint32 :offset-assert 0)
(dest-graph-id uint32 :offset-assert 4)
@@ -47562,13 +47630,11 @@
:size-assert #x30
:flag-assert #x900000030
)
|#
#|
(deftype nav-graph (basic)
((node-count int16 :offset-assert 4)
(branch-count int16 :offset-assert 6)
(node-array uint32 :offset-assert 8)
(node-array (inline-array nav-node) :offset-assert 8)
(branch-array uint32 :offset-assert 12)
(link-count int16 :offset-assert 16)
(pad2 uint16 :offset-assert 18)
@@ -47577,7 +47643,7 @@
(pad0 uint16 :offset-assert 26)
(patched basic :offset-assert 28)
(id uint32 :offset-assert 32)
(pad1 UNKNOWN 6 :offset-assert 36)
(pad1 uint32 6 :offset-assert 36)
)
:method-count-assert 45
:size-assert #x3c
@@ -47615,13 +47681,16 @@
(nav-graph-method-38 () none 38)
(nav-graph-method-39 () none 39)
(nav-graph-method-40 () none 40)
(nav-graph-method-41 () none 41)
(node-at-idx
"Get the `nav-node` at a given position.
@param idx The position in the `node-array` to return
@returns the [[nav-node]] if it can be found, otherwise return [[#f]]"
(_type_ int) nav-node 41)
(nav-graph-method-42 () none 42)
(nav-graph-method-43 () none 43)
(nav-graph-method-44 () none 44)
)
)
|#
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
@@ -331,5 +331,15 @@
[11, "(function process none)"],
[59, "(function process none)"],
[56, "(function process-drawable none)"]
],
"memory-usage": [
// [2, "(function process symbol)"], // TODO - crash / assertion hit
[3, "(function basic symbol)"]
],
"pov-camera": [
[
7,
"(function process int symbol event-message-block object :behavior pov-camera)"
]
]
}
+15 -2
View File
@@ -222,7 +222,8 @@
"(method 12 level)",
"bg",
"update-sound-banks",
"entity-remap-names"
"entity-remap-names",
"(method 8 process-tree)"
],
// If format is used with the wrong number of arguments,
@@ -234,7 +235,19 @@
"~338h~5d~388h~5d~448h~5,,2f": 3,
"~30Htf: ~8D~134Hpr: ~8D~252Hsh: ~8D~370Hhd: ~8D~%": 4,
"~30Hal: ~8D~131Hwa: ~8D~252Hsp: ~8D~370Hwp: ~8D~%": 4,
"ERROR: <asg> ~A in spool anim loop for ~A ~D, but not loaded.~": 3
"ERROR: <asg> ~A in spool anim loop for ~A ~D, but not loaded.~": 3,
// TODO - these should be automatic
" tfrag ~192H~5DK ~280Htfragment~456H~5DK~%": 2,
" tie-proto ~192H~5DK ~280Hsky~456H~5DK~%": 2,
" tie-instance ~192H~5DK ~280Htie-fragment~456H~5DK~%": 2,
" shrub-proto ~192H~5DK ~280Htie-scissor~456H~5DK~%": 2,
" shrub-instance ~192H~5DK ~280Hshrubbery~456H~5DK~%": 2,
" collision ~192H~5DK ~280Htie-generic~456H~5DK~%": 2,
" pris-anim ~192H~5DK ~280Hpris-generic~456H~5DK~%": 2,
" textures ~192H~5DK ~280Htextures~456H~5DK~%": 2,
" misc ~192H~5DK ~280Hsprite~456H~5DK~%": 2,
" entity ~192H~5DK~%": 1,
" pris-geo ~192H~5DK ~280Hpris-fragment~456H~5DK~%": 2
},
"blocks_ending_in_asm_branch": {
@@ -781,7 +781,5 @@
"(method 26 level-group)": [
[64, "vector"],
[80, "vector"]
],
// placeholder
"placeholder-do-not-add-below": []
]
}
+18 -8
View File
@@ -2309,12 +2309,6 @@
[123, "a1", "drawable-tree-instance-shrub"],
[[129, 133], "a2", "(inline-array prototype-bucket-shrub)"]
],
"(method 10 bsp-header)": [
[43, "a1", "terrain-context"],
[31, "a0", "terrain-context"]
],
"history-draw": [
[151, "a0", "uint"],
["_stack_", 24, "pat-surface"]
@@ -2398,6 +2392,22 @@
[[61, 66], "v1", "dma-packet"],
[69, "v1", "(pointer int32)"]
],
// placeholder
"placeholder-do-not-add-below": []
"(method 8 process-tree)": [
[31, "v1", "symbol"],
[6, "a3", "symbol"]
],
"(method 11 memory-usage-block)": [[43, "a0", "int"]],
"process-release?": [[9, "gp", "process-focusable"]],
"(code pov-camera-start-playing pov-camera)": [[21, "v0", "joint"]],
"(anon-function 7 pov-camera)": [
[9, "v1", "float"],
[16, "v1", "float"]
],
"(event othercam-running)": [
[17, "v1", "process-drawable"],
[24, "v0", "joint"],
[41, "a0", "process"]
],
"(enter othercam-running)": [[[50, 60], "gp", "process-drawable"]],
"(code othercam-running)": [[[2, 65], "s2", "process-drawable"]]
}
+68
View File
@@ -1223,5 +1223,73 @@
},
"(method 23 path-control)": {
"args": ["obj", "point"]
},
"(method 11 memory-usage-block)": {
"args": ["obj", "level", "fmt-dest"]
},
"(method 14 level)": {
"args": ["obj", "force?"]
},
"mem-size": {
"args": ["data", "inspect-usage?", "arg2"],
"vars": {
"gp-0": "block"
}
},
"(method 9 memory-usage-block)": {
"vars": {
"v1-0": "idx"
}
},
"(method 10 memory-usage-block)": {
"vars": {
"v0-0": "sum",
"v1-0": "idx"
}
},
"set-graphics-mode": {
"vars": {
"v1-0": "settings",
"s4-0": "display",
"s5-0": "video-settings",
"gp-0": "gs-bank"
}
},
"set-progressive-scan": {
"args": ["val"]
},
"set-aspect-ratio": {
"args": ["aspect"]
},
"set-video-mode": {
"args": ["tv-format"]
},
"(method 41 nav-graph)": {
"args": ["obj", "idx"]
},
"(method 18 nav-node)": {
"args": ["obj", "ret"]
},
"(method 10 align-control)": {
"args": ["obj", "options", "x", "y", "z"],
"vars": {
"a0-1": "process",
"t9-0": "method-call",
"v1-4": "transform",
"t1-0": "data"
}
},
"(method 26 trsqv)": {
"args": ["obj", "unkBitfield", "limit"],
"vars": {
"a0-1": "transv"
}
},
"(method 19 nav-node)": {
"args": ["obj", "ret"],
"vars": {
"f0-1": "angle",
"s5-0": "sin-cos-result"
}
}
}