mirror of
https://github.com/open-goal/jak-project
synced 2026-09-09 20:21:28 -04:00
d/jak2: finish progress menu code and initialize the camera (#1945)
This PR does a few main things: - finish decompiling the progress related code - implemented changes necessary to load the text files end-to-end - japanese/korean character encodings were not added - finish more camera code, which is required to spawn the progress menu / init the default language settings needed for text - initialized the camera as well Still havn't opened the menu as there are a lot of checks around `*target*` which I havn't yet gone through and attempted to comment out.
This commit is contained in:
+1119
File diff suppressed because it is too large
Load Diff
+906
-2482
File diff suppressed because it is too large
Load Diff
+2
-2
@@ -114,7 +114,7 @@
|
||||
(tracking-spline-method-19 (_type_ float vector tracking-spline-sampler) vector 19)
|
||||
(tracking-spline-method-20 (_type_ vector int) none 20)
|
||||
(tracking-spline-method-21 (_type_ vector float float float) vector 21)
|
||||
(tracking-spline-method-22 (_type_ float) none 22)
|
||||
(tracking-spline-method-22 (_type_ float) symbol 22)
|
||||
(debug-draw-spline (_type_) none 23)
|
||||
)
|
||||
)
|
||||
@@ -628,7 +628,7 @@
|
||||
(:methods
|
||||
(camera-master-method-14 (_type_ vector) vector 14)
|
||||
(camera-master-method-15 (_type_ vector) vector 15)
|
||||
(camera-master-method-16 (_type_ symbol) none 16)
|
||||
(camera-master-method-16 (_type_ symbol) int 16)
|
||||
)
|
||||
)
|
||||
|
||||
|
||||
+2
-3
@@ -892,7 +892,7 @@
|
||||
)
|
||||
|
||||
;; definition for method 22 of type tracking-spline
|
||||
;; WARN: Return type mismatch int vs none.
|
||||
;; WARN: Return type mismatch int vs symbol.
|
||||
(defmethod tracking-spline-method-22 tracking-spline ((obj tracking-spline) (arg0 float))
|
||||
(when (< arg0 (-> obj summed-len))
|
||||
(let ((s5-0 (new 'stack-no-clear 'tracking-spline-sampler)))
|
||||
@@ -904,8 +904,7 @@
|
||||
(tracking-spline-method-14 obj s5-0)
|
||||
)
|
||||
)
|
||||
0
|
||||
(none)
|
||||
(the-as symbol 0)
|
||||
)
|
||||
|
||||
;; definition for method 9 of type tracking-spline
|
||||
|
||||
+1
-1
@@ -611,7 +611,7 @@
|
||||
(get-skeleton-origin (_type_) vector 9)
|
||||
(draw-control-method-10 () none 10)
|
||||
(draw-control-method-11 () none 11)
|
||||
(draw-control-method-12 (_type_ int int) none 12)
|
||||
(draw-control-method-12 (_type_ uint int) none 12)
|
||||
(draw-control-method-13 () none 13)
|
||||
(draw-control-method-14 (_type_ cspace-array joint-control) none 14)
|
||||
)
|
||||
|
||||
+1
-1
@@ -708,7 +708,7 @@
|
||||
|
||||
;; definition (debug) for function add-debug-line2d
|
||||
;; INFO: Used lq/sq
|
||||
(defun-debug add-debug-line2d ((enable symbol) (bucket bucket-id) (start vector) (end vector) (color vector))
|
||||
(defun-debug add-debug-line2d ((enable symbol) (bucket bucket-id) (start vector4w) (end vector4w) (color vector4w))
|
||||
(if (not enable)
|
||||
(return #f)
|
||||
)
|
||||
|
||||
+3
-3
@@ -243,7 +243,7 @@
|
||||
(debug-features game-feature :offset-assert 136)
|
||||
(secrets game-secrets :offset-assert 144)
|
||||
(unknown-pad1 uint32 :offset-assert 148)
|
||||
(purchase-secrets uint32 :offset-assert 152)
|
||||
(purchase-secrets game-secrets :offset-assert 152)
|
||||
(unknown-pad2 uint32 :offset-assert 156)
|
||||
(gun-type int32 :offset-assert 160)
|
||||
(gun-ammo float 4 :offset-assert 164)
|
||||
@@ -262,7 +262,7 @@
|
||||
(last-continue continue-point :offset-assert 244)
|
||||
(play-list (array game-task-info) :offset-assert 248)
|
||||
(sub-task-list (array game-task-node-info) :offset-assert 252)
|
||||
(unknown-pad5 (array game-task-node-info) :offset-assert 256)
|
||||
(mission-list (array game-task-node-info) :offset-assert 256)
|
||||
(task-counter uint32 :offset-assert 260)
|
||||
(unknown-pad6 (array uint16) :offset-assert 264)
|
||||
(level-opened uint8 32 :offset-assert 268)
|
||||
@@ -285,7 +285,7 @@
|
||||
(letterbox-time time-frame :offset-assert 400)
|
||||
(hint-play-time time-frame :offset-assert 408)
|
||||
(display-text-time time-frame :offset-assert 416)
|
||||
(display-text-handle uint64 :offset-assert 424)
|
||||
(display-text-handle handle :offset-assert 424)
|
||||
(death-movie-tick int32 :offset-assert 432)
|
||||
(want-auto-save symbol :offset-assert 436)
|
||||
(auto-save-proc handle :offset-assert 440)
|
||||
|
||||
+1
-1
@@ -1670,7 +1670,7 @@
|
||||
0
|
||||
)
|
||||
(if (zero? (-> gp-0 display-text-handle))
|
||||
(set! (-> gp-0 display-text-handle) (the-as uint #f))
|
||||
(set! (-> gp-0 display-text-handle) (the-as handle #f))
|
||||
)
|
||||
(if (zero? (-> gp-0 game-score))
|
||||
(set! (-> gp-0 game-score) (new 'global 'boxed-array float 152))
|
||||
|
||||
+1
-1
@@ -12301,7 +12301,7 @@
|
||||
)
|
||||
)
|
||||
)
|
||||
(set! (-> gp-0 unknown-pad5) (new 'global 'boxed-array game-task-node-info 324))
|
||||
(set! (-> gp-0 mission-list) (new 'global 'boxed-array game-task-node-info 324))
|
||||
(dotimes (v1-3 (-> gp-0 sub-task-list length))
|
||||
(if (-> gp-0 sub-task-list v1-3 info)
|
||||
(set! (-> gp-0 sub-task-list v1-3 info manager) (the-as handle #f))
|
||||
|
||||
-2
@@ -1001,10 +1001,8 @@
|
||||
)
|
||||
|
||||
;; definition for function matrix-axis-angle!
|
||||
;; WARN: Return type mismatch matrix vs none.
|
||||
(defun matrix-axis-angle! ((arg0 matrix) (arg1 vector) (arg2 float))
|
||||
(matrix-axis-sin-cos! arg0 arg1 (sin arg2) (cos arg2))
|
||||
(none)
|
||||
)
|
||||
|
||||
;; definition for function matrix-lerp!
|
||||
|
||||
+3
-3
@@ -580,9 +580,9 @@
|
||||
(goto cfg-4)
|
||||
)
|
||||
(format #t "[~8x] ~A~%" obj 'vector4w-4)
|
||||
(format #t "~1Tdata[16] @ #x~X~%" (-> obj data))
|
||||
(format #t "~1Tquad[4] @ #x~X~%" (-> obj data))
|
||||
(format #t "~1Tvector[4] @ #x~X~%" (-> obj data))
|
||||
(format #t "~1Tdata[16] @ #x~X~%" (-> obj vector))
|
||||
(format #t "~1Tquad[4] @ #x~X~%" (-> obj vector))
|
||||
(format #t "~1Tvector[4] @ #x~X~%" (-> obj vector))
|
||||
(label cfg-4)
|
||||
obj
|
||||
)
|
||||
|
||||
+7
-8
@@ -11,11 +11,11 @@
|
||||
:flag-assert #x1b005000cc
|
||||
(:methods
|
||||
(get-trans (_type_ int) vector 20)
|
||||
(get-quat (_type_) quaternion 21)
|
||||
(get-quat (_type_ int) quaternion 21)
|
||||
(get-transv (_type_) vector 22)
|
||||
(process-focusable-method-23 (_type_) none 23)
|
||||
(process-focusable-method-24 (_type_) none 24)
|
||||
(process-focusable-method-25 (_type_) int 25)
|
||||
(process-focusable-method-24 (_type_) float 24)
|
||||
(process-focusable-method-25 (_type_) time-frame 25)
|
||||
(process-focusable-method-26 (_type_) none 26)
|
||||
)
|
||||
)
|
||||
@@ -63,7 +63,7 @@
|
||||
)
|
||||
|
||||
;; definition for method 21 of type process-focusable
|
||||
(defmethod get-quat process-focusable ((obj process-focusable))
|
||||
(defmethod get-quat process-focusable ((obj process-focusable) (arg0 int))
|
||||
(-> obj root quat)
|
||||
)
|
||||
|
||||
@@ -75,10 +75,8 @@
|
||||
)
|
||||
|
||||
;; definition for method 24 of type process-focusable
|
||||
;; WARN: Return type mismatch int vs none.
|
||||
(defmethod process-focusable-method-24 process-focusable ((obj process-focusable))
|
||||
0
|
||||
(none)
|
||||
0.0
|
||||
)
|
||||
|
||||
;; definition for method 26 of type process-focusable
|
||||
@@ -89,8 +87,9 @@
|
||||
)
|
||||
|
||||
;; definition for method 25 of type process-focusable
|
||||
;; WARN: Return type mismatch int vs time-frame.
|
||||
(defmethod process-focusable-method-25 process-focusable ((obj process-focusable))
|
||||
0
|
||||
(the-as time-frame 0)
|
||||
)
|
||||
|
||||
;; failed to figure out what this is:
|
||||
|
||||
+1
-7
@@ -2817,13 +2817,7 @@
|
||||
(when s4-1
|
||||
(set! (-> self control unknown-vector38 quad) (-> (get-trans (the-as process-focusable s4-1) 0) quad))
|
||||
(set! (-> self control unknown-vector38 y) (+ 4096.0 (-> self control unknown-vector38 y)))
|
||||
(let* ((s3-2 (-> self control unknown-vector40))
|
||||
(a0-15 (the-as process-focusable s4-1))
|
||||
(t9-4 (method-of-object a0-15 get-quat))
|
||||
)
|
||||
0
|
||||
(set! (-> s3-2 quad) (-> (t9-4 a0-15) vec quad))
|
||||
)
|
||||
(set! (-> self control unknown-vector40 quad) (-> (get-quat (the-as process-focusable s4-1) 0) vec quad))
|
||||
)
|
||||
(let ((f28-0 (sin (lerp-scale 0.0 16384.0 (ja-aframe-num 0) 0.0 30.0))))
|
||||
(let ((f26-0 f28-0))
|
||||
|
||||
+2
-2
@@ -1867,11 +1867,11 @@
|
||||
(when (!= (-> self beard?) v1-248)
|
||||
(cond
|
||||
(v1-248
|
||||
(draw-control-method-12 (-> self draw) 2 0)
|
||||
(draw-control-method-12 (-> self draw) (the-as uint 2) 0)
|
||||
(set! (-> self beard?) #t)
|
||||
)
|
||||
(else
|
||||
(draw-control-method-12 (-> self draw) 0 2)
|
||||
(draw-control-method-12 (-> self draw) (the-as uint 0) 2)
|
||||
(set! (-> self beard?) #f)
|
||||
)
|
||||
)
|
||||
|
||||
+1
-1
@@ -231,7 +231,7 @@
|
||||
(new (symbol type) _type_ 0)
|
||||
(initialize (_type_) none 9)
|
||||
(update (_type_) none 10)
|
||||
(bigmap-method-11 () none 11)
|
||||
(bigmap-method-11 (_type_ int int int int) none 11)
|
||||
(bigmap-method-12 () none 12)
|
||||
(bigmap-method-13 () none 13)
|
||||
(bigmap-method-14 (_type_) none 14)
|
||||
|
||||
+4
-4
@@ -44,7 +44,7 @@
|
||||
:size-assert #x34
|
||||
:flag-assert #xb00000034
|
||||
(:methods
|
||||
(hud-sprite-method-9 () none 9)
|
||||
(hud-sprite-method-9 (_type_ dma-buffer level) none 9)
|
||||
(hud-sprite-method-10 () none 10)
|
||||
)
|
||||
)
|
||||
@@ -77,13 +77,13 @@
|
||||
:size-assert #x20
|
||||
:flag-assert #x1000000020
|
||||
(:methods
|
||||
(hud-box-method-9 () none 9)
|
||||
(hud-box-method-9 (_type_ dma-buffer) none 9)
|
||||
(hud-box-method-10 () none 10)
|
||||
(hud-box-method-11 () none 11)
|
||||
(hud-box-method-12 () none 12)
|
||||
(hud-box-method-13 (_type_ dma-buffer float) int 13)
|
||||
(hud-box-method-14 () none 14)
|
||||
(hud-box-method-15 () none 15)
|
||||
(hud-box-method-14 (_type_) none 14)
|
||||
(hud-box-method-15 (_type_) none 15)
|
||||
)
|
||||
)
|
||||
|
||||
|
||||
+8048
File diff suppressed because it is too large
Load Diff
+21
-19
@@ -90,16 +90,18 @@
|
||||
|
||||
;; definition of type menu-option
|
||||
(deftype menu-option (basic)
|
||||
((name uint32 :offset-assert 4)
|
||||
(scale basic :offset-assert 8)
|
||||
(box bounding-box 1 :inline :offset-assert 16)
|
||||
((name game-text-id :offset-assert 4)
|
||||
(scale float :offset-assert 8)
|
||||
(unknown function :offset-assert 12)
|
||||
(box hud-box 1 :inline :offset-assert 16)
|
||||
(options menu-option 8 :offset 16)
|
||||
)
|
||||
:method-count-assert 12
|
||||
:size-assert #x30
|
||||
:flag-assert #xc00000030
|
||||
(:methods
|
||||
(respond-progress (_type_ progress object symbol) int 9)
|
||||
(menu-option-method-10 () none 10)
|
||||
(respond-progress (_type_ progress object) int :behavior progress 9)
|
||||
(menu-option-method-10 (_type_ progress font-context int symbol) none 10)
|
||||
(menu-option-method-11 () none 11)
|
||||
)
|
||||
)
|
||||
@@ -120,7 +122,7 @@
|
||||
|
||||
;; definition of type menu-on-off-option
|
||||
(deftype menu-on-off-option (menu-option)
|
||||
((value-to-modify pointer :offset-assert 48)
|
||||
((value-to-modify (pointer symbol) :offset-assert 48)
|
||||
)
|
||||
:method-count-assert 12
|
||||
:size-assert #x34
|
||||
@@ -168,10 +170,10 @@
|
||||
|
||||
;; definition of type menu-language-option
|
||||
(deftype menu-language-option (menu-option)
|
||||
((language-selection uint64 :offset-assert 48)
|
||||
(language-direction basic :offset-assert 56)
|
||||
(language-transition basic :offset-assert 60)
|
||||
(language-x-offset int32 :offset-assert 64)
|
||||
((language-selection language-enum :offset-assert 48)
|
||||
(language-direction symbol :offset-assert 56)
|
||||
(language-transition basic :offset-assert 60)
|
||||
(language-x-offset int32 :offset-assert 64)
|
||||
)
|
||||
:method-count-assert 12
|
||||
:size-assert #x44
|
||||
@@ -990,13 +992,13 @@
|
||||
|
||||
;; definition of type menu-secret-option
|
||||
(deftype menu-secret-option (menu-option)
|
||||
((item-index int32 :offset-assert 48)
|
||||
(prev-item-index int32 :offset-assert 52)
|
||||
(num-items int32 :offset-assert 56)
|
||||
(num-hero-items int32 :offset-assert 60)
|
||||
(secret-items basic :offset-assert 64)
|
||||
(last-move uint64 :offset-assert 72)
|
||||
(sprites hud-sprite 2 :inline :offset-assert 80)
|
||||
((item-index int32 :offset-assert 48)
|
||||
(prev-item-index int32 :offset-assert 52)
|
||||
(num-items int32 :offset-assert 56)
|
||||
(num-hero-items int32 :offset-assert 60)
|
||||
(secret-items (array secret-item-option) :offset-assert 64)
|
||||
(last-move uint64 :offset-assert 72)
|
||||
(sprites hud-sprite 2 :inline :offset-assert 80)
|
||||
)
|
||||
:method-count-assert 12
|
||||
:size-assert #xd0
|
||||
@@ -1053,8 +1055,8 @@
|
||||
|
||||
;; definition of type menu-qr-option
|
||||
(deftype menu-qr-option (menu-option)
|
||||
((last-move uint64 :offset-assert 48)
|
||||
(value-to-modify uint32 :offset 60)
|
||||
((last-move uint64 :offset-assert 48)
|
||||
(value-to-modify function :offset 60)
|
||||
)
|
||||
:method-count-assert 12
|
||||
:size-assert #x40
|
||||
|
||||
+995
@@ -0,0 +1,995 @@
|
||||
;;-*-Lisp-*-
|
||||
(in-package goal)
|
||||
|
||||
;; failed to figure out what this is:
|
||||
(let ((a0-0 (new 'static 'skeleton-group
|
||||
:name "skel-hud-ring"
|
||||
:extra #f
|
||||
:info #f
|
||||
:art-group-name "hud-ring"
|
||||
:bounds (new 'static 'vector :w 225280.0)
|
||||
:version #x7
|
||||
)
|
||||
)
|
||||
)
|
||||
(set! (-> a0-0 jgeo) 0)
|
||||
(set! (-> a0-0 janim) 2)
|
||||
(set! (-> a0-0 mgeo 0) 1)
|
||||
(set! (-> a0-0 lod-dist 0) 4095996000.0)
|
||||
(add-to-loading-level a0-0)
|
||||
)
|
||||
|
||||
;; failed to figure out what this is:
|
||||
(let ((a0-1 (new 'static 'skeleton-group
|
||||
:name "skel-hud-ring-part"
|
||||
:extra #f
|
||||
:info #f
|
||||
:art-group-name "hud-ring"
|
||||
:bounds (new 'static 'vector :w 225280.0)
|
||||
:version #x7
|
||||
)
|
||||
)
|
||||
)
|
||||
(set! (-> a0-1 jgeo) 3)
|
||||
(set! (-> a0-1 janim) 5)
|
||||
(set! (-> a0-1 mgeo 0) 4)
|
||||
(set! (-> a0-1 lod-dist 0) 4095996000.0)
|
||||
(add-to-loading-level a0-1)
|
||||
)
|
||||
|
||||
;; definition for symbol *main-options*, type menu-option-list
|
||||
(define *main-options* (new 'static 'menu-option-list :y-center #xc6 :y-space 30 :scale 0.82))
|
||||
|
||||
;; definition for symbol *main-options-debug*, type menu-option-list
|
||||
(define *main-options-debug* (new 'static 'menu-option-list :y-center #xc6 :y-space 30 :scale 0.82))
|
||||
|
||||
;; definition for symbol *main-kiosk-options*, type menu-option-list
|
||||
(define *main-kiosk-options* (new 'static 'menu-option-list :y-center #xc6 :y-space 30 :scale 0.82))
|
||||
|
||||
;; definition for symbol *main-demo-options*, type menu-option-list
|
||||
(define *main-demo-options* (new 'static 'menu-option-list :y-center #xc6 :y-space 30 :scale 0.82))
|
||||
|
||||
;; definition for symbol *title*, type menu-option-list
|
||||
(define *title* (new 'static 'menu-option-list :y-center #xc6 :y-space 30 :scale 0.82))
|
||||
|
||||
;; definition for symbol *unlocked-secrets*, type menu-option-list
|
||||
(define *unlocked-secrets* (new 'static 'menu-option-list :y-center #xc6 :y-space 30 :scale 0.82))
|
||||
|
||||
;; definition for symbol *options*, type menu-option-list
|
||||
(define *options* (new 'static 'menu-option-list :y-center #xc6 :y-space 30 :scale 0.82))
|
||||
|
||||
;; definition for symbol *game-options*, type menu-option-list
|
||||
(define *game-options* (new 'static 'menu-option-list :y-center #xc6 :y-space 30 :scale 0.82))
|
||||
|
||||
;; definition for symbol *game-options-japan*, type menu-option-list
|
||||
(define *game-options-japan* (new 'static 'menu-option-list :y-center #xc6 :y-space 30 :scale 0.82))
|
||||
|
||||
;; definition for symbol *game-options-demo*, type menu-option-list
|
||||
(define *game-options-demo* (new 'static 'menu-option-list :y-center #xc6 :y-space 30 :scale 0.82))
|
||||
|
||||
;; definition for symbol *graphic-options*, type menu-option-list
|
||||
(define *graphic-options* (new 'static 'menu-option-list :y-center #xc6 :y-space 30 :scale 0.82))
|
||||
|
||||
;; definition for symbol *graphic-title-options-pal*, type menu-option-list
|
||||
(define *graphic-title-options-pal* (new 'static 'menu-option-list :y-center #xc6 :y-space 30 :scale 0.82))
|
||||
|
||||
;; definition for symbol *sound-options*, type menu-option-list
|
||||
(define *sound-options* (new 'static 'menu-option-list :y-center #xc6 :y-space 30 :scale 0.82))
|
||||
|
||||
;; definition for symbol *quit-restart-options*, type menu-option-list
|
||||
(define *quit-restart-options* (new 'static 'menu-option-list :y-center #xc6 :y-space 30 :scale 0.82))
|
||||
|
||||
;; definition for symbol *load-save-options*, type menu-option-list
|
||||
(define *load-save-options* (new 'static 'menu-option-list :y-center #xdc :y-space 30 :scale 0.82))
|
||||
|
||||
;; definition for symbol *save-options-title*, type menu-option-list
|
||||
(define *save-options-title* (new 'static 'menu-option-list :y-center #xdc :y-space 30 :scale 0.82))
|
||||
|
||||
;; definition for symbol *loading-options*, type menu-option-list
|
||||
(define *loading-options* (new 'static 'menu-option-list :y-center #xc6 :y-space 30 :scale 0.82))
|
||||
|
||||
;; definition for symbol *insufficient-space-options*, type menu-option-list
|
||||
(define *insufficient-space-options* (new 'static 'menu-option-list :y-center #xc6 :y-space 30 :scale 0.82))
|
||||
|
||||
;; definition for symbol *secrets-insufficient-space-options*, type menu-option-list
|
||||
(define *secrets-insufficient-space-options*
|
||||
(new 'static 'menu-option-list :y-center #xc6 :y-space 30 :scale 0.82)
|
||||
)
|
||||
|
||||
;; definition for symbol *insert-card-options*, type menu-option-list
|
||||
(define *insert-card-options* (new 'static 'menu-option-list :y-center #xc6 :y-space 30 :scale 0.82))
|
||||
|
||||
;; definition for symbol *error-loading-options*, type menu-option-list
|
||||
(define *error-loading-options* (new 'static 'menu-option-list :y-center #xc6 :y-space 30 :scale 0.82))
|
||||
|
||||
;; definition for symbol *error-auto-saving-options*, type menu-option-list
|
||||
(define *error-auto-saving-options* (new 'static 'menu-option-list :y-center #xc6 :y-space 30 :scale 0.82))
|
||||
|
||||
;; definition for symbol *card-removed-options*, type menu-option-list
|
||||
(define *card-removed-options* (new 'static 'menu-option-list :y-center #x104 :y-space 30 :scale 0.82))
|
||||
|
||||
;; definition for symbol *error-disc-removed-options*, type menu-option-list
|
||||
(define *error-disc-removed-options* (new 'static 'menu-option-list :y-center #xc6 :y-space 30 :scale 0.82))
|
||||
|
||||
;; definition for symbol *error-reading-options*, type menu-option-list
|
||||
(define *error-reading-options* (new 'static 'menu-option-list :y-center #xc6 :y-space 30 :scale 0.82))
|
||||
|
||||
;; definition for symbol *icon-info-options*, type menu-option-list
|
||||
(define *icon-info-options* (new 'static 'menu-option-list :y-center #xc6 :y-space 30 :scale 0.82))
|
||||
|
||||
;; definition for symbol *format-card-options*, type menu-option-list
|
||||
(define *format-card-options* (new 'static 'menu-option-list :y-center #xc6 :y-space 30 :scale 0.82))
|
||||
|
||||
;; definition for symbol *already-exists-options*, type menu-option-list
|
||||
(define *already-exists-options* (new 'static 'menu-option-list :y-center #xc6 :y-space 30 :scale 0.82))
|
||||
|
||||
;; definition for symbol *create-game-options*, type menu-option-list
|
||||
(define *create-game-options* (new 'static 'menu-option-list :y-center #xc6 :y-space 30 :scale 0.82))
|
||||
|
||||
;; definition for symbol *video-mode-warning-options*, type menu-option-list
|
||||
(define *video-mode-warning-options* (new 'static 'menu-option-list :y-center #xc6 :y-space 30 :scale 0.82))
|
||||
|
||||
;; definition for symbol *video-mode-ok-options*, type menu-option-list
|
||||
(define *video-mode-ok-options* (new 'static 'menu-option-list :y-center #xc6 :y-space 30 :scale 0.82))
|
||||
|
||||
;; definition for symbol *progressive-mode-warning-options*, type menu-option-list
|
||||
(define *progressive-mode-warning-options*
|
||||
(new 'static 'menu-option-list :y-center #xc6 :y-space 30 :scale 0.82)
|
||||
)
|
||||
|
||||
;; definition for symbol *progressive-mode-ok-options*, type menu-option-list
|
||||
(define *progressive-mode-ok-options* (new 'static 'menu-option-list :y-center #xc6 :y-space 30 :scale 0.82))
|
||||
|
||||
;; definition for symbol *quit-options*, type menu-option-list
|
||||
(define *quit-options* (new 'static 'menu-option-list :y-center #xc6 :y-space 30 :scale 0.82))
|
||||
|
||||
;; definition for symbol *select-start-options*, type menu-option-list
|
||||
(define *select-start-options*
|
||||
"List of [[menu-select-start-option]]"
|
||||
(new 'static 'menu-option-list :y-center #xc6 :y-space 30 :scale 0.82)
|
||||
)
|
||||
|
||||
;; definition for symbol *select-scene-options*, type menu-option-list
|
||||
(define *select-scene-options*
|
||||
"List of [[menu-select-scene-option]]"
|
||||
(new 'static 'menu-option-list :y-center #xc6 :y-space 30 :scale 0.82)
|
||||
)
|
||||
|
||||
;; definition for symbol *bigmap-options*, type menu-option-list
|
||||
(define *bigmap-options* (new 'static 'menu-option-list :y-center #xc6 :y-space 30 :scale 0.82))
|
||||
|
||||
;; definition for symbol *missions-options*, type menu-option-list
|
||||
(define *missions-options*
|
||||
"List of [[menu-missions-option]]"
|
||||
(new 'static 'menu-option-list :y-center #xc6 :y-space 30 :scale 0.82)
|
||||
)
|
||||
|
||||
;; definition for symbol *highscores-options*, type menu-option-list
|
||||
(define *highscores-options*
|
||||
"List of [[menu-highscores-option]]"
|
||||
(new 'static 'menu-option-list :y-center #xc6 :y-space 30 :scale 0.82)
|
||||
)
|
||||
|
||||
;; definition for symbol *secret-options*, type menu-option-list
|
||||
(define *secret-options* (new 'static 'menu-option-list :y-center #xc6 :y-space 30 :scale 0.82))
|
||||
|
||||
;; definition for symbol *language-name-remap*, type (array game-text-id)
|
||||
(define *language-name-remap*
|
||||
(the-as (array game-text-id)
|
||||
(new 'static 'boxed-array :type uint32 #x111 #x112 #x113 #x114 #x115 #x117 #x116 #x30b)
|
||||
)
|
||||
)
|
||||
|
||||
;; definition for symbol *stereo-mode-name-remap*, type (array game-text-id)
|
||||
(define *stereo-mode-name-remap*
|
||||
(the-as (array game-text-id) (new 'static 'boxed-array :type uint32 #x104 #x105 #x106))
|
||||
)
|
||||
|
||||
;; definition for symbol *hud-ring-graphic-remap*, type (array uint64)
|
||||
(define *hud-ring-graphic-remap*
|
||||
(new 'static 'boxed-array :type uint64 #x80 #x40 #x10 #x4 #x8 #x400 #x20 #x100 #x200 #x2)
|
||||
)
|
||||
|
||||
;; definition for symbol *hud-ring-kiosk-graphic-remap*, type (array uint64)
|
||||
(define *hud-ring-kiosk-graphic-remap*
|
||||
(new 'static 'boxed-array :type uint64 #x40 #x80 #x2 #x200 #x200 #x200 #x200 #x200 #x200 #x200)
|
||||
)
|
||||
|
||||
;; definition for symbol *hud-ring-demo-graphic-remap*, type (array uint64)
|
||||
(define *hud-ring-demo-graphic-remap*
|
||||
(new 'static 'boxed-array :type uint64 #x80 #x2 #x200 #x200 #x200 #x200 #x200 #x200 #x200 #x200)
|
||||
)
|
||||
|
||||
;; definition of type hud-scene-info
|
||||
(deftype hud-scene-info (basic)
|
||||
((name string :offset-assert 4)
|
||||
(continue string :offset-assert 8)
|
||||
(info object :offset-assert 12)
|
||||
(info-str string :offset 12)
|
||||
(info-list pair :offset 12)
|
||||
(text uint32 :offset-assert 16)
|
||||
)
|
||||
:method-count-assert 9
|
||||
:size-assert #x14
|
||||
:flag-assert #x900000014
|
||||
)
|
||||
|
||||
;; definition for method 3 of type hud-scene-info
|
||||
(defmethod inspect hud-scene-info ((obj hud-scene-info))
|
||||
(when (not obj)
|
||||
(set! obj obj)
|
||||
(goto cfg-4)
|
||||
)
|
||||
(format #t "[~8x] ~A~%" obj (-> obj type))
|
||||
(format #t "~1Tname: ~A~%" (-> obj name))
|
||||
(format #t "~1Tcontinue: ~A~%" (-> obj continue))
|
||||
(format #t "~1Tinfo: ~A~%" (-> obj info))
|
||||
(format #t "~1Ttext: ~D~%" (-> obj text))
|
||||
(label cfg-4)
|
||||
obj
|
||||
)
|
||||
|
||||
;; definition for symbol *hud-select-scene-act1*, type (array hud-scene-info)
|
||||
(define *hud-select-scene-act1*
|
||||
(new 'static 'boxed-array :type hud-scene-info
|
||||
(new 'static 'hud-scene-info
|
||||
:name "intro"
|
||||
:continue "village1-start"
|
||||
:info '("intro-samos-hut" "intro-vortex" "intro-city-square" "intro-prison")
|
||||
:text #x307
|
||||
)
|
||||
(new 'static 'hud-scene-info
|
||||
:name "city-help-kid-intro"
|
||||
:continue "ctyslumb-fort"
|
||||
:info "city-help-kid-intro"
|
||||
:text #x28c
|
||||
)
|
||||
(new 'static 'hud-scene-info
|
||||
:name "city-help-kid-resolution"
|
||||
:continue "ctyslumb-fort"
|
||||
:info "city-help-kid-resolution"
|
||||
:text #x28d
|
||||
)
|
||||
(new 'static 'hud-scene-info
|
||||
:name "ruins-tower-intro"
|
||||
:continue "ctysluma-tower-intro"
|
||||
:info "ruins-tower-intro"
|
||||
:text #x281
|
||||
)
|
||||
(new 'static 'hud-scene-info
|
||||
:name "ruins-tower-victory"
|
||||
:continue "ruins-hut"
|
||||
:info "ruins-tower-victory"
|
||||
:text #x282
|
||||
)
|
||||
(new 'static 'hud-scene-info :name "atoll-1-int" :continue "hideout-start" :info "atoll-1-int" :text #x2c8)
|
||||
(new 'static 'hud-scene-info :name "atoll-1-res" :continue "atoll-movie" :info "atoll-1-res" :text #x2c9)
|
||||
(new 'static 'hud-scene-info
|
||||
:name "fortress-2-intro"
|
||||
:continue "hideout-start"
|
||||
:info "fortress-2-intro"
|
||||
:text #x2bc
|
||||
)
|
||||
(new 'static 'hud-scene-info
|
||||
:name "fortress-blow-up-ammo-res-a"
|
||||
:continue "fordumpc-start"
|
||||
:info "fortress-blow-up-ammo-res-a"
|
||||
:text #x2bd
|
||||
)
|
||||
(new 'static 'hud-scene-info
|
||||
:name "fortress-blow-up-ammo-res-b"
|
||||
:continue "fordumpc-explode-movie"
|
||||
:info "fortress-blow-up-ammo-res-b"
|
||||
:text #x2be
|
||||
)
|
||||
(new 'static 'hud-scene-info
|
||||
:name "city-krew-delivery-intro"
|
||||
:continue "hideout-start"
|
||||
:info "city-krew-delivery-intro"
|
||||
:text #x28f
|
||||
)
|
||||
(new 'static 'hud-scene-info
|
||||
:name "krew-delivery-res"
|
||||
:continue "hiphog-start"
|
||||
:info "krew-delivery-res"
|
||||
:text #x290
|
||||
)
|
||||
(new 'static 'hud-scene-info :name "atoll-2-intro" :continue "hiphog-start" :info "atoll-2-intro" :text #x2ca)
|
||||
(new 'static 'hud-scene-info
|
||||
:name "atoll-sig-intro"
|
||||
:continue "atoll-movie"
|
||||
:info "atoll-sig-intro"
|
||||
:text #x2ce
|
||||
)
|
||||
(new 'static 'hud-scene-info
|
||||
:name "atoll-sig-tank"
|
||||
:continue "atoll-movie"
|
||||
:info "atoll-sig-tank"
|
||||
:text #x2cf
|
||||
)
|
||||
(new 'static 'hud-scene-info
|
||||
:name "atoll-sniper-a"
|
||||
:continue "atoll-movie"
|
||||
:info "atoll-sniper-a"
|
||||
:text #x2d0
|
||||
)
|
||||
(new 'static 'hud-scene-info
|
||||
:name "atoll-sniper-b"
|
||||
:continue "atoll-movie"
|
||||
:info "atoll-sniper-b"
|
||||
:text #x2d1
|
||||
)
|
||||
(new 'static 'hud-scene-info
|
||||
:name "atoll-sniper-c"
|
||||
:continue "atoll-movie"
|
||||
:info "atoll-sniper-c"
|
||||
:text #x2d2
|
||||
)
|
||||
(new 'static 'hud-scene-info
|
||||
:name "atoll-sniper-d"
|
||||
:continue "atoll-movie"
|
||||
:info "atoll-sniper-d"
|
||||
:text #x2d3
|
||||
)
|
||||
(new 'static 'hud-scene-info
|
||||
:name "atoll-sniper-e"
|
||||
:continue "atoll-movie"
|
||||
:info "atoll-sniper-e"
|
||||
:text #x2d4
|
||||
)
|
||||
(new 'static 'hud-scene-info
|
||||
:name "city-oracle-intro"
|
||||
:continue "oracle-start"
|
||||
:info "city-oracle-intro"
|
||||
:text #x29d
|
||||
)
|
||||
(new 'static 'hud-scene-info
|
||||
:name "city-oracle-level-0"
|
||||
:continue "oracle-start"
|
||||
:info "city-oracle-level-0"
|
||||
:text #x29e
|
||||
)
|
||||
(new 'static 'hud-scene-info
|
||||
:name "city-oracle-level-1"
|
||||
:continue "oracle-start"
|
||||
:info "city-oracle-level-1"
|
||||
:text #x29f
|
||||
)
|
||||
(new 'static 'hud-scene-info
|
||||
:name "city-oracle-level-2"
|
||||
:continue "oracle-start"
|
||||
:info "city-oracle-level-2"
|
||||
:text #x2a0
|
||||
)
|
||||
(new 'static 'hud-scene-info
|
||||
:name "city-oracle-level-3"
|
||||
:continue "oracle-start"
|
||||
:info "city-oracle-level-3"
|
||||
:text #x2a1
|
||||
)
|
||||
(new 'static 'hud-scene-info :name "sewer-1-intro" :continue "hiphog-start" :info "sewer-1-intro" :text #x2c1)
|
||||
(new 'static 'hud-scene-info :name "sewer-1-res" :continue "hiphog-start" :info "sewer-1-res" :text #x2c2)
|
||||
(new 'static 'hud-scene-info
|
||||
:name "city-get-yellow-gun"
|
||||
:continue "gungame-movie"
|
||||
:info "city-get-yellow-gun"
|
||||
:text #x2b2
|
||||
)
|
||||
(new 'static 'hud-scene-info
|
||||
:name "vin-rescue-intro"
|
||||
:continue "hideout-start"
|
||||
:info "vin-rescue-intro"
|
||||
:text #x286
|
||||
)
|
||||
(new 'static 'hud-scene-info :name "vin-rescue" :continue "strip-start" :info "vin-rescue" :text #x287)
|
||||
(new 'static 'hud-scene-info
|
||||
:name "city-keira-delivery-intro"
|
||||
:continue "hiphog-start"
|
||||
:info "city-keira-delivery-intro"
|
||||
:text #x2a7
|
||||
)
|
||||
(new 'static 'hud-scene-info
|
||||
:name "city-krew-collection-intro"
|
||||
:continue "hiphog-start"
|
||||
:info "city-krew-collection-intro"
|
||||
:text #x2a2
|
||||
)
|
||||
(new 'static 'hud-scene-info
|
||||
:name "city-krew-collection-res"
|
||||
:continue "hiphog-start"
|
||||
:info "city-krew-collection-res"
|
||||
:text #x2a3
|
||||
)
|
||||
(new 'static 'hud-scene-info
|
||||
:name "city-keira-hover-challenge-intro"
|
||||
:continue "garage-start-skate"
|
||||
:info "city-keira-hover-challenge-intro"
|
||||
:text #x294
|
||||
)
|
||||
(new 'static 'hud-scene-info
|
||||
:name "city-put-hoverboard"
|
||||
:continue "skatea-start"
|
||||
:info "city-put-hoverboard"
|
||||
:text #x2b4
|
||||
)
|
||||
(new 'static 'hud-scene-info
|
||||
:name "city-keira-hover-challenge-res"
|
||||
:continue "garage-start-skate"
|
||||
:info "city-keira-hover-challenge-res"
|
||||
:text #x295
|
||||
)
|
||||
(new 'static 'hud-scene-info
|
||||
:name "atoll-3-intro"
|
||||
:continue "hideout-start"
|
||||
:info "atoll-3-intro"
|
||||
:text #x2cb
|
||||
)
|
||||
(new 'static 'hud-scene-info
|
||||
:name "atoll-save-ashelin-res-a"
|
||||
:continue "atoll-movie"
|
||||
:info "atoll-save-ashelin-res-a"
|
||||
:text #x2cc
|
||||
)
|
||||
(new 'static 'hud-scene-info
|
||||
:name "atoll-save-ashelin-res-b"
|
||||
:continue "atoll-movie"
|
||||
:info "atoll-save-ashelin-res-b"
|
||||
:text #x2cd
|
||||
)
|
||||
(new 'static 'hud-scene-info
|
||||
:name "drill-kill-metal-heads-intro"
|
||||
:continue "vinroom-start"
|
||||
:info "drill-kill-metal-heads-intro"
|
||||
:text #x2d5
|
||||
)
|
||||
(new 'static 'hud-scene-info
|
||||
:name "mountain-finditems-intro"
|
||||
:continue "onintent-start"
|
||||
:info "mountain-finditems-intro"
|
||||
:text #x2d9
|
||||
)
|
||||
(new 'static 'hud-scene-info
|
||||
:name "mountain-gear-res"
|
||||
:continue "mountain-start"
|
||||
:info "mountain-gear-res"
|
||||
:text #x2da
|
||||
)
|
||||
(new 'static 'hud-scene-info
|
||||
:name "mountain-shard-res"
|
||||
:continue "mountain-start"
|
||||
:info "mountain-shard-res"
|
||||
:text #x2db
|
||||
)
|
||||
(new 'static 'hud-scene-info
|
||||
:name "mountain-lens-res"
|
||||
:continue "mountain-start"
|
||||
:info "mountain-lens-res"
|
||||
:text #x2dc
|
||||
)
|
||||
(new 'static 'hud-scene-info
|
||||
:name "city-switch-on-power-intro"
|
||||
:continue "vinroom-start"
|
||||
:info "city-switch-on-power-intro"
|
||||
:text #x293
|
||||
)
|
||||
(new 'static 'hud-scene-info
|
||||
:name "palace-outside-window-res"
|
||||
:continue "palroof-throne"
|
||||
:info "palace-outside-window-res"
|
||||
:text #x2dd
|
||||
)
|
||||
(new 'static 'hud-scene-info
|
||||
:name "palace-outside-window-res-b"
|
||||
:continue "palroof-boss"
|
||||
:info "palace-outside-window-res-b"
|
||||
:text #x2de
|
||||
)
|
||||
(new 'static 'hud-scene-info
|
||||
:name "palace-boss-res"
|
||||
:continue "palroof-boss"
|
||||
:info "palace-boss-res"
|
||||
:text #x2df
|
||||
)
|
||||
(new 'static 'hud-scene-info
|
||||
:name "city-shuttle-underground-intro"
|
||||
:continue "hideout-start"
|
||||
:info "city-shuttle-underground-intro"
|
||||
:text #x2a8
|
||||
)
|
||||
(new 'static 'hud-scene-info
|
||||
:name "ruins-sacred-intro"
|
||||
:continue "hideout-start"
|
||||
:info "ruins-sacred-intro"
|
||||
:text #x283
|
||||
)
|
||||
(new 'static 'hud-scene-info
|
||||
:name "ruins-sacred-victory"
|
||||
:continue "ruins-hut"
|
||||
:info "ruins-sacred-victory"
|
||||
:text #x284
|
||||
)
|
||||
)
|
||||
)
|
||||
|
||||
;; definition for symbol *hud-select-scene-act2*, type (array hud-scene-info)
|
||||
(define *hud-select-scene-act2*
|
||||
(new 'static 'boxed-array :type hud-scene-info
|
||||
(new 'static 'hud-scene-info
|
||||
:name "forest-catch-metal-heads-intro"
|
||||
:continue "hideout-start"
|
||||
:info "forest-catch-metal-heads-intro"
|
||||
:text #x2f1
|
||||
)
|
||||
(new 'static 'hud-scene-info
|
||||
:name "city-get-hoverboard"
|
||||
:continue "ctyfarma-airlock-movie"
|
||||
:info "city-get-hoverboard"
|
||||
:text #x2b3
|
||||
)
|
||||
(new 'static 'hud-scene-info
|
||||
:name "city-escort-kid-intro"
|
||||
:continue "escort-kid-intro"
|
||||
:info "city-escort-kid-intro"
|
||||
:text #x2a4
|
||||
)
|
||||
(new 'static 'hud-scene-info
|
||||
:name "dig-knock-down-scaffolding-intro"
|
||||
:continue "vinroom-start"
|
||||
:info "dig-knock-down-scaffolding-intro"
|
||||
:text #x2f6
|
||||
)
|
||||
(new 'static 'hud-scene-info
|
||||
:name "dig-digger-explode"
|
||||
:continue "dig1-start"
|
||||
:info "dig-digger-explode"
|
||||
:text #x2fa
|
||||
)
|
||||
(new 'static 'hud-scene-info
|
||||
:name "city-intercept-tanker-intro"
|
||||
:continue "ctymarkb-tanker"
|
||||
:info "city-intercept-tanker-intro"
|
||||
:text #x291
|
||||
)
|
||||
(new 'static 'hud-scene-info
|
||||
:name "city-intercept-tanker-res"
|
||||
:continue "ctymarkb-tanker"
|
||||
:info "city-intercept-tanker-res"
|
||||
:text #x292
|
||||
)
|
||||
(new 'static 'hud-scene-info
|
||||
:name "city-meet-brutter-intro"
|
||||
:continue "hiphog-start"
|
||||
:info "city-meet-brutter-intro"
|
||||
:text #x2a5
|
||||
)
|
||||
(new 'static 'hud-scene-info
|
||||
:name "city-meet-brutter-res"
|
||||
:continue "kiosk-start"
|
||||
:info "city-meet-brutter-res"
|
||||
:text #x2a6
|
||||
)
|
||||
(new 'static 'hud-scene-info :name "sewer-2-intro" :continue "hiphog-start" :info "sewer-2-intro" :text #x2c3)
|
||||
(new 'static 'hud-scene-info
|
||||
:name "sewer-drain-res"
|
||||
:continue "sewer-start"
|
||||
:info "sewer-drain-res"
|
||||
:text #x2c4
|
||||
)
|
||||
(new 'static 'hud-scene-info
|
||||
:name "ecowells-intro"
|
||||
:continue "vinroom-start"
|
||||
:info "ecowells-intro"
|
||||
:text #x28a
|
||||
)
|
||||
(new 'static 'hud-scene-info
|
||||
:name "ecowells-victory"
|
||||
:continue "strip-start"
|
||||
:info "ecowells-victory"
|
||||
:text #x28b
|
||||
)
|
||||
(new 'static 'hud-scene-info
|
||||
:name "drill-destroy-ship-intro"
|
||||
:continue "vinroom-start"
|
||||
:info "drill-destroy-ship-intro"
|
||||
:text #x2d6
|
||||
)
|
||||
(new 'static 'hud-scene-info
|
||||
:name "forest-hunt-camo-metal-heads-intro"
|
||||
:continue "hiphog-start"
|
||||
:info "forest-hunt-camo-metal-heads-intro"
|
||||
:text #x2f2
|
||||
)
|
||||
(new 'static 'hud-scene-info
|
||||
:name "city-class-3-race-intro"
|
||||
:continue "garage-class3-movie"
|
||||
:info "city-class-3-race-intro"
|
||||
:text #x296
|
||||
)
|
||||
(new 'static 'hud-scene-info
|
||||
:name "city-class-3-race-res"
|
||||
:continue "garage-class3-movie"
|
||||
:info "city-class-3-race-res"
|
||||
:text #x297
|
||||
)
|
||||
(new 'static 'hud-scene-info
|
||||
:name "city-protect-slums-intro"
|
||||
:continue "ctyslumc-seal-movie"
|
||||
:info "city-protect-slums-intro"
|
||||
:text #x2ba
|
||||
)
|
||||
(new 'static 'hud-scene-info
|
||||
:name "dig-find-totem-intro"
|
||||
:continue "onintent-start"
|
||||
:info "dig-find-totem-intro"
|
||||
:text #x2f8
|
||||
)
|
||||
(new 'static 'hud-scene-info
|
||||
:name "city-air-train-in-caspad"
|
||||
:continue "ctyport-air-train"
|
||||
:info "city-air-train-in-caspad"
|
||||
:text #x2b6
|
||||
)
|
||||
(new 'static 'hud-scene-info
|
||||
:name "caspad-air-train-out"
|
||||
:continue "caspad-warp"
|
||||
:info "caspad-air-train-out"
|
||||
:text #x2e5
|
||||
)
|
||||
(new 'static 'hud-scene-info
|
||||
:name "dig-find-totem-res"
|
||||
:continue "dig-totem"
|
||||
:info "dig-find-totem-res"
|
||||
:text #x2f9
|
||||
)
|
||||
(new 'static 'hud-scene-info
|
||||
:name "caspad-air-train-in"
|
||||
:continue "caspad-warp"
|
||||
:info "caspad-air-train-in"
|
||||
:text #x2e4
|
||||
)
|
||||
(new 'static 'hud-scene-info
|
||||
:name "city-air-train-out"
|
||||
:continue "ctyport-air-train"
|
||||
:info "city-air-train-out"
|
||||
:text #x2b8
|
||||
)
|
||||
(new 'static 'hud-scene-info
|
||||
:name "city-destroy-guard-vehicles-intro"
|
||||
:continue "hideout-start"
|
||||
:info "city-destroy-guard-vehicles-intro"
|
||||
:text #x28e
|
||||
)
|
||||
(new 'static 'hud-scene-info
|
||||
:name "city-play-onin-game-intro"
|
||||
:continue "onintent-start"
|
||||
:info "city-play-onin-game-intro"
|
||||
:text #x2a9
|
||||
)
|
||||
(new 'static 'hud-scene-info
|
||||
:name "city-play-onin-game-res"
|
||||
:continue "onintent-start"
|
||||
:info "city-play-onin-game-res"
|
||||
:text #x2aa
|
||||
)
|
||||
(new 'static 'hud-scene-info
|
||||
:name "canyon-insert-items-intro"
|
||||
:continue "mountain-movie"
|
||||
:info "canyon-insert-items-intro"
|
||||
:text #x2fc
|
||||
)
|
||||
(new 'static 'hud-scene-info
|
||||
:name "canyon-insert-items-res"
|
||||
:continue "mincan-city"
|
||||
:info "canyon-insert-items-res"
|
||||
:text #x2fb
|
||||
)
|
||||
(new 'static 'hud-scene-info
|
||||
:name "tomb-face-tests-intro"
|
||||
:continue "tombd-start"
|
||||
:info "tomb-face-tests-intro"
|
||||
:text #x2e6
|
||||
)
|
||||
(new 'static 'hud-scene-info
|
||||
:name "tomb-boulder-start"
|
||||
:continue "tomb-boulder"
|
||||
:info "tomb-boulder-start"
|
||||
:text #x2ef
|
||||
)
|
||||
(new 'static 'hud-scene-info
|
||||
:name "tomb-spider-scare"
|
||||
:continue "tomb-boulder-explode"
|
||||
:info "tomb-spider-scare"
|
||||
:text #x2f0
|
||||
)
|
||||
(new 'static 'hud-scene-info
|
||||
:name "tomb-unlock-start"
|
||||
:continue "tomb-water-switch"
|
||||
:info "tomb-unlock-start"
|
||||
:text #x2e9
|
||||
)
|
||||
(new 'static 'hud-scene-info
|
||||
:name "tomb-unlock-water"
|
||||
:continue "tomb-water-switch"
|
||||
:info "tomb-unlock-water"
|
||||
:text #x2ea
|
||||
)
|
||||
(new 'static 'hud-scene-info
|
||||
:name "tomb-unlock-poles"
|
||||
:continue "tomb-poles-switch"
|
||||
:info "tomb-unlock-poles"
|
||||
:text #x2eb
|
||||
)
|
||||
(new 'static 'hud-scene-info
|
||||
:name "tomb-boss-open"
|
||||
:continue "tombboss-start"
|
||||
:info "tomb-boss-open"
|
||||
:text #x2ec
|
||||
)
|
||||
(new 'static 'hud-scene-info
|
||||
:name "tomb-boss-intro"
|
||||
:continue "tombboss-start"
|
||||
:info "tomb-boss-intro"
|
||||
:text #x2ed
|
||||
)
|
||||
(new 'static 'hud-scene-info
|
||||
:name "tomb-boss-res"
|
||||
:continue "tombboss-start"
|
||||
:info "tomb-boss-res"
|
||||
:text #x2ee
|
||||
)
|
||||
)
|
||||
)
|
||||
|
||||
;; definition for symbol *hud-select-scene-act3*, type (array hud-scene-info)
|
||||
(define *hud-select-scene-act3*
|
||||
(new 'static 'boxed-array :type hud-scene-info
|
||||
(new 'static 'hud-scene-info
|
||||
:name "fortress-save-friends-intro-a"
|
||||
:continue "hideout-start"
|
||||
:info "fortress-save-friends-intro-a"
|
||||
:text #x2bf
|
||||
)
|
||||
(new 'static 'hud-scene-info
|
||||
:name "fortress-save-friends-res"
|
||||
:continue "prison-start"
|
||||
:info "fortress-save-friends-res"
|
||||
:text #x2c0
|
||||
)
|
||||
(new 'static 'hud-scene-info
|
||||
:name "sewer-blow-up-statue-intro"
|
||||
:continue "hiphog-start"
|
||||
:info "sewer-blow-up-statue-intro"
|
||||
:text #x2c5
|
||||
)
|
||||
(new 'static 'hud-scene-info
|
||||
:name "sewer-hosehead"
|
||||
:continue "sewesc-start"
|
||||
:info "sewer-hosehead"
|
||||
:text #x2c7
|
||||
)
|
||||
(new 'static 'hud-scene-info
|
||||
:name "sewer-blow-up-statue-res"
|
||||
:continue "sewesc-start"
|
||||
:info "sewer-blow-up-statue-res"
|
||||
:text #x2c6
|
||||
)
|
||||
(new 'static 'hud-scene-info
|
||||
:name "city-class-2-race-intro"
|
||||
:continue "garage-class3-movie"
|
||||
:info "city-class-2-race-intro"
|
||||
:text #x298
|
||||
)
|
||||
(new 'static 'hud-scene-info
|
||||
:name "city-class-2-race-res"
|
||||
:continue "garage-class3-movie"
|
||||
:info "city-class-2-race-res"
|
||||
:text #x299
|
||||
)
|
||||
(new 'static 'hud-scene-info
|
||||
:name "city-stop-bomb-bots-intro"
|
||||
:continue "hideout-start"
|
||||
:info "city-stop-bomb-bots-intro"
|
||||
:text #x2ac
|
||||
)
|
||||
(new 'static 'hud-scene-info
|
||||
:name "city-get-dark-gun"
|
||||
:continue "gungame-movie"
|
||||
:info "city-get-dark-gun"
|
||||
:text #x2b5
|
||||
)
|
||||
(new 'static 'hud-scene-info
|
||||
:name "city-errol-challenge-intro"
|
||||
:continue "hiphog-start"
|
||||
:info "city-errol-challenge-intro"
|
||||
:text #x2ad
|
||||
)
|
||||
(new 'static 'hud-scene-info
|
||||
:name "city-errol-challenge-res"
|
||||
:continue "garage-start-class3"
|
||||
:info "city-errol-challenge-res"
|
||||
:text #x2bb
|
||||
)
|
||||
(new 'static 'hud-scene-info
|
||||
:name "ruins-get-to-hut-res"
|
||||
:continue "ruins-hut"
|
||||
:info "ruins-get-to-hut-res"
|
||||
:text #x285
|
||||
)
|
||||
(new 'static 'hud-scene-info
|
||||
:name "forest-protect-samos-intro-a"
|
||||
:continue "onintent-start"
|
||||
:info "forest-protect-samos-intro-a"
|
||||
:text #x2f3
|
||||
)
|
||||
(new 'static 'hud-scene-info
|
||||
:name "forest-protect-samos-intro-b"
|
||||
:continue "forest-tree"
|
||||
:info "forest-protect-samos-intro-b"
|
||||
:text #x2f4
|
||||
)
|
||||
(new 'static 'hud-scene-info
|
||||
:name "forest-protect-samos-res"
|
||||
:continue "forest-tree"
|
||||
:info "forest-protect-samos-res"
|
||||
:text #x2f5
|
||||
)
|
||||
(new 'static 'hud-scene-info :name "crane-intro" :continue "vinroom-start" :info "crane-intro" :text #x288)
|
||||
(new 'static 'hud-scene-info :name "crane-victory" :continue "strip-start" :info "crane-victory" :text #x289)
|
||||
(new 'static 'hud-scene-info
|
||||
:name "drill-destroy-control-tower-intro"
|
||||
:continue "vinroom-start"
|
||||
:info "drill-destroy-control-tower-intro"
|
||||
:text #x2d7
|
||||
)
|
||||
(new 'static 'hud-scene-info
|
||||
:name "drill-top-explode"
|
||||
:continue "drillmid-checkpoint"
|
||||
:info "drill-top-explode"
|
||||
:text #x2d8
|
||||
)
|
||||
(new 'static 'hud-scene-info
|
||||
:name "city-save-lurkers-intro"
|
||||
:continue "kiosk-start"
|
||||
:info "city-save-lurkers-intro"
|
||||
:text #x2ab
|
||||
)
|
||||
(new 'static 'hud-scene-info
|
||||
:name "city-class-1-race-intro-a"
|
||||
:continue "garage-class3-movie"
|
||||
:info "city-class-1-race-intro-a"
|
||||
:text #x29a
|
||||
)
|
||||
(new 'static 'hud-scene-info
|
||||
:name "city-class-1-race-intro-b"
|
||||
:continue "stadiumd-start"
|
||||
:info "city-class-1-race-intro-b"
|
||||
:text #x29b
|
||||
)
|
||||
(new 'static 'hud-scene-info
|
||||
:name "city-class-1-race-res"
|
||||
:continue "stadiumd-start"
|
||||
:info "city-class-1-race-res"
|
||||
:text #x29c
|
||||
)
|
||||
(new 'static 'hud-scene-info
|
||||
:name "palace-sneak-in-res"
|
||||
:continue "palroof-throne"
|
||||
:info "palace-sneak-in-res"
|
||||
:text #x2e0
|
||||
)
|
||||
(new 'static 'hud-scene-info
|
||||
:name "castle-krew-boss-fight-intro"
|
||||
:continue "casboss-start"
|
||||
:info "castle-krew-boss-fight-intro"
|
||||
:text #x2e2
|
||||
)
|
||||
(new 'static 'hud-scene-info
|
||||
:name "castle-krew-boss-fight-res"
|
||||
:continue "casboss-start"
|
||||
:info "castle-krew-boss-fight-res"
|
||||
:text #x2e3
|
||||
)
|
||||
(new 'static 'hud-scene-info
|
||||
:name "city-ashelin-drop-off"
|
||||
:continue "ctyport-air-train-ashelin"
|
||||
:info "city-ashelin-drop-off"
|
||||
:text #x2b9
|
||||
)
|
||||
(new 'static 'hud-scene-info
|
||||
:name "city-whack-a-metal-intro"
|
||||
:continue "hiphog-start"
|
||||
:info "city-whack-a-metal-intro"
|
||||
:text #x2ae
|
||||
)
|
||||
(new 'static 'hud-scene-info
|
||||
:name "city-whack-a-metal-res"
|
||||
:continue "hiphog-start"
|
||||
:info "city-whack-a-metal-res"
|
||||
:text #x2af
|
||||
)
|
||||
(new 'static 'hud-scene-info
|
||||
:name "city-defend-stadium-intro"
|
||||
:continue "stadium-blimp"
|
||||
:info "city-defend-stadium-intro"
|
||||
:text #x2b0
|
||||
)
|
||||
(new 'static 'hud-scene-info
|
||||
:name "city-defend-stadium-res"
|
||||
:continue "stadium-blimp"
|
||||
:info "city-defend-stadium-res"
|
||||
:text #x2b1
|
||||
)
|
||||
(new 'static 'hud-scene-info
|
||||
:name "under-find-sig-res"
|
||||
:continue "under-start"
|
||||
:info "under-find-sig-res"
|
||||
:text #x2fd
|
||||
)
|
||||
(new 'static 'hud-scene-info
|
||||
:name "under-centipede-one"
|
||||
:continue "under-start"
|
||||
:info "under-centipede-one"
|
||||
:text #x2fe
|
||||
)
|
||||
(new 'static 'hud-scene-info
|
||||
:name "under-centipede-two"
|
||||
:continue "under-start"
|
||||
:info "under-centipede-two"
|
||||
:text #x2ff
|
||||
)
|
||||
(new 'static 'hud-scene-info
|
||||
:name "under-centipede-three"
|
||||
:continue "under-start"
|
||||
:info "under-centipede-three"
|
||||
:text #x300
|
||||
)
|
||||
(new 'static 'hud-scene-info
|
||||
:name "under-get-sig-out-res"
|
||||
:continue "under-start"
|
||||
:info "under-get-sig-out-res"
|
||||
:text #x301
|
||||
)
|
||||
(new 'static 'hud-scene-info
|
||||
:name "consite-find-baron-res"
|
||||
:continue "consite-start"
|
||||
:info "consite-find-baron-res"
|
||||
:text #x2e1
|
||||
)
|
||||
(new 'static 'hud-scene-info
|
||||
:name "nest-break-barrier-res"
|
||||
:continue "nest-gun"
|
||||
:info "nest-break-barrier-res"
|
||||
:text #x302
|
||||
)
|
||||
(new 'static 'hud-scene-info
|
||||
:name "nest-air-train-out"
|
||||
:continue "nest-warp"
|
||||
:info "nest-air-train-out"
|
||||
:text #x303
|
||||
)
|
||||
(new 'static 'hud-scene-info
|
||||
:name "nest-air-train-in"
|
||||
:continue "nest-warp"
|
||||
:info "nest-air-train-in"
|
||||
:text #x304
|
||||
)
|
||||
(new 'static 'hud-scene-info
|
||||
:name "nest-boss-intro"
|
||||
:continue "nestb-boss"
|
||||
:info "nest-kor-boss-fight-intro-b"
|
||||
:text #x306
|
||||
)
|
||||
(new 'static 'hud-scene-info
|
||||
:name "nest-boss-mid"
|
||||
:continue "nestb-boss"
|
||||
:info "nest-kor-boss-fight-mid"
|
||||
:text #x305
|
||||
)
|
||||
(new 'static 'hud-scene-info
|
||||
:name "outro"
|
||||
:continue "nestb-outro"
|
||||
:info '("outro-nest" "outro-palace" "outro-hiphog" "outro-port")
|
||||
:text #x308
|
||||
)
|
||||
)
|
||||
)
|
||||
+4084
File diff suppressed because it is too large
Load Diff
+294
-59
@@ -93,15 +93,15 @@
|
||||
)
|
||||
|
||||
;; definition for function convert-korean-text
|
||||
(defun convert-korean-text ((arg0 game-text))
|
||||
"Converts the provided [[game-text]] into korean. Returns a [[string]]"
|
||||
(defun convert-korean-text ((arg0 string))
|
||||
"Converts the provided [[string]] of [[game-text]] into korean. Returns a [[string]]"
|
||||
(local-vars (v1-21 int))
|
||||
(let ((gp-0 (&-> arg0 text)))
|
||||
(let ((gp-0 (-> arg0 data)))
|
||||
*expanded-text-line0*
|
||||
(let ((s4-0 0))
|
||||
0
|
||||
(let ((s1-0 0)
|
||||
(s5-0 ((method-of-type string length) (the-as string arg0)))
|
||||
(s5-0 (length arg0))
|
||||
)
|
||||
(set! *expand-buf-number* (logxor *expand-buf-number* 1))
|
||||
(let ((s3-0 (if (zero? *expand-buf-number*)
|
||||
@@ -114,33 +114,26 @@
|
||||
(clear s3-0)
|
||||
(while (< s4-0 s5-0)
|
||||
(cond
|
||||
((= (-> (the-as (pointer uint8) (&+ gp-0 s4-0))) 3)
|
||||
((= (-> gp-0 s4-0) 3)
|
||||
(+! s4-0 1)
|
||||
(while (and (< s4-0 s5-0)
|
||||
(!= (-> (the-as (pointer uint8) (&+ gp-0 s4-0))) 3)
|
||||
(!= (-> (the-as (pointer uint8) (&+ gp-0 s4-0))) 4)
|
||||
)
|
||||
(set! (-> s3-0 data s1-0) (-> (the-as (pointer uint8) (&+ gp-0 s4-0))))
|
||||
(while (and (< s4-0 s5-0) (!= (-> gp-0 s4-0) 3) (!= (-> gp-0 s4-0) 4))
|
||||
(set! (-> s3-0 data s1-0) (-> gp-0 s4-0))
|
||||
(+! s4-0 1)
|
||||
(+! s1-0 1)
|
||||
)
|
||||
)
|
||||
(else
|
||||
(let ((v1-17 (+ s4-0 1)))
|
||||
(-> (the-as (pointer uint8) (&+ gp-0 v1-17)))
|
||||
(-> gp-0 v1-17)
|
||||
(set! s4-0 (+ v1-17 1))
|
||||
)
|
||||
(set! (-> s3-0 data s1-0) (the-as uint 126))
|
||||
(let ((v1-19 (+ s1-0 1)))
|
||||
(set! (-> s3-0 data v1-19) (the-as uint 89))
|
||||
(let ((v1-20 (+ v1-19 1)))
|
||||
(while (and (< s4-0 s5-0)
|
||||
(< v1-20 s2-0)
|
||||
(!= (-> (the-as (pointer uint8) (&+ gp-0 s4-0))) 3)
|
||||
(!= (-> (the-as (pointer uint8) (&+ gp-0 s4-0))) 4)
|
||||
)
|
||||
(while (and (< s4-0 s5-0) (< v1-20 s2-0) (!= (-> gp-0 s4-0) 3) (!= (-> gp-0 s4-0) 4))
|
||||
(cond
|
||||
((= (-> (the-as (pointer uint8) (&+ gp-0 s4-0))) 5)
|
||||
((= (-> gp-0 s4-0) 5)
|
||||
(set! (-> s3-0 data v1-20) (the-as uint 1))
|
||||
(+! s4-0 1)
|
||||
(set! v1-21 (+ v1-20 1))
|
||||
@@ -150,7 +143,7 @@
|
||||
(set! v1-21 (+ v1-20 1))
|
||||
)
|
||||
)
|
||||
(set! (-> s3-0 data v1-21) (-> (the-as (pointer uint8) (&+ gp-0 s4-0))))
|
||||
(set! (-> s3-0 data v1-21) (-> gp-0 s4-0))
|
||||
(+! s4-0 1)
|
||||
(let ((v1-22 (+ v1-21 1)))
|
||||
(set! (-> s3-0 data v1-22) (the-as uint 126))
|
||||
@@ -230,7 +223,7 @@
|
||||
)
|
||||
)
|
||||
((= (-> obj language-id) 6)
|
||||
(convert-korean-text (the-as game-text (-> obj data v1-2 text)))
|
||||
(convert-korean-text (-> obj data v1-2 text))
|
||||
)
|
||||
(else
|
||||
(-> obj data v1-2 text)
|
||||
@@ -257,7 +250,261 @@
|
||||
(define text-is-loading #f)
|
||||
|
||||
;; definition for function load-game-text-info
|
||||
;; ERROR: function was not converted to expressions. Cannot decompile.
|
||||
;; WARN: Found some very strange gotos. Check result carefully, this is not well tested.
|
||||
;; ERROR: failed type prop at 3: Could not figure out load: (set! v1 (l.wu gp))
|
||||
;; WARN: Return type mismatch none vs int.
|
||||
(defun load-game-text-info ((a0-0 string) (a1-0 symbol) (a2-0 kheap))
|
||||
"Load text, if needed. txt-name is the group name, curr-text is the _symbol_ for
|
||||
the game-text-info, and heap is the heap to load to. The heap will be cleared."
|
||||
(local-vars
|
||||
(v0-0 none)
|
||||
(v0-1 none)
|
||||
(v0-2 none)
|
||||
(v0-3 none)
|
||||
(v0-4 none)
|
||||
(v0-5 none)
|
||||
(v0-6 none)
|
||||
(v0-7 none)
|
||||
(v0-8 none)
|
||||
(v0-9 none)
|
||||
(v0-10 none)
|
||||
(v0-11 none)
|
||||
(v0-12 none)
|
||||
(v0-13 none)
|
||||
(v1-0 game-text-info)
|
||||
(v1-1 none)
|
||||
(v1-2 none)
|
||||
(v1-3 none)
|
||||
(v1-4 none)
|
||||
(v1-5 none)
|
||||
(v1-6 none)
|
||||
(v1-7 none)
|
||||
(v1-9 none)
|
||||
(v1-10 none)
|
||||
(v1-11 none)
|
||||
(v1-12 none)
|
||||
(v1-13 none)
|
||||
(v1-14 none)
|
||||
(v1-16 none)
|
||||
(v1-17 none)
|
||||
(v1-18 none)
|
||||
(v1-20 none)
|
||||
(v1-21 none)
|
||||
(v1-24 none)
|
||||
(v1-25 none)
|
||||
(v1-26 none)
|
||||
(a0-1 none)
|
||||
(a0-2 none)
|
||||
(a0-3 none)
|
||||
(a0-4 none)
|
||||
(a0-5 none)
|
||||
(a0-6 none)
|
||||
(a0-7 none)
|
||||
(a0-8 none)
|
||||
(a0-10 none)
|
||||
(a0-11 none)
|
||||
(a0-12 none)
|
||||
(a0-13 none)
|
||||
(a0-14 none)
|
||||
(a0-15 none)
|
||||
(a0-17 none)
|
||||
(a0-18 none)
|
||||
(a0-19 none)
|
||||
(a0-20 none)
|
||||
(a0-21 none)
|
||||
(a0-22 none)
|
||||
(a1-2 none)
|
||||
(a1-3 none)
|
||||
(a1-4 none)
|
||||
(a1-5 none)
|
||||
(a1-6 none)
|
||||
(a1-7 none)
|
||||
(a1-8 none)
|
||||
(a1-9 none)
|
||||
(a2-1 none)
|
||||
(a2-2 none)
|
||||
(a2-3 none)
|
||||
(a2-4 none)
|
||||
(a2-5 none)
|
||||
(a2-6 none)
|
||||
(a3-1 none)
|
||||
(a3-2 none)
|
||||
(t0-0 none)
|
||||
(s1-0 none)
|
||||
(s2-0 none)
|
||||
(s2-1 none)
|
||||
(s3-0 none)
|
||||
(s3-1 none)
|
||||
(t9-0 none)
|
||||
(t9-1 none)
|
||||
(t9-2 none)
|
||||
(t9-3 none)
|
||||
(t9-4 none)
|
||||
(t9-5 none)
|
||||
(t9-6 none)
|
||||
(t9-7 none)
|
||||
(t9-8 none)
|
||||
(t9-9 none)
|
||||
(t9-10 none)
|
||||
(t9-11 none)
|
||||
(t9-12 none)
|
||||
(sv-16 none)
|
||||
(sv-24 none)
|
||||
(sv-32 none)
|
||||
(sv-40 none)
|
||||
)
|
||||
(when (begin
|
||||
(when (begin
|
||||
(and (begin
|
||||
(set! v1-0 (the-as game-text-info (l.wu a1-0)))
|
||||
(set! sv-16 v1-0)
|
||||
(set! v1-1 (the-as none *setting-control*))
|
||||
(set! v1-2 (the-as none (l.d (+ v1-1 28))))
|
||||
(set! sv-24 v1-2)
|
||||
(set! sv-32 0)
|
||||
(set! v1-3 (the-as none (-> a2-0 top)))
|
||||
(set! a0-1 (the-as none (-> a2-0 base)))
|
||||
(set! v1-4 (the-as none (- v1-3 a0-1)))
|
||||
(set! sv-40 v1-4)
|
||||
(set! t9-0 (the-as none scf-get-territory))
|
||||
(set! v0-0 (the-as none (call!)))
|
||||
(set! v1-5 (the-as none (+ v0-0 -1)))
|
||||
(set! a0-2 (the-as none (zero? v1-5)))
|
||||
a0-2
|
||||
)
|
||||
(begin (set! v1-7 sv-24) (zero? v1-7))
|
||||
(begin (set! t9-1 (the-as none demo?)) (set! v0-1 (the-as none (call!))) (set! v1-6 (the-as none (not v0-1))))
|
||||
)
|
||||
v1-6
|
||||
)
|
||||
(set! v1-9 (the-as none 7))
|
||||
(set! sv-24 v1-9)
|
||||
)
|
||||
(or (begin (set! v1-10 sv-16) (set! a0-3 (the-as none (= v1-10 #f))) a0-3)
|
||||
(begin
|
||||
(set! v1-12 sv-16)
|
||||
(set! v1-13 (the-as none (l.w (+ v1-12 4))))
|
||||
(set! a0-4 sv-24)
|
||||
(set! a0-5 (the-as none (!= v1-13 a0-4)))
|
||||
a0-5
|
||||
)
|
||||
(begin
|
||||
(set! t9-2 (the-as none string=))
|
||||
(set! v1-14 sv-16)
|
||||
(set! a0-6 (the-as none (l.wu (+ v1-14 8))))
|
||||
(set! a1-1 (the-as none a0-0))
|
||||
(set! v0-2 (the-as none (call!)))
|
||||
(set! v1-11 (the-as none (not v0-2)))
|
||||
)
|
||||
)
|
||||
v1-11
|
||||
)
|
||||
(cond
|
||||
((begin
|
||||
(set! v1-16 (the-as none a2-0))
|
||||
(set! a0-7 (the-as none (l.wu v1-16)))
|
||||
(s.w! (+ v1-16 8) a0-7)
|
||||
((b! #t L50 (nop!)) (nop!))
|
||||
(label cfg-16)
|
||||
(set! v0-3 (the-as none 0))
|
||||
((b! #t L56 (nop!)) (nop!))
|
||||
(label cfg-17)
|
||||
(set! s3-0 (the-as none str-load))
|
||||
(set! s2-0 (the-as none format))
|
||||
(set! t9-3 (the-as none clear))
|
||||
(set! a0-8 (the-as none *temp-string*))
|
||||
(call!)
|
||||
(set! a0-9 (the-as none v0-4))
|
||||
(set! a1-2 (the-as none L100))
|
||||
(set! a2-1 sv-24)
|
||||
(set! a3-0 (the-as none a0-0))
|
||||
(set! t9-4 (the-as none s2-0))
|
||||
(call!)
|
||||
(set! a0-10 (the-as none *temp-string*))
|
||||
(set! a1-3 (the-as none -1))
|
||||
(set! v1-17 (the-as none -64))
|
||||
(set! a2-2 (the-as none (l.wu (+ a2-0 8))))
|
||||
(set! a2-3 (the-as none (+ a2-2 63)))
|
||||
(set! a2-4 (the-as none (logand v1-17 a2-3)))
|
||||
(set! v1-18 (the-as none (l.wu (+ a2-0 4))))
|
||||
(set! a3-1 (the-as none (l.wu (+ a2-0 8))))
|
||||
(set! a3-2 (the-as none (- v1-18 a3-1)))
|
||||
(set! t9-5 (the-as none s3-0))
|
||||
(set! v0-6 (the-as none (call!)))
|
||||
((b! (not v0-6) L49 (nop!)) (nop!))
|
||||
(label cfg-19)
|
||||
(set! t9-6 (the-as none str-load-status))
|
||||
(set! a0-11 (& sv-32))
|
||||
(set! v0-7 (the-as none (call!)))
|
||||
(set! v1-20 (the-as none v0-7))
|
||||
(set! a0-12 (the-as none 'error))
|
||||
((b! (!= v1-20 a0-12) L52 (set! a0-13 #f)) (empty-form))
|
||||
(set! t9-7 (the-as none format))
|
||||
(set! a0-14 (the-as none 0))
|
||||
(set! a1-4 (the-as none L99))
|
||||
(call!)
|
||||
(set! v0-3 (the-as none 0))
|
||||
((b! #t L56 (nop!)) (nop!))
|
||||
(set! v1-21 (the-as none 0))
|
||||
((b! #t L54 (nop!)) (nop!))
|
||||
(label cfg-22)
|
||||
(set! a0-15 sv-32)
|
||||
(set! a1-5 sv-40)
|
||||
(set! a1-6 (the-as none (+ a1-5 -300)))
|
||||
(>=.si a0-15 a1-6)
|
||||
)
|
||||
(return (begin
|
||||
(set! t9-8 (the-as none format))
|
||||
(set! a0-17 (the-as none 0))
|
||||
(set! a1-7 (the-as none L98))
|
||||
(call!)
|
||||
(set! v0-3 (the-as none 0))
|
||||
)
|
||||
)
|
||||
)
|
||||
((begin (set! a0-18 (the-as none 'busy)) (= v1-20 a0-18))
|
||||
(begin (nop!) (nop!) (nop!) (nop!) (nop!) (nop!) (goto cfg-19))
|
||||
)
|
||||
)
|
||||
(if (begin
|
||||
(label cfg-27)
|
||||
(set! v1-24 (the-as none -64))
|
||||
(set! a0-19 (the-as none (l.wu (+ a2-0 8))))
|
||||
(set! a0-20 (the-as none (+ a0-19 63)))
|
||||
(set! s2-1 (the-as none (logand v1-24 a0-20)))
|
||||
(set! t9-9 (the-as none flush-cache))
|
||||
(set! a0-21 (the-as none 0))
|
||||
(call!)
|
||||
(set! s3-1 (the-as none link))
|
||||
(set! s1-0 (the-as none format))
|
||||
(set! t9-10 (the-as none clear))
|
||||
(set! a0-22 (the-as none *temp-string*))
|
||||
(call!)
|
||||
(set! a0-23 (the-as none v0-11))
|
||||
(set! a1-8 (the-as none L100))
|
||||
(set! a2-5 sv-24)
|
||||
(set! t9-11 (the-as none s1-0))
|
||||
(set! a3-3 (the-as none a0-0))
|
||||
(call!)
|
||||
(set! v1-25 (the-as none *temp-string*))
|
||||
(set! a1-9 (the-as none (+ v1-25 4)))
|
||||
(set! a2-6 sv-32)
|
||||
(set! t0-0 (the-as none 0))
|
||||
(set! t9-12 (the-as none s3-1))
|
||||
(set! a0-24 (the-as none s2-1))
|
||||
(set! a3-4 (the-as none a2-0))
|
||||
(set! v0-13 (the-as none (call!)))
|
||||
(s.w! a1-0 v0-13)
|
||||
(set! v1-26 (the-as none (l.wu a1-0)))
|
||||
(<=0.si v1-26)
|
||||
)
|
||||
(s.w! a1-0 #f)
|
||||
)
|
||||
)
|
||||
(set! v0-3 (the-as none 0))
|
||||
(label cfg-30)
|
||||
(ret-value v0-3)
|
||||
)
|
||||
|
||||
;; definition for function load-level-text-files
|
||||
;; WARN: Return type mismatch int vs none.
|
||||
@@ -278,53 +525,41 @@
|
||||
"Draws some lines"
|
||||
(when *cheat-mode*
|
||||
(let ((s5-0 (new 'static 'vector4w))
|
||||
(gp-0 (new 'static 'matrix))
|
||||
(gp-0 (new 'static 'vector4w-4))
|
||||
)
|
||||
(set-vector!
|
||||
(-> gp-0 vector 0)
|
||||
(the-as float (the int (+ -256.0 (-> arg0 origin x))))
|
||||
(the-as float (the int (+ -208.0 (-> arg0 origin y))))
|
||||
0.0
|
||||
(the-as float #x1)
|
||||
(the int (+ -256.0 (-> arg0 origin x)))
|
||||
(the int (+ -208.0 (-> arg0 origin y)))
|
||||
0
|
||||
1
|
||||
)
|
||||
(set-vector!
|
||||
(-> gp-0 vector 1)
|
||||
(the-as float (the int (+ -256.0 (-> arg0 width) (-> arg0 origin x))))
|
||||
(the-as float (the int (+ -208.0 (-> arg0 origin y))))
|
||||
0.0
|
||||
(the-as float #x1)
|
||||
(the int (+ -256.0 (-> arg0 width) (-> arg0 origin x)))
|
||||
(the int (+ -208.0 (-> arg0 origin y)))
|
||||
0
|
||||
1
|
||||
)
|
||||
(set-vector!
|
||||
(-> gp-0 vector 2)
|
||||
(the-as float (the int (+ -256.0 (-> arg0 width) (-> arg0 origin x))))
|
||||
(the-as float (the int (+ -208.0 (-> arg0 height) (-> arg0 origin y))))
|
||||
0.0
|
||||
(the-as float #x1)
|
||||
(the int (+ -256.0 (-> arg0 width) (-> arg0 origin x)))
|
||||
(the int (+ -208.0 (-> arg0 height) (-> arg0 origin y)))
|
||||
0
|
||||
1
|
||||
)
|
||||
(set-vector!
|
||||
(-> gp-0 trans)
|
||||
(the-as float (the int (+ -256.0 (-> arg0 origin x))))
|
||||
(the-as float (the int (+ -208.0 (-> arg0 height) (-> arg0 origin y))))
|
||||
0.0
|
||||
(the-as float #x1)
|
||||
(-> gp-0 vector 3)
|
||||
(the int (+ -256.0 (-> arg0 origin x)))
|
||||
(the int (+ -208.0 (-> arg0 height) (-> arg0 origin y)))
|
||||
0
|
||||
1
|
||||
)
|
||||
(set-vector! s5-0 128 128 128 128)
|
||||
(add-debug-line2d
|
||||
#t
|
||||
(bucket-id debug-no-zbuf1)
|
||||
(the-as vector (-> gp-0 vector))
|
||||
(-> gp-0 vector 1)
|
||||
(the-as vector s5-0)
|
||||
)
|
||||
(add-debug-line2d #t (bucket-id debug-no-zbuf1) (-> gp-0 vector 1) (-> gp-0 vector 2) (the-as vector s5-0))
|
||||
(add-debug-line2d #t (bucket-id debug-no-zbuf1) (-> gp-0 vector 2) (-> gp-0 trans) (the-as vector s5-0))
|
||||
(add-debug-line2d
|
||||
#t
|
||||
(bucket-id debug-no-zbuf1)
|
||||
(-> gp-0 trans)
|
||||
(the-as vector (-> gp-0 vector))
|
||||
(the-as vector s5-0)
|
||||
)
|
||||
(add-debug-line2d #t (bucket-id debug-no-zbuf1) (the-as vector4w (-> gp-0 vector)) (-> gp-0 vector 1) s5-0)
|
||||
(add-debug-line2d #t (bucket-id debug-no-zbuf1) (-> gp-0 vector 1) (-> gp-0 vector 2) s5-0)
|
||||
(add-debug-line2d #t (bucket-id debug-no-zbuf1) (-> gp-0 vector 2) (-> gp-0 vector 3) s5-0)
|
||||
(add-debug-line2d #t (bucket-id debug-no-zbuf1) (-> gp-0 vector 3) (the-as vector4w (-> gp-0 vector)) s5-0)
|
||||
)
|
||||
)
|
||||
0
|
||||
@@ -573,11 +808,11 @@
|
||||
(draw-string *game-text-line* s2-1 arg1)
|
||||
(set! (-> arg1 color) (-> *font-work* last-color))
|
||||
(let ((a3-2 (-> s2-1 base)))
|
||||
(let ((v1-121 (-> s2-1 base)))
|
||||
(set! (-> (the-as (pointer int64) v1-121)) #x20000000)
|
||||
(s.w! (+ v1-121 8) 0)
|
||||
(s.w! (+ v1-121 12) 0)
|
||||
(set! (-> s2-1 base) (&+ v1-121 16))
|
||||
(let ((v1-121 (the-as object (-> s2-1 base))))
|
||||
(set! (-> (the-as dma-packet v1-121) dma) (new 'static 'dma-tag :id (dma-tag-id next)))
|
||||
(set! (-> (the-as dma-packet v1-121) vif0) (new 'static 'vif-tag))
|
||||
(set! (-> (the-as dma-packet v1-121) vif1) (new 'static 'vif-tag))
|
||||
(set! (-> s2-1 base) (&+ (the-as pointer v1-121) 16))
|
||||
)
|
||||
(dma-bucket-insert-tag
|
||||
(-> *display* frames (-> *display* on-screen) bucket-group)
|
||||
|
||||
@@ -27,6 +27,8 @@
|
||||
"rand-vu-init",
|
||||
"rand-vu",
|
||||
"rand-vu-nostep",
|
||||
// text - TODO - https://github.com/open-goal/jak-project/issues/1939
|
||||
"load-game-text-info",
|
||||
// MATRIX
|
||||
"matrix-axis-sin-cos-vu!",
|
||||
"matrix-axis-sin-cos!",
|
||||
@@ -63,10 +65,6 @@
|
||||
"(method 17 trsqv)",
|
||||
// history - rgba issues
|
||||
"history-draw",
|
||||
// text - cfg failure
|
||||
"load-game-text-info",
|
||||
// - never fixed this one in jak 1, assumed there was an original bug?
|
||||
"print-game-text",
|
||||
// joint asm
|
||||
"cspace<-parented-transformq-joint!",
|
||||
"(method 11 art-joint-anim-manager)",
|
||||
@@ -91,22 +89,12 @@
|
||||
"v-slrp2!",
|
||||
"v-slrp3!",
|
||||
// cam-master
|
||||
// - focus understanding / decomp crashes
|
||||
"reset-target-tracking",
|
||||
// - incomplete bitfield?
|
||||
"(method 16 camera-master)",
|
||||
"master-track-target",
|
||||
// cam-states
|
||||
// - mostly decompiler crashes/hangs
|
||||
"cam-bike-code",
|
||||
"cam-stick-code",
|
||||
"cam-string-code",
|
||||
"cam-string-line-of-sight",
|
||||
"cam-string-joystick", // whats butt-handle!
|
||||
"cam-circular-code",
|
||||
"cam-circular-position",
|
||||
"cam-los-collide", // vector-dot with stack
|
||||
// cam-update
|
||||
"update-visible", // assertion crash when filling out bsp-header
|
||||
// - vector-dot issue
|
||||
"cam-los-collide",
|
||||
|
||||
// sparticle-launcher
|
||||
// - field loaded as signed and unsigned
|
||||
"sp-relaunch-particle-3d",
|
||||
@@ -173,10 +161,5 @@
|
||||
],
|
||||
|
||||
"skip_compile_states": {
|
||||
"cam-bike": [
|
||||
"code" // hang
|
||||
],
|
||||
"cam-stick": ["code"],
|
||||
"cam-circular": ["enter", "event"]
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user