mirror of
https://github.com/open-goal/jak-project.git
synced 2024-11-23 06:09:57 +00:00
d/jak2: get script
decompiling, no ref tests yet (#1877)
Has boxed array accessing that prevents me from adding anything to ref tests (the entire file is lambdas so the access pattern that i would like to ignore happens at the top-level, can't ignore it. This code actually already has quite a bit of original docstrings so it's not too bad in that regard considering a `script-context` can have 16 arbitrary objects. It seems they rarely put more than a single object in the context and the types are usually obvious / are actually type checked!
This commit is contained in:
parent
8117ed3bc7
commit
82e0517275
@ -7421,8 +7421,8 @@
|
||||
:flag-assert #x1300000fb0
|
||||
(:methods
|
||||
(new (symbol type int) _type_ 0)
|
||||
(add-setting (_type_ process symbol object object object) none 9)
|
||||
(persist-with-delay (_type_ process time-frame object object float object) none 10)
|
||||
(add-setting "Originally called `setting-set` see (anon-function 48 script)" (_type_ process symbol object object object) none 9)
|
||||
(persist-with-delay "Originally called `setting-pers` see (anon-function 46 script)" (_type_ symbol time-frame symbol symbol float int) none 10)
|
||||
(set-setting (_type_ process symbol object object object) none 11)
|
||||
(remove-setting (_type_ process symbol) none 12)
|
||||
(kill-persister "Calls [[engine-pers::kill-matching]]" (_type_ engine-pers object) none 13)
|
||||
@ -8315,6 +8315,7 @@
|
||||
(defenum game-task
|
||||
:type uint8
|
||||
:bitfield #f
|
||||
(unknown -1)
|
||||
(none 0)
|
||||
(complete 1)
|
||||
(dummy0 2)
|
||||
@ -11607,7 +11608,7 @@
|
||||
(vis-nick symbol :offset-assert 112)
|
||||
(command-list pair)
|
||||
(object-name string 256)
|
||||
(object-status basic 256)
|
||||
(object-status basic 256) ;; see (anon-function 25 script), should be an `entity-perm-status` but that's too small!
|
||||
)
|
||||
:method-count-assert 22
|
||||
:size-assert #x878
|
||||
@ -11622,7 +11623,7 @@
|
||||
(want-display-level (_type_ symbol symbol) int 13)
|
||||
(want-vis-level (_type_ symbol) none 14)
|
||||
(want-force-vis (_type_ symbol symbol) int 15)
|
||||
(execute-command (_type_ pair) none 16)
|
||||
(execute-command (_type_ pair object) none 16)
|
||||
(execute-commands-up-to (_type_ float) none 17)
|
||||
(backup-load-state-and-set-cmds (_type_ pair) int 18)
|
||||
(restore-load-state-and-cleanup (_type_) int 19)
|
||||
@ -11884,7 +11885,7 @@
|
||||
(game-info-method-18 () none 18)
|
||||
(get-current-continue-point (_type_) continue-point 19)
|
||||
(get-continue-by-name (_type_ string) continue-point 20)
|
||||
(set-continue! (_type_ basic) continue-point 21)
|
||||
(set-continue! (_type_ basic symbol) continue-point 21)
|
||||
(game-info-method-22 () none 22)
|
||||
(game-info-method-23 () none 23)
|
||||
(game-info-method-24 () none 24)
|
||||
@ -12055,10 +12056,10 @@
|
||||
;; field on-close uses ~A with a signed load
|
||||
(:methods
|
||||
(talker-speech-class-method-9 () none 9)
|
||||
(talker-speech-class-method-10 () none 10)
|
||||
(talker-speech-class-method-10 (_type_) none 10)
|
||||
(talker-speech-class-method-11 () none 11)
|
||||
(talker-speech-class-method-12 () none 12)
|
||||
(talker-speech-class-method-13 () none 13)
|
||||
(talker-speech-class-method-12 (_type_ int) none 12)
|
||||
(talker-speech-class-method-13 (_type_ int) none 13)
|
||||
)
|
||||
)
|
||||
|
||||
@ -14034,11 +14035,13 @@
|
||||
;; script-h ;;
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
|
||||
(declare-type script-context structure)
|
||||
(deftype script-form (structure)
|
||||
((name string :offset-assert 0)
|
||||
(spec basic :offset-assert 4)
|
||||
(func basic :offset-assert 8)
|
||||
((name symbol :offset-assert 0)
|
||||
(spec pair :offset-assert 4) ;; a pair of forms/symbols ie. (return macro)
|
||||
(func (function script-context object) :offset-assert 8) ;; takes atleast 1 arg, probably the script-context WHICH IS ALL ARBITRARY DATA
|
||||
)
|
||||
:pack-me
|
||||
:method-count-assert 10
|
||||
:size-assert #xc
|
||||
:flag-assert #xa0000000c
|
||||
@ -14048,26 +14051,25 @@
|
||||
)
|
||||
|
||||
(deftype script-context (structure)
|
||||
((load-state load-state)
|
||||
(key basic)
|
||||
(process process)
|
||||
(trans vector)
|
||||
(side-effect? symbol)
|
||||
(got-error? symbol)
|
||||
(expr basic)
|
||||
(param-count int32)
|
||||
(param object 16)
|
||||
(param-type object 16)
|
||||
((load-state load-state :offset-assert 0)
|
||||
(key basic :offset-assert 4)
|
||||
(process process :offset-assert 8)
|
||||
(trans vector :offset-assert 12)
|
||||
(side-effect? symbol :offset-assert 16)
|
||||
(got-error? symbol :offset-assert 20)
|
||||
(expr pair :offset-assert 24)
|
||||
(param-count int32 :offset-assert 28)
|
||||
(param object 16 :offset-assert 32)
|
||||
(param-type object 16 :offset-assert 96)
|
||||
)
|
||||
:method-count-assert 12
|
||||
:size-assert #xa0
|
||||
:flag-assert #xc000000a0
|
||||
;; Failed to read fields.
|
||||
(:methods
|
||||
(new (symbol type basic process vector) _type_ 0)
|
||||
(eval! (_type_ structure) pair 9)
|
||||
(script-context-method-10 () none 10)
|
||||
(script-context-method-11 () none 11)
|
||||
(eval! "TODO - Argument can be a [[symbol]] or a [[pair]]" (_type_ object) object 9)
|
||||
(script-context-method-10 (_type_ object pair) object 10)
|
||||
(script-context-method-11 (_type_ pair pair symbol) symbol 11)
|
||||
)
|
||||
)
|
||||
|
||||
@ -18178,6 +18180,7 @@
|
||||
(complete 8)
|
||||
(bit-9 9)
|
||||
(bit-10 10)
|
||||
(entity-perm-status-12 12)
|
||||
)
|
||||
|
||||
(deftype entity-perm (structure)
|
||||
@ -18256,7 +18259,7 @@
|
||||
;; Failed to read fields.
|
||||
(:methods
|
||||
(entity-method-22 (_type_) _type_ 22) ;; (birth! (_type_) _type_ 22)
|
||||
(entity-method-23 (_type_) _type_ 23) ;; (kill! (_type_) _type_ 23)
|
||||
(kill! (_type_ ) _type_ 23) ;; (kill! (_type_) _type_ 23)
|
||||
(entity-method-24 () none 24) ;; (add-to-level! (_type_ level-group level actor-id) none 24)
|
||||
(entity-method-25 () none 25) ;; (remove-from-level! (_type_ level-group) _type_ 25)
|
||||
(entity-method-26 () none 26) ;; (get-level (_type_) level 26)
|
||||
@ -18308,7 +18311,7 @@
|
||||
(next-actor (_type_) entity-actor 27)
|
||||
(prev-actor (_type_) entity-actor 28)
|
||||
(entity-actor-method-29 () none 29) ;; (debug-print (_type_ symbol type) none 29)
|
||||
(entity-actor-method-30 () none 30) ;; (dummy-30 (_type_ entity-perm-status symbol) none 30)
|
||||
(entity-actor-method-30 (_type_ entity-perm-status symbol) none 30) ;; (dummy-30 (_type_ entity-perm-status symbol) none 30)
|
||||
(entity-actor-method-31 (_type_ vector vector vector object float) nav-mesh 31)
|
||||
(entity-actor-method-32 (_type_ vector vector nav-poly float) nav-poly 32)
|
||||
)
|
||||
@ -21469,8 +21472,11 @@
|
||||
(define-extern sound-set-volume (function sound-group float int))
|
||||
(define-extern sound-set-reverb (function int float float uint int))
|
||||
(define-extern sound-set-ear-trans (function vector vector vector float int))
|
||||
(define-extern sound-play-by-name (function sound-name sound-id int int int sound-group symbol sound-id))
|
||||
(define-extern sound-play-by-spec (function sound-spec sound-id vector sound-id)) ;; NOTE - the `vector` can also be #t
|
||||
(define-extern sound-play-by-name
|
||||
"Last arg can by a symbol with value [[#t]], in which case it will pull `trans` [[vector]] off the current [[process-drawable]]
|
||||
otherwise, an explicit [[vector]] can be provided"
|
||||
(function sound-name sound-id int int int sound-group object sound-id :behavior process-drawable))
|
||||
(define-extern sound-play-by-spec (function sound-spec sound-id vector sound-id :behavior process-drawable))
|
||||
(define-extern sound-pause (function sound-id int))
|
||||
(define-extern sound-stop (function sound-id int))
|
||||
(define-extern sound-continue (function sound-id int))
|
||||
@ -24625,7 +24631,7 @@
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
|
||||
;; (define-extern *display-load-commands* object) ;; symbol
|
||||
;; (define-extern *backup-load-state* object) ;; load-state
|
||||
(define-extern *backup-load-state* load-state) ;;
|
||||
(define-extern *load-state* load-state)
|
||||
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
@ -26042,8 +26048,8 @@
|
||||
(define-extern talker-surpress! (function none))
|
||||
;; (define-extern talker-displayed? function)
|
||||
;; (define-extern kill-current-talker function)
|
||||
;; (define-extern string->talker-speech function)
|
||||
;; (define-extern talker-spawn-func function)
|
||||
(define-extern string->talker-speech (function string talker-speech-class))
|
||||
(define-extern talker-spawn-func (function talker-speech-class process-tree vector basic int))
|
||||
;; (define-extern talker-init function)
|
||||
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
@ -26058,23 +26064,30 @@
|
||||
|
||||
;; (define-extern region-tree-execute function)
|
||||
(define-extern region-execute (function none))
|
||||
;; (define-extern region-prim-lookup-by-id function)
|
||||
;; (define-extern region-lookup-by-id function)
|
||||
(define-extern region-prim-lookup-by-id (function int drawable-region-prim))
|
||||
(define-extern region-lookup-by-id (function int region))
|
||||
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
;; fma-sphere ;;
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
|
||||
#|
|
||||
(defenum fma-sphere-mode
|
||||
:type uint32
|
||||
:bitfield #t
|
||||
(nav 0)
|
||||
(kill-once 1)
|
||||
(danger 2)
|
||||
(deadly-overlap 3))
|
||||
|
||||
(deftype fma-sphere (process-drawable)
|
||||
((first-time? basic :offset-assert 196)
|
||||
(mode uint32 :offset-assert 200)
|
||||
(track-handle uint64 :offset-assert 204)
|
||||
(track-joint int32 :offset-assert 212)
|
||||
(attack-id uint32 :offset-assert 216)
|
||||
(duration uint64 :offset-assert 220)
|
||||
(sphere sphere :inline :offset-assert 236)
|
||||
(danger traffic-danger-info :inline :offset-assert 252)
|
||||
((first-time? symbol :offset-assert 200)
|
||||
(mode fma-sphere-mode :offset-assert 204)
|
||||
(track-handle handle :offset-assert 208)
|
||||
(track-joint int32 :offset-assert 216)
|
||||
(attack-id uint32 :offset-assert 220)
|
||||
(duration time-frame :offset-assert 224)
|
||||
(sphere sphere :inline :offset-assert 240)
|
||||
(danger traffic-danger-info :inline :offset-assert 256)
|
||||
)
|
||||
:method-count-assert 21
|
||||
:size-assert #x136
|
||||
@ -26083,9 +26096,8 @@
|
||||
(idle () _type_ :state 20)
|
||||
)
|
||||
)
|
||||
|#
|
||||
|
||||
;; (define-extern fma-sphere-init-by-other function)
|
||||
(define-extern fma-sphere-init-by-other (function fma-sphere-mode process-drawable int time-frame object object fma-sphere))
|
||||
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
;; script ;;
|
||||
@ -26093,10 +26105,10 @@
|
||||
|
||||
(define-extern command-get-int (function object int int))
|
||||
(define-extern command-get-float (function object float float))
|
||||
(define-extern command-get-time (function object int int))
|
||||
(define-extern command-get-time (function object int time-frame))
|
||||
(define-extern command-get-param (function object object object))
|
||||
(define-extern command-get-quoted-param (function object object object))
|
||||
;; (define-extern command-get-process (function object process process :behavior camera-tracker))
|
||||
(define-extern command-get-process (function object symbol process))
|
||||
(define-extern command-get-entity
|
||||
"- If `search` is a [[process]] - return it's `entity`
|
||||
- If `search` is an [[entity]] - return it
|
||||
@ -26104,9 +26116,9 @@
|
||||
- If `search` is [[null?]] or [[empty]] or if no other condition passes, return `fallback`"
|
||||
(function object entity entity))
|
||||
(define-extern command-get-trans (function object vector vector))
|
||||
(define-extern key-assoc (function none))
|
||||
(define-extern *script-form* int)
|
||||
;; (define-extern level-from-heap function)
|
||||
(define-extern key-assoc "TODO [[vector4w]] is probably wrong!" (function object pair vector4w pair))
|
||||
(define-extern *script-form* (inline-array script-form))
|
||||
(define-extern level-from-heap (function int level))
|
||||
(define-extern *syntax-context* script-context)
|
||||
(define-extern *script-context* script-context)
|
||||
|
||||
@ -26181,11 +26193,11 @@
|
||||
;; (define-extern swingpole-init function)
|
||||
;; (define-extern manipy-post function)
|
||||
(define-extern manipy-init (function vector entity-actor skeleton-group vector none :behavior manipy)) ;; (function vector entity-actor skeleton-group vector none :behavior manipy)
|
||||
;; (define-extern part-tracker-init function) ;; (function sparticle-launch-group time-frame (function part-tracker none) (pointer process-drawable) process collide-prim-core none :behavior part-tracker)
|
||||
(define-extern part-tracker-init (function sparticle-launch-group time-frame (function part-tracker none) (pointer process-drawable) process collide-prim-core none :behavior part-tracker)) ;;
|
||||
;; (define-extern part-tracker-track-root function) ;; (function sparticle-system sparticle-cpuinfo vector none)
|
||||
;; (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)
|
||||
(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 camera-look-at function) ;; (function pair uint process :behavior camera-tracker)
|
||||
@ -28105,7 +28117,7 @@
|
||||
(define-extern process-drawable-from-entity! (function process-drawable entity-actor none)) ;;
|
||||
(define-extern reset-actors (function symbol none))
|
||||
(define-extern reset-cameras (function none))
|
||||
;; (define-extern entity-birth-no-kill function) ;; (function entity none)
|
||||
(define-extern entity-birth-no-kill (function entity none)) ;;
|
||||
;; (define-extern entity-task-complete-on function) ;; (function entity none)
|
||||
;; (define-extern entity-task-complete-off function) ;; (function entity none)
|
||||
(define-extern process-entity-status! (function process entity-perm-status symbol int)) ;;
|
||||
@ -28499,7 +28511,7 @@
|
||||
;; (define-extern *collectable-dummy-shadow-control* shadow-control)
|
||||
;; (define-extern initialize-ammo-by-other function)
|
||||
;; (define-extern initialize-upgrade-by-other function)
|
||||
;; (define-extern birth-pickup-at-point function) ;; (function vector pickup-type float symbol process-tree fact-info (pointer process) :behavior process)
|
||||
(define-extern birth-pickup-at-point (function vector pickup-type float symbol process-tree fact-info (pointer process) :behavior process)) ;;
|
||||
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
;; task-control ;;
|
||||
@ -28586,7 +28598,7 @@
|
||||
;; (define-extern task-node-reset function)
|
||||
;; (define-extern task-node-dump function)
|
||||
;; (define-extern fail-mission-init-by-other function)
|
||||
;; (define-extern task-manager-init-by-other function)
|
||||
(define-extern task-manager-init-by-other (function game-task-node-info object none))
|
||||
;; (define-extern task-manager-event-handler function)
|
||||
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
@ -28746,7 +28758,7 @@
|
||||
;; (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) ;; (function 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)
|
||||
|
@ -236,5 +236,94 @@
|
||||
[24, "(function editable symbol symbol)"],
|
||||
[25, "(function editable symbol symbol)"],
|
||||
[28, "(function editable symbol)"]
|
||||
],
|
||||
"script": [
|
||||
[0, "(function script-context none)"],
|
||||
[1, "(function script-context int)"],
|
||||
[2, "(function script-context int)"],
|
||||
[3, "(function script-context int)"],
|
||||
[4, "(function script-context int :behavior process)"],
|
||||
[5, "(function script-context int)"],
|
||||
[6, "(function script-context object)"],
|
||||
[7, "(function script-context object :behavior process)"],
|
||||
[8, "(function script-context none :behavior process)"],
|
||||
[9, "(function script-context none :behavior process)"],
|
||||
[10, "(function script-context none :behavior process)"],
|
||||
[11, "(function script-context none :behavior process)"],
|
||||
[12, "(function script-context symbol)"],
|
||||
[13, "(function script-context symbol)"],
|
||||
[14, "(function script-context symbol)"],
|
||||
[16, "(function script-context object)"],
|
||||
[17, "(function script-context string)"],
|
||||
[18, "(function script-context symbol)"],
|
||||
[19, "(function script-context symbol)"],
|
||||
[20, "(function script-context symbol)"],
|
||||
[21, "(function script-context none)"],
|
||||
[22, "(function script-context none)"],
|
||||
[23, "(function script-context symbol)"],
|
||||
[24, "(function script-context none)"],
|
||||
[25, "(function script-context symbol)"],
|
||||
[26, "(function script-context none)"],
|
||||
[27, "(function script-context entity-perm-status)"],
|
||||
[28, "(function script-context (pointer process))"],
|
||||
[29, "(function script-context symbol)"],
|
||||
[30, "(function script-context none)"],
|
||||
[31, "(function script-context none)"],
|
||||
[32, "(function script-context none)"],
|
||||
[33, "(function script-context object)"],
|
||||
[34, "(function script-context region)"],
|
||||
[35, "(function script-context drawable-region-prim)"],
|
||||
[36, "(function script-context symbol :behavior time-of-day-proc)"],
|
||||
[37, "(function script-context object :behavior time-of-day-proc)"],
|
||||
[38, "(function script-context none)"],
|
||||
// TODO - ugly time-frame casts
|
||||
[39, "(function script-context none)"],
|
||||
// TODO - ugly time-frame casts
|
||||
[40, "(function script-context none)"],
|
||||
[41, "(function script-context sound-id)"],
|
||||
[42, "(function script-context sound-id)"],
|
||||
[43, "(function script-context none)"],
|
||||
[44, "(function script-context object)"],
|
||||
[45, "(function script-context none)"],
|
||||
[46, "(function script-context none)"],
|
||||
[47, "(function script-context none)"],
|
||||
[48, "(function script-context none)"],
|
||||
[49, "(function script-context symbol)"],
|
||||
[50, "(function script-context symbol)"],
|
||||
[51, "(function script-context none)"],
|
||||
[52, "(function script-context symbol)"],
|
||||
[53, "(function script-context symbol)"],
|
||||
[54, "(function script-context symbol)"],
|
||||
[55, "(function script-context none)"],
|
||||
[56, "(function script-context none)"],
|
||||
[57, "(function script-context none)"],
|
||||
[58, "(function script-context none)"],
|
||||
[59, "(function script-context none)"],
|
||||
[60, "(function script-context none)"],
|
||||
[61, "(function script-context none)"],
|
||||
[62, "(function script-context none)"],
|
||||
[64, "(function script-context object)"],
|
||||
[65, "(function script-context symbol)"],
|
||||
[66, "(function script-context symbol)"],
|
||||
[67, "(function script-context symbol)"],
|
||||
[68, "(function script-context symbol)"],
|
||||
[69, "(function script-context symbol)"],
|
||||
[70, "(function script-context pair)"],
|
||||
[71, "(function script-context object)"],
|
||||
[72, "(function script-context pair)"],
|
||||
[73, "(function script-context pair)"],
|
||||
[74, "(function script-context pair)"],
|
||||
[75, "(function script-context pair)"],
|
||||
[76, "(function script-context pair)"],
|
||||
[77, "(function script-context symbol)"],
|
||||
[78, "(function script-context pair)"],
|
||||
[79, "(function script-context object)"],
|
||||
[80, "(function script-context pair)"],
|
||||
[81, "(function script-context int)"],
|
||||
[82, "(function script-context float)"],
|
||||
[83, "(function script-context time-frame)"],
|
||||
[84, "(function script-context meters)"],
|
||||
[85, "(function script-context object)"],
|
||||
[15, "(function script-context pair :behavior process)"] // NOTE - an interesting one
|
||||
]
|
||||
}
|
||||
|
@ -38,19 +38,6 @@
|
||||
"name=",
|
||||
"(method 21 game-info)",
|
||||
"cspace-inspect-tree",
|
||||
"command-get-process",
|
||||
"command-get-trans",
|
||||
"(method 10 script-context)",
|
||||
"(method 11 script-context)",
|
||||
"(method 9 script-context)",
|
||||
"(anon-function 64 script)",
|
||||
"(anon-function 61 script)",
|
||||
"(anon-function 60 script)",
|
||||
"(anon-function 54 script)",
|
||||
"(anon-function 52 script)",
|
||||
"(anon-function 49 script)",
|
||||
"(anon-function 33 script)",
|
||||
"debug-menu-func-decode",
|
||||
"scene-player-init",
|
||||
"(method 77 spyder)",
|
||||
"(method 77 flamer)",
|
||||
@ -190,6 +177,21 @@
|
||||
"command-get-param",
|
||||
"command-get-quoted-param",
|
||||
"command-get-entity",
|
||||
"(method 9 script-context)",
|
||||
"(anon-function 6 script)",
|
||||
"(anon-function 49 script)",
|
||||
"(anon-function 52 script)",
|
||||
"(anon-function 72 script)",
|
||||
"(anon-function 73 script)",
|
||||
"(anon-function 74 script)",
|
||||
"(anon-function 75 script)",
|
||||
"(anon-function 76 script)",
|
||||
"(anon-function 80 script)",
|
||||
"(method 11 script-context)",
|
||||
"(method 10 script-context)",
|
||||
"command-get-trans",
|
||||
"key-assoc",
|
||||
"(anon-function 0 script)",
|
||||
// default-menu
|
||||
"dm-scene-load-pick-func",
|
||||
"debug-menu-make-continue-sub-menu",
|
||||
|
@ -93,7 +93,12 @@
|
||||
["L1", "(inline-array vector)", 250],
|
||||
["L2", "(inline-array vector)", 250]
|
||||
],
|
||||
"script": [["L2358", "vector4"]],
|
||||
"script": [
|
||||
["L2358", "vector4"],
|
||||
["L787", "attack-info"],
|
||||
["L1777", "attack-info"],
|
||||
["L1776", "attack-info"]
|
||||
],
|
||||
"text": [
|
||||
["L96", "vector4"],
|
||||
["L95", "matrix"],
|
||||
|
@ -771,6 +771,11 @@
|
||||
"(method 10 editable-face)": [[16, ["inline-array", "vector", 6]]],
|
||||
"(method 11 editable)": [[16, "collide-query"]],
|
||||
"(method 10 editable-plane)": [[16, "matrix"]],
|
||||
"(method 9 script-context)": [[16, "script-context"]],
|
||||
"(anon-function 32 script)": [
|
||||
[16, "vector"],
|
||||
[32, "vector"]
|
||||
],
|
||||
// placeholder
|
||||
"placeholder-do-not-add-below": []
|
||||
}
|
||||
|
@ -1944,7 +1944,6 @@
|
||||
[582, "a0", "editable"],
|
||||
[611, "a0", "editable"]
|
||||
],
|
||||
|
||||
"(event idle editable-player)": [
|
||||
[351, "s4", "editable-light"],
|
||||
[409, "s4", "editable-light"],
|
||||
@ -2028,9 +2027,7 @@
|
||||
[156, "a0", "(pointer gs-reg64)"],
|
||||
[[160, 166], "v1", "dma-packet"]
|
||||
],
|
||||
"(method 14 texture-pool)": [
|
||||
[22, "a3", "(pointer int32)"]
|
||||
],
|
||||
"(method 14 texture-pool)": [[22, "a3", "(pointer int32)"]],
|
||||
"(method 13 texture-page)": [
|
||||
[[16, 23], "a0", "dma-packet"],
|
||||
[[25, 32], "a0", "gs-gif-tag"],
|
||||
@ -2079,11 +2076,11 @@
|
||||
[209, "a0", "(pointer int64)"],
|
||||
[[198, 205], "a0", "gs-gif-tag"]
|
||||
],
|
||||
"texture-page-login": [
|
||||
[[34, 45], "s2", "texture-page"]
|
||||
"texture-page-login": [[[34, 45], "s2", "texture-page"]],
|
||||
"(method 9 texture-page-dir)": [
|
||||
[[27, 32], "t3", "adgif-shader"],
|
||||
[[20, 30], "t2", "(pointer shader-ptr)"]
|
||||
],
|
||||
"(method 9 texture-page-dir)": [[[27, 32], "t3", "adgif-shader"],
|
||||
[[20, 30], "t2", "(pointer shader-ptr)"]],
|
||||
"texture-page-dir-inspect": [[[137, 138], "v1", "adgif-shader"]],
|
||||
"level-remap-texture": [
|
||||
[15, "t0", "(pointer uint32)"],
|
||||
@ -2092,8 +2089,11 @@
|
||||
[12, "v1", "int"],
|
||||
[12, "a3", "int"]
|
||||
],
|
||||
"debug-menu-func-decode": [
|
||||
[18, "a0", "symbol"]
|
||||
"debug-menu-func-decode": [[18, "a0", "symbol"]],
|
||||
"(anon-function 6 script)": [[17, "v1", "pair"]],
|
||||
"(anon-function 16 script)": [
|
||||
[10, "s4", "game-task-node-info"],
|
||||
[12, "v1", "symbol"]
|
||||
],
|
||||
"(method 13 mysql-nav-graph)": [[[15, 37], "gp", "mysql-nav-node"]],
|
||||
"(method 14 mysql-nav-graph)": [[[16, 31], "v1", "mysql-nav-edge"]],
|
||||
@ -2126,6 +2126,59 @@
|
||||
[[39, 59], "a1", "mysql-nav-edge"],
|
||||
[[48, 58], "a2", "mysql-nav-node"]
|
||||
],
|
||||
"(anon-function 24 script)": [[14, "s5", "entity-actor"]],
|
||||
"(anon-function 31 script)": [
|
||||
[25, "s3", "process-drawable"],
|
||||
[59, "v0", "joint"],
|
||||
[14, "s5", "(function process vector cspace)"]
|
||||
],
|
||||
"(method 9 script-context)": [[81, "s5", "symbol"]],
|
||||
"(anon-function 33 script)": [
|
||||
// TODO - cast had to be added even though `object` is in type_utils.cpp
|
||||
[14, "a0", "symbol"],
|
||||
[34, "gp", "process-drawable"],
|
||||
[95, "s3", "drawable-region-prim"],
|
||||
[150, "v0", "joint"]
|
||||
],
|
||||
"(anon-function 36 script)": [[15, "v0", "int"]],
|
||||
"(anon-function 49 script)": [[10, "gp", "pair"]],
|
||||
"(anon-function 52 script)": [
|
||||
[14, "s5", "pair"],
|
||||
[11, "s4", "process-focusable"]
|
||||
],
|
||||
"(anon-function 64 script)": [[21, "v1", "bfloat"]],
|
||||
"(anon-function 69 script)": [[3, "t9", "(function script-context symbol)"]],
|
||||
"(anon-function 72 script)": [[3, "s4", "pair"]],
|
||||
"(anon-function 73 script)": [[5, "s5", "pair"]],
|
||||
"(anon-function 74 script)": [[5, "s5", "pair"]],
|
||||
"(anon-function 75 script)": [[3, "s5", "pair"]],
|
||||
"(anon-function 76 script)": [[3, "s5", "pair"]],
|
||||
"(anon-function 80 script)": [[3, "s5", "pair"]],
|
||||
"(method 10 script-context)": [[22, "s3", "symbol"]],
|
||||
"command-get-trans": [
|
||||
[36, "v0", "process-drawable"],
|
||||
[58, "s3", "process-drawable"],
|
||||
[76, "v0", "joint"]
|
||||
],
|
||||
"(anon-function 0 script)": [
|
||||
[30, "s5", "pair"],
|
||||
[16, "s5", "process-drawable"],
|
||||
[90, "v0", "joint"]
|
||||
],
|
||||
"(anon-function 32 script)": [
|
||||
// TODO - cast had to be added even though `object` is in type_utils.cpp
|
||||
[13, "a0", "symbol"],
|
||||
[43, "s5", "process-drawable"],
|
||||
[32, "s5", "process-drawable"],
|
||||
[105, "v0", "joint"],
|
||||
[145, "v0", "joint"]
|
||||
],
|
||||
"command-get-process": [[37, "gp", "entity-actor"]],
|
||||
"command-get-float": [[20, "gp", "bfloat"]],
|
||||
"command-get-int": [[17, "gp", "bfloat"]],
|
||||
"(anon-function 54 script)": [[66, "v1", "entity-actor"]],
|
||||
"(anon-function 53 script)": [[40, "v1", "entity-actor"]],
|
||||
"(anon-function 71 script)": [[4, "v1", "symbol"]],
|
||||
// placeholder
|
||||
"placeholder-do-not-add-below": []
|
||||
}
|
||||
|
@ -752,200 +752,200 @@
|
||||
"dma-buffer-add-ref-texture": {
|
||||
"args": ["dma-buf", "tex-data-ptr", "width", "height", "tex-fmt"],
|
||||
"vars": {
|
||||
"s5-0":"padr",
|
||||
"v1-0":"qwc-remaining",
|
||||
"a0-4":"qwc-transfer",
|
||||
"a1-3":"eop"
|
||||
"s5-0": "padr",
|
||||
"v1-0": "qwc-remaining",
|
||||
"a0-4": "qwc-transfer",
|
||||
"a1-3": "eop"
|
||||
}
|
||||
},
|
||||
"gs-find-block": {
|
||||
"args" : ["bx", "by", "fmt"]
|
||||
"args": ["bx", "by", "fmt"]
|
||||
},
|
||||
"(method 18 texture-pool)": {
|
||||
"args":["obj", "tpage-id"]
|
||||
"args": ["obj", "tpage-id"]
|
||||
},
|
||||
"(method 10 texture-page)": {
|
||||
"args":["obj", "num-segments", "upload-offset"],
|
||||
"vars": {"v1-0":"offset", "a2-1":"i"}
|
||||
"args": ["obj", "num-segments", "upload-offset"],
|
||||
"vars": { "v1-0": "offset", "a2-1": "i" }
|
||||
},
|
||||
"(method 16 texture-pool)": {
|
||||
"args":["obj", "seg", "num-words"]
|
||||
"args": ["obj", "seg", "num-words"]
|
||||
},
|
||||
"(method 9 texture-page)": {
|
||||
"args":["obj", "heap"]
|
||||
"args": ["obj", "heap"]
|
||||
},
|
||||
"texture-page-default-allocate" : {
|
||||
"args":["pool", "tpage", "heap", "tpage-id"],
|
||||
"texture-page-default-allocate": {
|
||||
"args": ["pool", "tpage", "heap", "tpage-id"],
|
||||
"vars": {
|
||||
"s3-0":"seg",
|
||||
"a1-2":"vram-loc",
|
||||
"v1-12":"tex-idx",
|
||||
"a0-7":"tex",
|
||||
"a1-6":"mask-idx",
|
||||
"a2-2":"mask-word"
|
||||
"s3-0": "seg",
|
||||
"a1-2": "vram-loc",
|
||||
"v1-12": "tex-idx",
|
||||
"a0-7": "tex",
|
||||
"a1-6": "mask-idx",
|
||||
"a2-2": "mask-word"
|
||||
}
|
||||
},
|
||||
"texture-page-common-allocate": {
|
||||
"args":["pool", "tpage", "heap", "tpage-id"],
|
||||
"args": ["pool", "tpage", "heap", "tpage-id"],
|
||||
"vars": {
|
||||
"s5-0":"vram-loc",
|
||||
"s4-0":"seg"
|
||||
"s5-0": "vram-loc",
|
||||
"s4-0": "seg"
|
||||
}
|
||||
},
|
||||
"texture-page-font-allocate": {
|
||||
"args":["pool", "tpage", "heap", "tpage-id"],
|
||||
"args": ["pool", "tpage", "heap", "tpage-id"],
|
||||
"vars": {
|
||||
"v1-4":"tex-idx",
|
||||
"a0-5":"tex",
|
||||
"a1-5":"mask-idx",
|
||||
"a2-2":"mask-word"
|
||||
"v1-4": "tex-idx",
|
||||
"a0-5": "tex",
|
||||
"a1-5": "mask-idx",
|
||||
"a2-2": "mask-word"
|
||||
}
|
||||
},
|
||||
"(method 22 texture-pool)": {
|
||||
"vars": {
|
||||
"s5-0":"vram-loc",
|
||||
"gp-0":"level-idx",
|
||||
"v1-3":"lev",
|
||||
"s4-0":"tpage",
|
||||
"s3-0":"seg"
|
||||
"s5-0": "vram-loc",
|
||||
"gp-0": "level-idx",
|
||||
"v1-3": "lev",
|
||||
"s4-0": "tpage",
|
||||
"s3-0": "seg"
|
||||
}
|
||||
},
|
||||
"(method 23 texture-pool)": {
|
||||
"vars": {
|
||||
"s5-0":"vram-loc",
|
||||
"gp-0":"level-idx",
|
||||
"v1-3":"lev",
|
||||
"s4-0":"tpage",
|
||||
"s3-0":"seg"
|
||||
"s5-0": "vram-loc",
|
||||
"gp-0": "level-idx",
|
||||
"v1-3": "lev",
|
||||
"s4-0": "tpage",
|
||||
"s3-0": "seg"
|
||||
}
|
||||
},
|
||||
"(method 24 texture-pool)": {
|
||||
"vars": {
|
||||
"gp-0":"vram-loc",
|
||||
"s5-0":"level-idx",
|
||||
"v1-3":"lev",
|
||||
"s4-0":"tpage",
|
||||
"s3-0":"old-dest-base",
|
||||
"s2-0":"new-dest-base",
|
||||
"v1-15":"new-tbp",
|
||||
"a0-11":"texture-idx",
|
||||
"a1-12":"adgif-iter"
|
||||
"gp-0": "vram-loc",
|
||||
"s5-0": "level-idx",
|
||||
"v1-3": "lev",
|
||||
"s4-0": "tpage",
|
||||
"s3-0": "old-dest-base",
|
||||
"s2-0": "new-dest-base",
|
||||
"v1-15": "new-tbp",
|
||||
"a0-11": "texture-idx",
|
||||
"a1-12": "adgif-iter"
|
||||
}
|
||||
},
|
||||
"texture-page-common-boot-allocate": {
|
||||
"args":["pool", "tpage", "heap", "tpage-id"],
|
||||
"args": ["pool", "tpage", "heap", "tpage-id"],
|
||||
"vars": {
|
||||
"s2-0":"common-page-slot-id"
|
||||
"s2-0": "common-page-slot-id"
|
||||
}
|
||||
},
|
||||
"upload-vram-data": {
|
||||
"args": ["buf", "dest", "data", "height", "width"],
|
||||
"vars": {
|
||||
"a3-2":"height-this-time"
|
||||
"a3-2": "height-this-time"
|
||||
}
|
||||
},
|
||||
"upload-vram-pages": {
|
||||
"args":["pool", "dest-seg", "tpage", "mode", "bucket"],
|
||||
"args": ["pool", "dest-seg", "tpage", "mode", "bucket"],
|
||||
"vars": {
|
||||
"gp-0":"num-chunks",
|
||||
"s3-0":"dma-buf",
|
||||
"sv-16":"data-ptr",
|
||||
"sv-20":"vram-ptr",
|
||||
"sv-24":"tpage-num-chunks",
|
||||
"sv-32":"chunks-pending",
|
||||
"sv-40":"first-chunk",
|
||||
"sv-48":"tpage-id"
|
||||
"gp-0": "num-chunks",
|
||||
"s3-0": "dma-buf",
|
||||
"sv-16": "data-ptr",
|
||||
"sv-20": "vram-ptr",
|
||||
"sv-24": "tpage-num-chunks",
|
||||
"sv-32": "chunks-pending",
|
||||
"sv-40": "first-chunk",
|
||||
"sv-48": "tpage-id"
|
||||
}
|
||||
},
|
||||
"update-vram-pages": {
|
||||
"args":["pool", "dest-seg", "tpage", "mode", "bucket"],
|
||||
"args": ["pool", "dest-seg", "tpage", "mode", "bucket"],
|
||||
"vars": {
|
||||
"t1-0":"vram-ptr",
|
||||
"t2-0":"tpage-num-chunks",
|
||||
"v1-2":"chunks-pending",
|
||||
"t0-1":"tpage-id",
|
||||
"a1-4":"adjusted-num-chunks",
|
||||
"a2-3":"chunk-idx",
|
||||
"a3-8":"chunk-ptr"
|
||||
"t1-0": "vram-ptr",
|
||||
"t2-0": "tpage-num-chunks",
|
||||
"v1-2": "chunks-pending",
|
||||
"t0-1": "tpage-id",
|
||||
"a1-4": "adjusted-num-chunks",
|
||||
"a2-3": "chunk-idx",
|
||||
"a3-8": "chunk-ptr"
|
||||
}
|
||||
},
|
||||
"upload-vram-pages-pris": {
|
||||
"args": ["pool", "dest-seg", "tpage", "bucket"],
|
||||
"vars": {
|
||||
"gp-0":"total-chunks-uploaded",
|
||||
"s3-0":"dma-buf",
|
||||
"sv-16":"data-ptr",
|
||||
"sv-20":"vram-ptr",
|
||||
"sv-24":"tpage-num-chunks",
|
||||
"sv-32":"chunks-pending",
|
||||
"sv-40":"first-chunk",
|
||||
"sv-48":"tpage-id",
|
||||
"s0-0":"chunk-idx",
|
||||
"v1-17":"chunk-dest",
|
||||
"a1-1":"mask-work",
|
||||
"sv-52":"should-upload"
|
||||
"gp-0": "total-chunks-uploaded",
|
||||
"s3-0": "dma-buf",
|
||||
"sv-16": "data-ptr",
|
||||
"sv-20": "vram-ptr",
|
||||
"sv-24": "tpage-num-chunks",
|
||||
"sv-32": "chunks-pending",
|
||||
"sv-40": "first-chunk",
|
||||
"sv-48": "tpage-id",
|
||||
"s0-0": "chunk-idx",
|
||||
"v1-17": "chunk-dest",
|
||||
"a1-1": "mask-work",
|
||||
"sv-52": "should-upload"
|
||||
}
|
||||
},
|
||||
"texture-page-level-allocate": {
|
||||
"args":["pool", "tpage", "heap", "tpage-id"],
|
||||
"vars": {"s2-0": "common-page-slot-id"}
|
||||
"args": ["pool", "tpage", "heap", "tpage-id"],
|
||||
"vars": { "s2-0": "common-page-slot-id" }
|
||||
},
|
||||
"texture-page-size-check": {
|
||||
"args":["pool", "lev", "silent"]
|
||||
"args": ["pool", "lev", "silent"]
|
||||
},
|
||||
"(method 13 texture-pool)": {
|
||||
"args":["pool", "lev", "num-tpage-ids", "tpage-ids"],
|
||||
"args": ["pool", "lev", "num-tpage-ids", "tpage-ids"],
|
||||
"vars": {
|
||||
"s2-0":"lev-tex-ids",
|
||||
"a0-3":"tpage-id",
|
||||
"s1-0":"loaded-tpage-idx",
|
||||
"v1-9":"logged-in-tpage-id"
|
||||
"s2-0": "lev-tex-ids",
|
||||
"a0-3": "tpage-id",
|
||||
"s1-0": "loaded-tpage-idx",
|
||||
"v1-9": "logged-in-tpage-id"
|
||||
}
|
||||
},
|
||||
"(method 14 texture-pool)": {
|
||||
"args":["pool", "lev", "cat", "bucket"],
|
||||
"args": ["pool", "lev", "cat", "bucket"],
|
||||
"vars": {
|
||||
"a2-1": "tpage"
|
||||
}
|
||||
},
|
||||
"upload-textures": {
|
||||
"vars": {
|
||||
"v1-6":"lev-idx",
|
||||
"a0-7":"lev",
|
||||
"s5-0":"num-tpage",
|
||||
"v1-11":"tpage-info",
|
||||
"a1-9":"src-level"
|
||||
"v1-6": "lev-idx",
|
||||
"a0-7": "lev",
|
||||
"s5-0": "num-tpage",
|
||||
"v1-11": "tpage-info",
|
||||
"a1-9": "src-level"
|
||||
}
|
||||
},
|
||||
"texture-relocate": {
|
||||
"args": ["dma-buff", "tex", "dest-loc", "dest-fmt", "clut-dst"]
|
||||
},
|
||||
"(method 11 texture-page)": {
|
||||
"args":["obj", "new-dest", "segs"],
|
||||
"args": ["obj", "new-dest", "segs"],
|
||||
"vars": {
|
||||
"v1-0":"new-tbp",
|
||||
"a3-4":"old-tbp",
|
||||
"t0-1":"tex-idx",
|
||||
"t1-6":"tex",
|
||||
"t2-0":"num-mips",
|
||||
"t3-4":"mip-idx"
|
||||
"v1-0": "new-tbp",
|
||||
"a3-4": "old-tbp",
|
||||
"t0-1": "tex-idx",
|
||||
"t1-6": "tex",
|
||||
"t2-0": "num-mips",
|
||||
"t3-4": "mip-idx"
|
||||
}
|
||||
},
|
||||
"(method 7 texture-page)": {
|
||||
"args":["obj", "loading-heap", "name"],
|
||||
"args": ["obj", "loading-heap", "name"],
|
||||
"vars": {
|
||||
"v1-2":"loading-level",
|
||||
"a3-0":"tpage-id",
|
||||
"s4-0":"dir-entry"
|
||||
"v1-2": "loading-level",
|
||||
"a3-0": "tpage-id",
|
||||
"s4-0": "dir-entry"
|
||||
}
|
||||
},
|
||||
"texture-page-login": {
|
||||
"args":["tex-id", "alloc-func", "heap"],
|
||||
"args": ["tex-id", "alloc-func", "heap"],
|
||||
"vars": {
|
||||
"s5-0":"dir-entry",
|
||||
"s4-0":"old-alloc-func",
|
||||
"s3-0":"name",
|
||||
"s2-0":"loaded-tpage"
|
||||
"s5-0": "dir-entry",
|
||||
"s4-0": "old-alloc-func",
|
||||
"s3-0": "name",
|
||||
"s2-0": "loaded-tpage"
|
||||
}
|
||||
},
|
||||
"(method 9 texture-page-dir)": {
|
||||
|
@ -3,6 +3,6 @@
|
||||
namespace decompiler {
|
||||
bool allowable_base_type_for_symbol_to_string(const TypeSpec& ts) {
|
||||
auto& bt = ts.base_type();
|
||||
return bt == "symbol" || bt == "basic" || bt == "structure";
|
||||
return bt == "symbol" || bt == "basic" || bt == "structure" || bt == "object";
|
||||
}
|
||||
} // namespace decompiler
|
@ -25,13 +25,14 @@
|
||||
:flag-assert #xe00000018
|
||||
(:methods
|
||||
(talker-speech-class-method-9 () none 9)
|
||||
(talker-speech-class-method-10 () none 10)
|
||||
(talker-speech-class-method-10 (_type_) none 10)
|
||||
(talker-speech-class-method-11 () none 11)
|
||||
(talker-speech-class-method-12 () none 12)
|
||||
(talker-speech-class-method-13 () none 13)
|
||||
(talker-speech-class-method-12 (_type_ int) none 12)
|
||||
(talker-speech-class-method-13 (_type_ int) none 13)
|
||||
)
|
||||
)
|
||||
|
||||
|
||||
(deftype talker (process)
|
||||
((trans vector :inline :offset-assert 128)
|
||||
(message talker-speech-class :offset-assert 144)
|
||||
|
@ -5997,9 +5997,10 @@
|
||||
arg0
|
||||
)
|
||||
|
||||
(debug-menu-context-make-default-menus *debug-menu-context*)
|
||||
|
||||
(popup-menu-context-make-default-menus *popup-menu-context*)
|
||||
;; NOTE - disabled for now to prevent a crash at startup
|
||||
;; The debug menu stuff accesses a lot of stuff that is currently undefined, which will crash the game
|
||||
;; (debug-menu-context-make-default-menus *debug-menu-context*)
|
||||
;; (popup-menu-context-make-default-menus *popup-menu-context*)
|
||||
|
||||
(defun menu-respond-to-pause ()
|
||||
(case *master-mode*
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -655,7 +655,22 @@
|
||||
arg0
|
||||
)
|
||||
|
||||
;; ERROR: function was not converted to expressions. Cannot decompile.
|
||||
(defun debug-menu-func-decode ((arg0 object))
|
||||
(let ((v1-2 (rtype-of arg0)))
|
||||
(the-as function (cond
|
||||
((or (= v1-2 symbol) (= v1-2 type))
|
||||
(-> (the-as symbol arg0) value)
|
||||
)
|
||||
((= v1-2 function)
|
||||
arg0
|
||||
)
|
||||
(else
|
||||
nothing
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
|
||||
;; ERROR: Stack slot load at 96 mismatch: defined as size 4, got size 16
|
||||
;; ERROR: Stack slot load at 128 mismatch: defined as size 4, got size 16
|
||||
|
@ -19,6 +19,7 @@
|
||||
(complete 8)
|
||||
(bit-9 9)
|
||||
(bit-10 10)
|
||||
(entity-perm-status-12 12)
|
||||
)
|
||||
|
||||
(declare-type race-mesh basic)
|
||||
@ -125,7 +126,7 @@
|
||||
:flag-assert #x1b00000034
|
||||
(:methods
|
||||
(entity-method-22 (_type_) _type_ 22)
|
||||
(entity-method-23 (_type_) _type_ 23)
|
||||
(kill! (_type_) _type_ 23)
|
||||
(entity-method-24 () none 24)
|
||||
(entity-method-25 () none 25)
|
||||
(entity-method-26 () none 26)
|
||||
@ -178,7 +179,7 @@
|
||||
(next-actor (_type_) entity-actor 27)
|
||||
(prev-actor (_type_) entity-actor 28)
|
||||
(entity-actor-method-29 () none 29)
|
||||
(entity-actor-method-30 () none 30)
|
||||
(entity-actor-method-30 (_type_ entity-perm-status symbol) none 30)
|
||||
(entity-actor-method-31 (_type_ vector vector vector object float) nav-mesh 31)
|
||||
(entity-actor-method-32 (_type_ vector vector nav-poly float) nav-poly 32)
|
||||
)
|
||||
|
@ -212,7 +212,7 @@
|
||||
(want-display-level (_type_ symbol symbol) int 13)
|
||||
(want-vis-level (_type_ symbol) none 14)
|
||||
(want-force-vis (_type_ symbol symbol) int 15)
|
||||
(execute-command (_type_ pair) none 16)
|
||||
(execute-command (_type_ pair object) none 16)
|
||||
(execute-commands-up-to (_type_ float) none 17)
|
||||
(backup-load-state-and-set-cmds (_type_ pair) int 18)
|
||||
(restore-load-state-and-cleanup (_type_) int 19)
|
||||
@ -364,7 +364,7 @@
|
||||
(game-info-method-18 () none 18)
|
||||
(get-current-continue-point (_type_) continue-point 19)
|
||||
(get-continue-by-name (_type_ string) continue-point 20)
|
||||
(set-continue! (_type_ basic) continue-point 21)
|
||||
(set-continue! (_type_ basic symbol) continue-point 21)
|
||||
(game-info-method-22 () none 22)
|
||||
(game-info-method-23 () none 23)
|
||||
(game-info-method-24 () none 24)
|
||||
|
@ -275,7 +275,7 @@
|
||||
(:methods
|
||||
(new (symbol type int) _type_ 0)
|
||||
(add-setting (_type_ process symbol object object object) none 9)
|
||||
(persist-with-delay (_type_ process time-frame object object float object) none 10)
|
||||
(persist-with-delay (_type_ symbol time-frame symbol symbol float int) none 10)
|
||||
(set-setting (_type_ process symbol object object object) none 11)
|
||||
(remove-setting (_type_ process symbol) none 12)
|
||||
(kill-persister (_type_ engine-pers object) none 13)
|
||||
|
@ -547,6 +547,7 @@
|
||||
obj
|
||||
)
|
||||
|
||||
;; WARN: Return type mismatch cam-setting-data vs none.
|
||||
(defmethod cam-setting-data-method-10 cam-setting-data ((obj cam-setting-data) (arg0 object) (arg1 (pointer process)) (arg2 float) (arg3 int))
|
||||
(case arg0
|
||||
(('fov)
|
||||
@ -805,12 +806,15 @@
|
||||
(none)
|
||||
)
|
||||
|
||||
;; WARN: Return type mismatch int vs none.
|
||||
(defmethod add-setting setting-control ((obj setting-control) (arg0 process) (arg1 symbol) (arg2 object) (arg3 object) (arg4 object))
|
||||
"Originally called `setting-set` see (anon-function 48 script)"
|
||||
(add-connection (-> obj engine) arg0 arg1 arg2 arg3 arg4)
|
||||
0
|
||||
(none)
|
||||
)
|
||||
|
||||
;; WARN: Return type mismatch int vs none.
|
||||
(defmethod set-setting setting-control ((obj setting-control) (arg0 process) (arg1 symbol) (arg2 object) (arg3 object) (arg4 object))
|
||||
(remove-setting obj arg0 arg1)
|
||||
(add-connection (-> obj engine) arg0 arg1 arg2 arg3 arg4)
|
||||
@ -818,14 +822,9 @@
|
||||
(none)
|
||||
)
|
||||
|
||||
(defmethod persist-with-delay setting-control ((obj setting-control)
|
||||
(arg0 process)
|
||||
(arg1 time-frame)
|
||||
(arg2 object)
|
||||
(arg3 object)
|
||||
(arg4 float)
|
||||
(arg5 object)
|
||||
)
|
||||
;; WARN: Return type mismatch int vs none.
|
||||
(defmethod persist-with-delay setting-control ((obj setting-control) (arg0 symbol) (arg1 time-frame) (arg2 symbol) (arg3 symbol) (arg4 float) (arg5 int))
|
||||
"Originally called `setting-pers` see (anon-function 46 script)"
|
||||
(let ((v1-1 (schedule-callback (-> obj engine-pers) arg0 arg1)))
|
||||
(when v1-1
|
||||
(set! (-> v1-1 param 0) arg2)
|
||||
@ -838,6 +837,7 @@
|
||||
(none)
|
||||
)
|
||||
|
||||
;; WARN: Return type mismatch int vs none.
|
||||
(defmethod remove-setting setting-control ((obj setting-control) (arg0 process) (arg1 symbol))
|
||||
(when arg0
|
||||
(let ((s5-0 (-> obj engine))
|
||||
@ -857,6 +857,7 @@
|
||||
(none)
|
||||
)
|
||||
|
||||
;; WARN: Return type mismatch int vs none.
|
||||
(defmethod kill-persister setting-control ((obj setting-control) (arg0 engine-pers) (arg1 object))
|
||||
"Calls [[engine-pers::kill-matching]]"
|
||||
(kill-matching
|
||||
@ -888,6 +889,7 @@
|
||||
(the-as connectable #f)
|
||||
)
|
||||
|
||||
;; WARN: Return type mismatch int vs none.
|
||||
(defmethod remove-setting-by-arg0 setting-control ((obj setting-control) (arg0 object))
|
||||
"Calls [[engine::remove-by-param0]] on `engine-hi`"
|
||||
(remove-by-param0 (-> obj engine-hi) arg0)
|
||||
|
@ -9,6 +9,7 @@
|
||||
(defenum game-task
|
||||
:type uint8
|
||||
:bitfield #f
|
||||
(unknown -1)
|
||||
(none 0)
|
||||
(complete 1)
|
||||
(dummy0 2)
|
||||
|
@ -408,66 +408,64 @@
|
||||
0
|
||||
)
|
||||
|
||||
(defun sound-play-by-name ((arg0 sound-name) (arg1 sound-id) (arg2 int) (arg3 int) (arg4 int) (arg5 sound-group) (arg6 symbol))
|
||||
(defbehavior sound-play-by-name process-drawable ((arg0 sound-name) (arg1 sound-id) (arg2 int) (arg3 int) (arg4 int) (arg5 sound-group) (arg6 object))
|
||||
(local-vars (sv-16 sound-group))
|
||||
(with-pp
|
||||
(set! sv-16 arg5)
|
||||
(let ((s4-0 (the-as object arg6)))
|
||||
(when *sound-player-enable*
|
||||
(let ((s5-0 (the-as sound-rpc-play (get-sound-buffer-entry))))
|
||||
(set! (-> s5-0 command) (sound-command play))
|
||||
(set! (-> s5-0 id) arg1)
|
||||
(set! (-> s5-0 name) arg0)
|
||||
(set! (-> s5-0 params mask) (the-as uint 0))
|
||||
(set! (-> s5-0 params group) (the-as uint sv-16))
|
||||
(set! (-> s5-0 params volume) arg2)
|
||||
(set! (-> s5-0 params pitch-mod) arg3)
|
||||
(set! (-> s5-0 params bend) arg4)
|
||||
(let ((s3-1 (the-as process-drawable pp)))
|
||||
(when (= (the-as symbol s4-0) #t)
|
||||
(if (and s3-1 (type? s3-1 process-drawable) (nonzero? (-> s3-1 root)))
|
||||
(set! s4-0 (-> s3-1 root trans))
|
||||
(set! s4-0 #f)
|
||||
)
|
||||
)
|
||||
)
|
||||
(sound-trans-convert (the-as vector3w (-> s5-0 params trans)) (the-as vector s4-0))
|
||||
)
|
||||
)
|
||||
)
|
||||
arg1
|
||||
)
|
||||
)
|
||||
|
||||
(defun sound-play-by-spec ((arg0 sound-spec) (arg1 sound-id) (arg2 vector))
|
||||
(with-pp
|
||||
"Last arg can by a symbol with value [[#t]], in which case it will pull `trans` [[vector]] off the current [[process-drawable]]
|
||||
otherwise, an explicit [[vector]] can be provided"
|
||||
(set! sv-16 arg5)
|
||||
(let ((s4-0 arg6))
|
||||
(when *sound-player-enable*
|
||||
(let ((s5-0 (the-as sound-rpc-play (get-sound-buffer-entry))))
|
||||
(set! (-> s5-0 command) (sound-command play))
|
||||
(set! (-> s5-0 id) arg1)
|
||||
(set! (-> s5-0 name) (-> arg0 sound-name))
|
||||
(set! (-> s5-0 params mask) (the-as uint (-> arg0 mask)))
|
||||
(set! (-> s5-0 params group-and-regs) (-> arg0 group-and-regs))
|
||||
(set! (-> s5-0 params volume) (-> arg0 volume))
|
||||
(set! (-> s5-0 params pitch-mod) (-> arg0 pitch-mod))
|
||||
(set! (-> s5-0 params bend) (-> arg0 bend))
|
||||
(set! (-> s5-0 params fo-min) (-> arg0 fo-min))
|
||||
(set! (-> s5-0 params fo-max) (-> arg0 fo-max))
|
||||
(set! (-> s5-0 params fo-curve) (-> arg0 fo-curve))
|
||||
(set! (-> s5-0 params priority) (-> arg0 priority))
|
||||
(let ((s3-1 (the-as process-drawable pp)))
|
||||
(when (= arg2 #t)
|
||||
(set! (-> s5-0 name) arg0)
|
||||
(set! (-> s5-0 params mask) (the-as uint 0))
|
||||
(set! (-> s5-0 params group) (the-as uint sv-16))
|
||||
(set! (-> s5-0 params volume) arg2)
|
||||
(set! (-> s5-0 params pitch-mod) arg3)
|
||||
(set! (-> s5-0 params bend) arg4)
|
||||
(let ((s3-1 self))
|
||||
(when (= s4-0 #t)
|
||||
(if (and s3-1 (type? s3-1 process-drawable) (nonzero? (-> s3-1 root)))
|
||||
(set! arg2 (-> s3-1 root trans))
|
||||
(set! arg2 (the-as vector #f))
|
||||
(set! s4-0 (-> s3-1 root trans))
|
||||
(set! s4-0 #f)
|
||||
)
|
||||
)
|
||||
)
|
||||
(sound-trans-convert (the-as vector3w (-> s5-0 params trans)) arg2)
|
||||
(sound-trans-convert (the-as vector3w (-> s5-0 params trans)) (the-as vector s4-0))
|
||||
)
|
||||
)
|
||||
arg1
|
||||
)
|
||||
arg1
|
||||
)
|
||||
|
||||
(defbehavior sound-play-by-spec process-drawable ((arg0 sound-spec) (arg1 sound-id) (arg2 vector))
|
||||
(when *sound-player-enable*
|
||||
(let ((s5-0 (the-as sound-rpc-play (get-sound-buffer-entry))))
|
||||
(set! (-> s5-0 command) (sound-command play))
|
||||
(set! (-> s5-0 id) arg1)
|
||||
(set! (-> s5-0 name) (-> arg0 sound-name))
|
||||
(set! (-> s5-0 params mask) (the-as uint (-> arg0 mask)))
|
||||
(set! (-> s5-0 params group-and-regs) (-> arg0 group-and-regs))
|
||||
(set! (-> s5-0 params volume) (-> arg0 volume))
|
||||
(set! (-> s5-0 params pitch-mod) (-> arg0 pitch-mod))
|
||||
(set! (-> s5-0 params bend) (-> arg0 bend))
|
||||
(set! (-> s5-0 params fo-min) (-> arg0 fo-min))
|
||||
(set! (-> s5-0 params fo-max) (-> arg0 fo-max))
|
||||
(set! (-> s5-0 params fo-curve) (-> arg0 fo-curve))
|
||||
(set! (-> s5-0 params priority) (-> arg0 priority))
|
||||
(let ((s3-1 self))
|
||||
(when (= arg2 #t)
|
||||
(if (and s3-1 (type? s3-1 process-drawable) (nonzero? (-> s3-1 root)))
|
||||
(set! arg2 (-> s3-1 root trans))
|
||||
(set! arg2 (the-as vector #f))
|
||||
)
|
||||
)
|
||||
)
|
||||
(sound-trans-convert (the-as vector3w (-> s5-0 params trans)) arg2)
|
||||
)
|
||||
)
|
||||
arg1
|
||||
)
|
||||
|
||||
(defun sound-pause ((arg0 sound-id))
|
||||
|
@ -3244,12 +3244,7 @@
|
||||
(if (not arg0)
|
||||
(set! arg0 (get-current-continue-point *game-info*))
|
||||
)
|
||||
(let* ((a0-6 *game-info*)
|
||||
(t9-4 (method-of-object a0-6 set-continue!))
|
||||
(a1-3 arg0)
|
||||
)
|
||||
(t9-4 a0-6 a1-3)
|
||||
)
|
||||
(set-continue! *game-info* arg0 #f)
|
||||
(stack-size-set! (-> obj main-thread) 1024)
|
||||
(logior! (-> obj mask) (process-mask target))
|
||||
(set! (-> obj state-hook) (the-as (function none :behavior target) nothing))
|
||||
|
@ -19,10 +19,11 @@
|
||||
;; DECOMP BEGINS
|
||||
|
||||
(deftype script-form (structure)
|
||||
((name string :offset-assert 0)
|
||||
(spec basic :offset-assert 4)
|
||||
(func basic :offset-assert 8)
|
||||
((name symbol :offset-assert 0)
|
||||
(spec pair :offset-assert 4)
|
||||
(func (function script-context object) :offset-assert 8)
|
||||
)
|
||||
:pack-me
|
||||
:method-count-assert 10
|
||||
:size-assert #xc
|
||||
:flag-assert #xa0000000c
|
||||
@ -39,7 +40,7 @@
|
||||
(trans vector :offset-assert 12)
|
||||
(side-effect? symbol :offset-assert 16)
|
||||
(got-error? symbol :offset-assert 20)
|
||||
(expr basic :offset-assert 24)
|
||||
(expr pair :offset-assert 24)
|
||||
(param-count int32 :offset-assert 28)
|
||||
(param object 16 :offset-assert 32)
|
||||
(param-type object 16 :offset-assert 96)
|
||||
@ -49,9 +50,9 @@
|
||||
:flag-assert #xc000000a0
|
||||
(:methods
|
||||
(new (symbol type basic process vector) _type_ 0)
|
||||
(eval! (_type_ structure) pair 9)
|
||||
(script-context-method-10 () none 10)
|
||||
(script-context-method-11 () none 11)
|
||||
(eval! (_type_ object) object 9)
|
||||
(script-context-method-10 (_type_ object pair) object 10)
|
||||
(script-context-method-11 (_type_ pair pair symbol) symbol 11)
|
||||
)
|
||||
)
|
||||
|
||||
|
@ -7,3 +7,40 @@
|
||||
|
||||
;; DECOMP BEGINS
|
||||
|
||||
(defun command-get-int ((arg0 object) (arg1 int))
|
||||
(cond
|
||||
((null? arg0)
|
||||
(empty)
|
||||
arg1
|
||||
)
|
||||
((type? arg0 binteger)
|
||||
(the-as int (/ (the-as int arg0) 8))
|
||||
)
|
||||
((type? arg0 bfloat)
|
||||
(the int (-> (the-as bfloat arg0) data))
|
||||
)
|
||||
(else
|
||||
(empty)
|
||||
arg1
|
||||
)
|
||||
)
|
||||
)
|
||||
|
||||
(defun command-get-float ((arg0 object) (arg1 float))
|
||||
(cond
|
||||
((null? arg0)
|
||||
(empty)
|
||||
arg1
|
||||
)
|
||||
((type? arg0 binteger)
|
||||
(the float (/ (the-as int arg0) 8))
|
||||
)
|
||||
((type? arg0 bfloat)
|
||||
(-> (the-as bfloat arg0) data)
|
||||
)
|
||||
(else
|
||||
(empty)
|
||||
arg1
|
||||
)
|
||||
)
|
||||
)
|
||||
|
@ -186,7 +186,9 @@
|
||||
(set! (-> obj were-behind?) #t)
|
||||
)
|
||||
(and (< (-> obj latch-closed-time) (-> self clock frame-counter))
|
||||
(or (not (and *target* (logtest? (focus-status pilot teleporting) (-> *target* focus-status)))) (< f30-0 -409.6))
|
||||
(or (not (and *target* (logtest? (focus-status pilot teleporting) (-> *target* focus-status))))
|
||||
(< f30-0 -409.6)
|
||||
)
|
||||
(or (and (< f30-0 (-> obj open-distance))
|
||||
(or (not (-> obj were-behind?)) (< f30-0 20480.0))
|
||||
(and (or (< 409.6 f30-0)
|
||||
@ -200,7 +202,7 @@
|
||||
)
|
||||
(and (eval!
|
||||
(new 'stack 'script-context (the-as basic (process->ppointer self)) self (the-as vector #f))
|
||||
(the-as structure (-> obj open-test))
|
||||
(-> obj open-test)
|
||||
)
|
||||
(-> *setting-control* user-current airlock)
|
||||
)
|
||||
@ -241,19 +243,22 @@
|
||||
)
|
||||
)
|
||||
(arg0
|
||||
(let* ((s3-0 gp-1) (s2-0 (car s3-0))) (while (not (null? s3-0))
|
||||
(let ((v1-4 (level-status *level* (the-as symbol s2-0))))
|
||||
(if (not (or (= v1-4 'loaded) (= v1-4 'active)))
|
||||
(return #f)
|
||||
)
|
||||
)
|
||||
(if (= s2-0 'ctywide)
|
||||
(set! s4-0 (-> ctywide borrow-level 1))
|
||||
)
|
||||
(set! s3-0 (cdr s3-0))
|
||||
(set! s2-0 (car s3-0))
|
||||
)
|
||||
(let* ((s3-0 gp-1)
|
||||
(s2-0 (car s3-0))
|
||||
)
|
||||
(while (not (null? s3-0))
|
||||
(let ((v1-4 (level-status *level* (the-as symbol s2-0))))
|
||||
(if (not (or (= v1-4 'loaded) (= v1-4 'active)))
|
||||
(return #f)
|
||||
)
|
||||
)
|
||||
(if (= s2-0 'ctywide)
|
||||
(set! s4-0 (-> ctywide borrow-level 1))
|
||||
)
|
||||
(set! s3-0 (cdr s3-0))
|
||||
(set! s2-0 (car (the-as pair s3-0)))
|
||||
)
|
||||
)
|
||||
(when s4-0
|
||||
(let ((v1-17 (level-status *level* s4-0)))
|
||||
(if (not (or (= v1-17 'loaded) (= v1-17 'active)))
|
||||
@ -272,25 +277,28 @@
|
||||
)
|
||||
)
|
||||
(set! gp-1 (cdr gp-1))
|
||||
(set! a1-7 (car gp-1))
|
||||
(set! a1-7 (car (the-as pair gp-1)))
|
||||
)
|
||||
)
|
||||
#t
|
||||
)
|
||||
(else
|
||||
(let* ((v1-33 gp-1) (a0-11 (car v1-33))) (while (not (null? v1-33))
|
||||
(dotimes (a1-10 6)
|
||||
(if (= a0-11 (-> *load-state* want a1-10 name))
|
||||
(goto cfg-50)
|
||||
)
|
||||
)
|
||||
#t
|
||||
(return #f)
|
||||
(label cfg-50)
|
||||
(set! v1-33 (cdr v1-33))
|
||||
(set! a0-11 (car v1-33))
|
||||
)
|
||||
(let* ((v1-33 gp-1)
|
||||
(a0-11 (car v1-33))
|
||||
)
|
||||
(while (not (null? v1-33))
|
||||
(dotimes (a1-10 6)
|
||||
(if (= a0-11 (-> *load-state* want a1-10 name))
|
||||
(goto cfg-50)
|
||||
)
|
||||
)
|
||||
#t
|
||||
(return #f)
|
||||
(label cfg-50)
|
||||
(set! v1-33 (cdr v1-33))
|
||||
(set! a0-11 (car (the-as pair v1-33)))
|
||||
)
|
||||
)
|
||||
#t
|
||||
)
|
||||
)
|
||||
@ -550,12 +558,15 @@
|
||||
(eval! (new 'stack 'script-context (the-as basic (process->ppointer self)) self (the-as vector #f)) gp-0)
|
||||
)
|
||||
)
|
||||
(when (-> self were-behind?)
|
||||
(let ((gp-1 (res-lump-struct (-> self entity) 'on-inside structure)))
|
||||
(set! (-> self were-behind?) #f)
|
||||
(if (and gp-1 (not *scene-player*))
|
||||
(eval! (new 'stack 'script-context (the-as basic (process->ppointer self)) self (the-as vector #f)) gp-1)
|
||||
)
|
||||
(the-as
|
||||
pair
|
||||
(when (-> self were-behind?)
|
||||
(let ((gp-1 (res-lump-struct (-> self entity) 'on-inside structure)))
|
||||
(set! (-> self were-behind?) #f)
|
||||
(if (and gp-1 (not *scene-player*))
|
||||
(eval! (new 'stack 'script-context (the-as basic (process->ppointer self)) self (the-as vector #f)) gp-1)
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
|
@ -1081,7 +1081,7 @@ StaticResult Compiler::fill_static_inline_array(const goos::Object& form,
|
||||
|
||||
Val* Compiler::compile_static_pair(const goos::Object& form, Env* env, int seg) {
|
||||
ASSERT(form.is_pair()); // (quote PAIR)
|
||||
auto result = compile_static_no_eval_for_pairs(form, env, seg, true);
|
||||
auto result = compile_static_no_eval_for_pairs(form, env, seg, false);
|
||||
ASSERT(result.is_reference());
|
||||
auto fe = env->function_env();
|
||||
auto static_result = fe->alloc_val<StaticVal>(result.reference(), result.typespec());
|
||||
|
6
test/decompiler/reference/jak2/engine/ambient/ambient-h_REF.gc
generated
vendored
6
test/decompiler/reference/jak2/engine/ambient/ambient-h_REF.gc
generated
vendored
@ -20,10 +20,10 @@
|
||||
:flag-assert #xe00000018
|
||||
(:methods
|
||||
(talker-speech-class-method-9 () none 9)
|
||||
(talker-speech-class-method-10 () none 10)
|
||||
(talker-speech-class-method-10 (_type_) none 10)
|
||||
(talker-speech-class-method-11 () none 11)
|
||||
(talker-speech-class-method-12 () none 12)
|
||||
(talker-speech-class-method-13 () none 13)
|
||||
(talker-speech-class-method-12 (_type_ int) none 12)
|
||||
(talker-speech-class-method-13 (_type_ int) none 13)
|
||||
)
|
||||
)
|
||||
|
||||
|
2
test/decompiler/reference/jak2/engine/debug/editable-player_REF.gc
generated
vendored
2
test/decompiler/reference/jak2/engine/debug/editable-player_REF.gc
generated
vendored
@ -2005,7 +2005,7 @@
|
||||
(when s4-0
|
||||
(let ((gp-1 (-> arg3 param 0)))
|
||||
(set! (-> *syntax-context* got-error?) #f)
|
||||
(eval! *syntax-context* (the-as structure gp-1))
|
||||
(eval! *syntax-context* gp-1)
|
||||
(when (not (-> *syntax-context* got-error?))
|
||||
(set! (-> s4-0 changed) #t)
|
||||
(cond
|
||||
|
19
test/decompiler/reference/jak2/engine/debug/menu_REF.gc
generated
vendored
19
test/decompiler/reference/jak2/engine/debug/menu_REF.gc
generated
vendored
@ -684,7 +684,24 @@
|
||||
)
|
||||
|
||||
;; definition for function debug-menu-func-decode
|
||||
;; ERROR: function was not converted to expressions. Cannot decompile.
|
||||
;; WARN: Return type mismatch object vs function.
|
||||
;; WARN: Using new Jak 2 rtype-of
|
||||
(defun debug-menu-func-decode ((arg0 object))
|
||||
(let ((v1-2 (rtype-of arg0)))
|
||||
(the-as function (cond
|
||||
((or (= v1-2 symbol) (= v1-2 type))
|
||||
(-> (the-as symbol arg0) value)
|
||||
)
|
||||
((= v1-2 function)
|
||||
arg0
|
||||
)
|
||||
(else
|
||||
nothing
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
|
||||
;; definition for function debug-menu-make-from-template
|
||||
;; INFO: Used lq/sq
|
||||
|
4
test/decompiler/reference/jak2/engine/entity/entity-h_REF.gc
generated
vendored
4
test/decompiler/reference/jak2/engine/entity/entity-h_REF.gc
generated
vendored
@ -231,7 +231,7 @@
|
||||
:flag-assert #x1b00000034
|
||||
(:methods
|
||||
(entity-method-22 (_type_) _type_ 22)
|
||||
(entity-method-23 (_type_) _type_ 23)
|
||||
(kill! (_type_) _type_ 23)
|
||||
(entity-method-24 () none 24)
|
||||
(entity-method-25 () none 25)
|
||||
(entity-method-26 () none 26)
|
||||
@ -288,7 +288,7 @@
|
||||
(next-actor (_type_) entity-actor 27)
|
||||
(prev-actor (_type_) entity-actor 28)
|
||||
(entity-actor-method-29 () none 29)
|
||||
(entity-actor-method-30 () none 30)
|
||||
(entity-actor-method-30 (_type_ entity-perm-status symbol) none 30)
|
||||
(entity-actor-method-31 (_type_ vector vector vector object float) nav-mesh 31)
|
||||
(entity-actor-method-32 (_type_ vector vector nav-poly float) nav-poly 32)
|
||||
)
|
||||
|
4
test/decompiler/reference/jak2/engine/game/game-info-h_REF.gc
generated
vendored
4
test/decompiler/reference/jak2/engine/game/game-info-h_REF.gc
generated
vendored
@ -131,7 +131,7 @@
|
||||
(want-display-level (_type_ symbol symbol) int 13)
|
||||
(want-vis-level (_type_ symbol) none 14)
|
||||
(want-force-vis (_type_ symbol symbol) int 15)
|
||||
(execute-command (_type_ pair) none 16)
|
||||
(execute-command (_type_ pair object) none 16)
|
||||
(execute-commands-up-to (_type_ float) none 17)
|
||||
(backup-load-state-and-set-cmds (_type_ pair) int 18)
|
||||
(restore-load-state-and-cleanup (_type_) int 19)
|
||||
@ -335,7 +335,7 @@
|
||||
(game-info-method-18 () none 18)
|
||||
(get-current-continue-point (_type_) continue-point 19)
|
||||
(get-continue-by-name (_type_ string) continue-point 20)
|
||||
(set-continue! (_type_ basic) continue-point 21)
|
||||
(set-continue! (_type_ basic symbol) continue-point 21)
|
||||
(game-info-method-22 () none 22)
|
||||
(game-info-method-23 () none 23)
|
||||
(game-info-method-24 () none 24)
|
||||
|
2
test/decompiler/reference/jak2/engine/game/settings-h_REF.gc
generated
vendored
2
test/decompiler/reference/jak2/engine/game/settings-h_REF.gc
generated
vendored
@ -560,7 +560,7 @@
|
||||
(:methods
|
||||
(new (symbol type int) _type_ 0)
|
||||
(add-setting (_type_ process symbol object object object) none 9)
|
||||
(persist-with-delay (_type_ process time-frame object object float object) none 10)
|
||||
(persist-with-delay (_type_ symbol time-frame symbol symbol float int) none 10)
|
||||
(set-setting (_type_ process symbol object object object) none 11)
|
||||
(remove-setting (_type_ process symbol) none 12)
|
||||
(kill-persister (_type_ engine-pers object) none 13)
|
||||
|
11
test/decompiler/reference/jak2/engine/game/settings_REF.gc
generated
vendored
11
test/decompiler/reference/jak2/engine/game/settings_REF.gc
generated
vendored
@ -806,6 +806,7 @@
|
||||
;; definition for method 9 of type setting-control
|
||||
;; WARN: Return type mismatch int vs none.
|
||||
(defmethod add-setting setting-control ((obj setting-control) (arg0 process) (arg1 symbol) (arg2 object) (arg3 object) (arg4 object))
|
||||
"Originally called `setting-set` see (anon-function 48 script)"
|
||||
(add-connection (-> obj engine) arg0 arg1 arg2 arg3 arg4)
|
||||
0
|
||||
(none)
|
||||
@ -822,14 +823,8 @@
|
||||
|
||||
;; definition for method 10 of type setting-control
|
||||
;; WARN: Return type mismatch int vs none.
|
||||
(defmethod persist-with-delay setting-control ((obj setting-control)
|
||||
(arg0 process)
|
||||
(arg1 time-frame)
|
||||
(arg2 object)
|
||||
(arg3 object)
|
||||
(arg4 float)
|
||||
(arg5 object)
|
||||
)
|
||||
(defmethod persist-with-delay setting-control ((obj setting-control) (arg0 symbol) (arg1 time-frame) (arg2 symbol) (arg3 symbol) (arg4 float) (arg5 int))
|
||||
"Originally called `setting-pers` see (anon-function 46 script)"
|
||||
(let ((v1-1 (schedule-callback (-> obj engine-pers) arg0 arg1)))
|
||||
(when v1-1
|
||||
(set! (-> v1-1 param 0) arg2)
|
||||
|
102
test/decompiler/reference/jak2/engine/sound/gsound_REF.gc
generated
vendored
102
test/decompiler/reference/jak2/engine/sound/gsound_REF.gc
generated
vendored
@ -687,68 +687,66 @@
|
||||
|
||||
;; definition for function sound-play-by-name
|
||||
;; INFO: Used lq/sq
|
||||
(defun sound-play-by-name ((arg0 sound-name) (arg1 sound-id) (arg2 int) (arg3 int) (arg4 int) (arg5 sound-group) (arg6 symbol))
|
||||
(defbehavior sound-play-by-name process-drawable ((arg0 sound-name) (arg1 sound-id) (arg2 int) (arg3 int) (arg4 int) (arg5 sound-group) (arg6 object))
|
||||
"Last arg can by a symbol with value [[#t]], in which case it will pull `trans` [[vector]] off the current [[process-drawable]]
|
||||
otherwise, an explicit [[vector]] can be provided"
|
||||
(local-vars (sv-16 sound-group))
|
||||
(with-pp
|
||||
(set! sv-16 arg5)
|
||||
(let ((s4-0 (the-as object arg6)))
|
||||
(when *sound-player-enable*
|
||||
(let ((s5-0 (the-as sound-rpc-play (get-sound-buffer-entry))))
|
||||
(set! (-> s5-0 command) (sound-command play))
|
||||
(set! (-> s5-0 id) arg1)
|
||||
(set! (-> s5-0 name) arg0)
|
||||
(set! (-> s5-0 params mask) (the-as uint 0))
|
||||
(set! (-> s5-0 params group) (the-as uint sv-16))
|
||||
(set! (-> s5-0 params volume) arg2)
|
||||
(set! (-> s5-0 params pitch-mod) arg3)
|
||||
(set! (-> s5-0 params bend) arg4)
|
||||
(let ((s3-1 (the-as process-drawable pp)))
|
||||
(when (= (the-as symbol s4-0) #t)
|
||||
(if (and s3-1 (type? s3-1 process-drawable) (nonzero? (-> s3-1 root)))
|
||||
(set! s4-0 (-> s3-1 root trans))
|
||||
(set! s4-0 #f)
|
||||
)
|
||||
)
|
||||
)
|
||||
(sound-trans-convert (the-as vector3w (-> s5-0 params trans)) (the-as vector s4-0))
|
||||
)
|
||||
)
|
||||
)
|
||||
arg1
|
||||
)
|
||||
)
|
||||
|
||||
;; definition for function sound-play-by-spec
|
||||
;; INFO: Used lq/sq
|
||||
(defun sound-play-by-spec ((arg0 sound-spec) (arg1 sound-id) (arg2 vector))
|
||||
(with-pp
|
||||
(set! sv-16 arg5)
|
||||
(let ((s4-0 arg6))
|
||||
(when *sound-player-enable*
|
||||
(let ((s5-0 (the-as sound-rpc-play (get-sound-buffer-entry))))
|
||||
(set! (-> s5-0 command) (sound-command play))
|
||||
(set! (-> s5-0 id) arg1)
|
||||
(set! (-> s5-0 name) (-> arg0 sound-name))
|
||||
(set! (-> s5-0 params mask) (the-as uint (-> arg0 mask)))
|
||||
(set! (-> s5-0 params group-and-regs) (-> arg0 group-and-regs))
|
||||
(set! (-> s5-0 params volume) (-> arg0 volume))
|
||||
(set! (-> s5-0 params pitch-mod) (-> arg0 pitch-mod))
|
||||
(set! (-> s5-0 params bend) (-> arg0 bend))
|
||||
(set! (-> s5-0 params fo-min) (-> arg0 fo-min))
|
||||
(set! (-> s5-0 params fo-max) (-> arg0 fo-max))
|
||||
(set! (-> s5-0 params fo-curve) (-> arg0 fo-curve))
|
||||
(set! (-> s5-0 params priority) (-> arg0 priority))
|
||||
(let ((s3-1 (the-as process-drawable pp)))
|
||||
(when (= arg2 #t)
|
||||
(set! (-> s5-0 name) arg0)
|
||||
(set! (-> s5-0 params mask) (the-as uint 0))
|
||||
(set! (-> s5-0 params group) (the-as uint sv-16))
|
||||
(set! (-> s5-0 params volume) arg2)
|
||||
(set! (-> s5-0 params pitch-mod) arg3)
|
||||
(set! (-> s5-0 params bend) arg4)
|
||||
(let ((s3-1 self))
|
||||
(when (= s4-0 #t)
|
||||
(if (and s3-1 (type? s3-1 process-drawable) (nonzero? (-> s3-1 root)))
|
||||
(set! arg2 (-> s3-1 root trans))
|
||||
(set! arg2 (the-as vector #f))
|
||||
(set! s4-0 (-> s3-1 root trans))
|
||||
(set! s4-0 #f)
|
||||
)
|
||||
)
|
||||
)
|
||||
(sound-trans-convert (the-as vector3w (-> s5-0 params trans)) arg2)
|
||||
(sound-trans-convert (the-as vector3w (-> s5-0 params trans)) (the-as vector s4-0))
|
||||
)
|
||||
)
|
||||
arg1
|
||||
)
|
||||
arg1
|
||||
)
|
||||
|
||||
;; definition for function sound-play-by-spec
|
||||
;; INFO: Used lq/sq
|
||||
(defbehavior sound-play-by-spec process-drawable ((arg0 sound-spec) (arg1 sound-id) (arg2 vector))
|
||||
(when *sound-player-enable*
|
||||
(let ((s5-0 (the-as sound-rpc-play (get-sound-buffer-entry))))
|
||||
(set! (-> s5-0 command) (sound-command play))
|
||||
(set! (-> s5-0 id) arg1)
|
||||
(set! (-> s5-0 name) (-> arg0 sound-name))
|
||||
(set! (-> s5-0 params mask) (the-as uint (-> arg0 mask)))
|
||||
(set! (-> s5-0 params group-and-regs) (-> arg0 group-and-regs))
|
||||
(set! (-> s5-0 params volume) (-> arg0 volume))
|
||||
(set! (-> s5-0 params pitch-mod) (-> arg0 pitch-mod))
|
||||
(set! (-> s5-0 params bend) (-> arg0 bend))
|
||||
(set! (-> s5-0 params fo-min) (-> arg0 fo-min))
|
||||
(set! (-> s5-0 params fo-max) (-> arg0 fo-max))
|
||||
(set! (-> s5-0 params fo-curve) (-> arg0 fo-curve))
|
||||
(set! (-> s5-0 params priority) (-> arg0 priority))
|
||||
(let ((s3-1 self))
|
||||
(when (= arg2 #t)
|
||||
(if (and s3-1 (type? s3-1 process-drawable) (nonzero? (-> s3-1 root)))
|
||||
(set! arg2 (-> s3-1 root trans))
|
||||
(set! arg2 (the-as vector #f))
|
||||
)
|
||||
)
|
||||
)
|
||||
(sound-trans-convert (the-as vector3w (-> s5-0 params trans)) arg2)
|
||||
)
|
||||
)
|
||||
arg1
|
||||
)
|
||||
|
||||
;; definition for function sound-pause
|
||||
@ -1023,7 +1021,7 @@
|
||||
(-> obj pitch)
|
||||
0
|
||||
(sound-group sfx)
|
||||
(the-as symbol (-> obj trans))
|
||||
(-> obj trans)
|
||||
)
|
||||
)
|
||||
)
|
||||
@ -1037,7 +1035,7 @@
|
||||
(-> obj pitch)
|
||||
0
|
||||
(sound-group sfx)
|
||||
(the-as symbol (-> obj trans))
|
||||
(-> obj trans)
|
||||
)
|
||||
)
|
||||
(set! (-> obj play-time)
|
||||
|
7
test/decompiler/reference/jak2/engine/target/logic-target_REF.gc
generated
vendored
7
test/decompiler/reference/jak2/engine/target/logic-target_REF.gc
generated
vendored
@ -3293,12 +3293,7 @@
|
||||
(if (not arg0)
|
||||
(set! arg0 (get-current-continue-point *game-info*))
|
||||
)
|
||||
(let* ((a0-6 *game-info*)
|
||||
(t9-4 (method-of-object a0-6 set-continue!))
|
||||
(a1-3 arg0)
|
||||
)
|
||||
(t9-4 a0-6 a1-3)
|
||||
)
|
||||
(set-continue! *game-info* arg0 #f)
|
||||
(stack-size-set! (-> obj main-thread) 1024)
|
||||
(logior! (-> obj mask) (process-mask target))
|
||||
(set! (-> obj state-hook) (the-as (function none :behavior target) nothing))
|
||||
|
15
test/decompiler/reference/jak2/engine/util/script-h_REF.gc
generated
vendored
15
test/decompiler/reference/jak2/engine/util/script-h_REF.gc
generated
vendored
@ -3,10 +3,11 @@
|
||||
|
||||
;; definition of type script-form
|
||||
(deftype script-form (structure)
|
||||
((name string :offset-assert 0)
|
||||
(spec basic :offset-assert 4)
|
||||
(func basic :offset-assert 8)
|
||||
((name symbol :offset-assert 0)
|
||||
(spec pair :offset-assert 4)
|
||||
(func (function script-context object) :offset-assert 8)
|
||||
)
|
||||
:pack-me
|
||||
:method-count-assert 10
|
||||
:size-assert #xc
|
||||
:flag-assert #xa0000000c
|
||||
@ -37,7 +38,7 @@
|
||||
(trans vector :offset-assert 12)
|
||||
(side-effect? symbol :offset-assert 16)
|
||||
(got-error? symbol :offset-assert 20)
|
||||
(expr basic :offset-assert 24)
|
||||
(expr pair :offset-assert 24)
|
||||
(param-count int32 :offset-assert 28)
|
||||
(param object 16 :offset-assert 32)
|
||||
(param-type object 16 :offset-assert 96)
|
||||
@ -47,9 +48,9 @@
|
||||
:flag-assert #xc000000a0
|
||||
(:methods
|
||||
(new (symbol type basic process vector) _type_ 0)
|
||||
(eval! (_type_ structure) pair 9)
|
||||
(script-context-method-10 () none 10)
|
||||
(script-context-method-11 () none 11)
|
||||
(eval! (_type_ object) object 9)
|
||||
(script-context-method-10 (_type_ object pair) object 10)
|
||||
(script-context-method-11 (_type_ pair pair symbol) symbol 11)
|
||||
)
|
||||
)
|
||||
|
||||
|
23
test/decompiler/reference/jak2/levels/common/airlock_REF.gc
generated
vendored
23
test/decompiler/reference/jak2/levels/common/airlock_REF.gc
generated
vendored
@ -251,7 +251,7 @@
|
||||
)
|
||||
(and (eval!
|
||||
(new 'stack 'script-context (the-as basic (process->ppointer self)) self (the-as vector #f))
|
||||
(the-as structure (-> obj open-test))
|
||||
(-> obj open-test)
|
||||
)
|
||||
(-> *setting-control* user-current airlock)
|
||||
)
|
||||
@ -306,7 +306,7 @@
|
||||
(set! s4-0 (-> ctywide borrow-level 1))
|
||||
)
|
||||
(set! s3-0 (cdr s3-0))
|
||||
(set! s2-0 (car s3-0))
|
||||
(set! s2-0 (car (the-as pair s3-0)))
|
||||
)
|
||||
)
|
||||
(when s4-0
|
||||
@ -327,7 +327,7 @@
|
||||
)
|
||||
)
|
||||
(set! gp-1 (cdr gp-1))
|
||||
(set! a1-7 (car gp-1))
|
||||
(set! a1-7 (car (the-as pair gp-1)))
|
||||
)
|
||||
)
|
||||
#t
|
||||
@ -346,7 +346,7 @@
|
||||
(return #f)
|
||||
(label cfg-50)
|
||||
(set! v1-33 (cdr v1-33))
|
||||
(set! a0-11 (car v1-33))
|
||||
(set! a0-11 (car (the-as pair v1-33)))
|
||||
)
|
||||
)
|
||||
#t
|
||||
@ -613,12 +613,15 @@
|
||||
(eval! (new 'stack 'script-context (the-as basic (process->ppointer self)) self (the-as vector #f)) gp-0)
|
||||
)
|
||||
)
|
||||
(when (-> self were-behind?)
|
||||
(let ((gp-1 (res-lump-struct (-> self entity) 'on-inside structure)))
|
||||
(set! (-> self were-behind?) #f)
|
||||
(if (and gp-1 (not *scene-player*))
|
||||
(eval! (new 'stack 'script-context (the-as basic (process->ppointer self)) self (the-as vector #f)) gp-1)
|
||||
)
|
||||
(the-as
|
||||
pair
|
||||
(when (-> self were-behind?)
|
||||
(let ((gp-1 (res-lump-struct (-> self entity) 'on-inside structure)))
|
||||
(set! (-> self were-behind?) #f)
|
||||
(if (and gp-1 (not *scene-player*))
|
||||
(eval! (new 'stack 'script-context (the-as basic (process->ppointer self)) self (the-as vector #f)) gp-1)
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
|
Loading…
Reference in New Issue
Block a user