d/jak2: finish more of cam-master which allows the game to start it's settings routine

This commit is contained in:
Tyler Wilding
2022-10-06 23:12:34 -04:00
parent 362e6b69b4
commit 2e45e11f41
13 changed files with 2590 additions and 252 deletions
+1 -1
View File
@@ -11,7 +11,7 @@
(define-extern load-game-text-info
"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."
(function string (pointer game-text-info) kheap int))
(function string symbol kheap int))
(define-extern print-game-text-scaled "Print text, with a given scaling" (function string float font-context int none))
(define-extern print-game-text "Print text." (function string font-context symbol int int float))
+6 -7
View File
@@ -168,7 +168,6 @@
)
(defmethod lookup-text! game-text-info ((obj game-text-info) (arg0 game-text-id) (arg1 symbol))
(format 0 "hello world")
(cond
((= obj #f)
(cond
@@ -234,11 +233,11 @@
(define text-is-loading #f)
;; WARN: Found some very strange gotos. Check result carefully, this is not well tested.
(defun load-game-text-info ((arg0 string) (arg1 (pointer game-text-info)) (arg2 kheap))
(defun load-game-text-info ((arg0 string) (arg1 symbol) (arg2 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-3 int) (sv-16 game-text-info) (sv-24 int) (sv-32 int) (sv-40 int))
(set! sv-16 (-> arg1 0))
(set! sv-16 (the-as game-text-info (-> arg1 value)))
(set! sv-24 (the-as int (-> *setting-control* user-current language)))
(set! sv-32 0)
(set! sv-40 (&- (-> arg2 top) (the-as uint (-> arg2 base))))
@@ -298,11 +297,11 @@
(flush-cache 0)
(let ((s3-1 link))
(format (clear *temp-string*) "~D~S.TXT" sv-24 arg0)
(set! (-> arg1 0) (the-as game-text-info (s3-1 s2-1 (-> *temp-string* data) sv-32 arg2 0)))
(set! (-> arg1 value) (s3-1 s2-1 (-> *temp-string* data) sv-32 arg2 0))
)
)
(if (<= (the-as int (-> arg1 0)) 0)
(set! (-> arg1 0) #f)
(if (<= (the-as int (-> arg1 value)) 0)
(set! (-> arg1 value) (the-as object #f))
)
)
(set! v0-3 0)
@@ -315,7 +314,7 @@
This function made more sense back when text files were split up, but in the end they put everything
in a single text group and file."
(if (or *level-text-file-load-flag* (>= arg0 0))
(load-game-text-info "common" (the-as (pointer game-text-info) '*common-text*) *common-text-heap*)
(load-game-text-info "common" '*common-text* *common-text-heap*)
)
0
(none)