mirror of
https://github.com/open-goal/jak-project
synced 2026-07-09 06:53:45 -04:00
Decompile level (#3433)
This commit is contained in:
+152
-101
@@ -3003,9 +3003,23 @@
|
||||
:flag-assert #x90000004c
|
||||
)
|
||||
|
||||
(defenum sound-bank-mode
|
||||
:type uint32
|
||||
(none 0)
|
||||
(unknown 1)
|
||||
(common 2)
|
||||
(mode 3)
|
||||
(full 4)
|
||||
(half 5)
|
||||
(halfa 6)
|
||||
(halfb 7)
|
||||
(halfc 8)
|
||||
(virtual 9)
|
||||
)
|
||||
|
||||
(deftype sound-bank-state (structure)
|
||||
((name symbol :offset-assert 0)
|
||||
(mode uint32 :offset-assert 4)
|
||||
(mode sound-bank-mode :offset-assert 4)
|
||||
)
|
||||
:pack-me
|
||||
:method-count-assert 9
|
||||
@@ -7375,9 +7389,9 @@
|
||||
)
|
||||
|
||||
(deftype level-borrow-info (basic)
|
||||
((alias symbol :offset-assert 4)
|
||||
((alias object :offset-assert 4)
|
||||
(borrow-size uint16 5 :offset-assert 8)
|
||||
(borrow-info symbol 5 :offset-assert 20)
|
||||
(borrow-info object 5 :offset-assert 20)
|
||||
)
|
||||
:method-count-assert 9
|
||||
:size-assert #x28
|
||||
@@ -7546,6 +7560,14 @@
|
||||
)
|
||||
;; ---level-h:city-map-bits
|
||||
|
||||
(defenum level-callback-slot
|
||||
:type uint32
|
||||
(level-birth-1 33)
|
||||
(level-unload 34)
|
||||
(level-birth-2 35)
|
||||
(level-deactivate 36)
|
||||
)
|
||||
|
||||
(deftype level-load-info (basic)
|
||||
((name-list symbol 6 :offset-assert 4) ;; guessed by decompiler
|
||||
(name symbol :offset 4) ;; guessed by decompiler
|
||||
@@ -7591,8 +7613,8 @@
|
||||
:flag-assert #xb000000a0
|
||||
;; field extra-sound-bank uses ~A with a signed load.
|
||||
(:methods
|
||||
(level-load-info-method-9 (_type_ int) object) ;; 9
|
||||
(level-load-info-method-10 (_type_) none) ;; 10
|
||||
(get-callback-symbol-value-by-slot! "Look up value of symbol in callback-list with the given int as the car. Print warning if symbol's value is 0." (_type_ int) object) ;; 9
|
||||
(get-callback-by-slot! "Look up value in callback-list with the given int as the car and return it. Doesn't derefence the symbol." (_type_ int) object) ;; 10
|
||||
)
|
||||
)
|
||||
|
||||
@@ -7631,6 +7653,11 @@
|
||||
(entity entity-links-array :offset-assert 304) ;; guessed by decompiler
|
||||
(closest-object meters 10 :offset-assert 308)
|
||||
(tie-min-dist float :offset 352)
|
||||
(fg-tfrag-min-dist float :offset-assert 356)
|
||||
(fg-prim-min-dist float :offset-assert 360)
|
||||
(fg-shrub-min-dist float :offset-assert 364)
|
||||
(fg-warp-min-dist float :offset 372)
|
||||
(fg-prim2-min-dist float :offset 380)
|
||||
;; ???
|
||||
(upload-size int32 20 :offset 388) ;; guessed by decompiler
|
||||
(inside-boxes? basic :offset-assert 468)
|
||||
@@ -7697,27 +7724,31 @@
|
||||
:size-assert #x152c
|
||||
:flag-assert #x1e0000152c
|
||||
(:methods
|
||||
(level-method-9 () none) ;; 9 ;; (deactivate (_type_) _type_)
|
||||
(level-method-10 () none) ;; 10 ;; (is-object-visible? (_type_ int) symbol)
|
||||
(level-method-11 () none) ;; 11 ;; (level-method-11 () none)
|
||||
(level-method-12 () none) ;; 12 ;; (unload! (_type_) _type_)
|
||||
(level-method-13 () none) ;; 13 ;; (bsp-name (_type_) symbol)
|
||||
(deactivate "Keep a level in memory, but kill entities and stop drawing it." (_type_) _type_) ;; 9
|
||||
(unload! "Remove level from memory." (_type_) _type_) ;; 10
|
||||
(is-object-visible? "Look up object visibility from bit-string." (_type_ int) symbol) ;; 11
|
||||
(level-method-12 () none) ;; 12
|
||||
(bsp-name "Try getting the name from the BSP. If that fails, return the level's name (typically the same)." (_type_) symbol) ;; 13
|
||||
(compute-memory-usage! (_type_ symbol) memory-usage-block) ;; 14
|
||||
(level-method-15 () none) ;; 15 ;; (inside-boxes-check (_type_ vector) symbol)
|
||||
(inside-bsp? "Check if the camera is inside the BSP for this level." (_type_) symbol) ;; 15
|
||||
(update-vis! "Load/decompress precomputed visibility." (_type_ level-vis-info uint (pointer uint8)) symbol) ;; 16
|
||||
(level-method-17 () none) ;; 17 ;; (load-continue (_type_) _type_)
|
||||
(level-method-18 () none) ;; 18 ;; (load-begin (_type_) _type_)
|
||||
(level-method-19 () none) ;; 19 ;; (login-begin (_type_) _type_)
|
||||
(level-method-20 () none) ;; 20 ;; (debug-print-region-splitbox (_type_ vector object) none)
|
||||
(get-art-group-by-name (_type_ string) art-group) ;; 21
|
||||
(load-continue "Main function to run level loading/linking.
|
||||
Called by the engine to make progress on loading levels." (_type_) _type_) ;; 17
|
||||
(load-begin "Start loading data of a level." (_type_) _type_) ;; 18
|
||||
(login-begin "Start logging in loaded level data." (_type_) _type_) ;; 19
|
||||
(debug-print-region-splitbox (_type_ vector object) none) ;; 20
|
||||
(get-art-group-by-name "Look up art-group in this level by name." (_type_ string) art-group) ;; 21
|
||||
(level-method-22 () none) ;; 22 ;; (level-method-22 (_type_ symbol) int)
|
||||
(level-method-23 () none) ;; 23 ;; (lookup-text (_type_ text-id symbol) string)
|
||||
(level-method-24 () none) ;; 24 ;; (level-method-24 () none)
|
||||
(level-method-25 () none) ;; 25 ;; (birth (_type_) _type_)
|
||||
(level-method-26 () none) ;; 26 ;; (level-status-update! (_type_ symbol) _type_)
|
||||
(level-method-27 () none) ;; 27 ;; (load-required-packages (_type_) _type_)
|
||||
(level-method-28 () none) ;; 28 ;; (init-vis-from-bsp (_type_) none)
|
||||
(level-method-29 () none) ;; 29 ;; (vis-clear (_type_) none)
|
||||
(birth "Start running a level." (_type_) _type_) ;; 25
|
||||
(level-status-update! "Try to update the level to the given status, calling whatever is needed to make it happen.
|
||||
This can do both loading, linking, login, and activation.
|
||||
This is somewhat similar to level-get-for-use, but requires that you already have the level object.
|
||||
This function is the way to transition from loaded to alive/active." (_type_ symbol) _type_) ;; 26
|
||||
(load-common-package "Somewhat useless leftover from a more compliated package system. Will load common in some cases." (_type_) none) ;; 27
|
||||
(init-vis-from-bsp "Link vis-infos from the bsp to the level." (_type_) none) ;; 28
|
||||
(vis-clear "Clear visibility data: both the info and the cached vis bits. Switch all-visible? to loading." (_type_) none) ;; 29
|
||||
)
|
||||
)
|
||||
|
||||
@@ -7769,28 +7800,36 @@
|
||||
:flag-assert #x1f0000ea54
|
||||
;; Failed to read some fields.
|
||||
(:methods
|
||||
(level-get (_type_ symbol) level) ;; 9
|
||||
(level-group-method-10 () none) ;; 10 ;; (level-get-with-status (_type_ symbol) level)
|
||||
(get-level-by-heap-ptr-and-status (_type_ pointer symbol) level) ;; 11
|
||||
(level-group-method-12 () none) ;; 12 ;; (level-get-for-use (_type_ symbol symbol) level)
|
||||
(level-group-method-13 () none) ;; 13 ;; (activate-levels! (_type_) int)
|
||||
(level-get "Lookup loaded level by name." (_type_ symbol) level) ;; 9
|
||||
(level-get-with-status "Get the first level with the given status, #f if there are none." (_type_ symbol) level) ;; 10
|
||||
(get-level-by-heap-ptr-and-status "Look up a loaded level, given pointer inside of level's heap,
|
||||
and the status of the level (active or loading)." (_type_ pointer symbol) level) ;; 11
|
||||
(level-get-for-use "Request a level by name in the given state.
|
||||
Will return quickly (non-blocking) and might not be able to get a level in the desired state,
|
||||
though it will do some small amount of work to make progress on loading.
|
||||
|
||||
This is the most general/powerful function like this: if there is no level with this name
|
||||
it will kick out levels as needed to make a free slot, and set up a new level, and start
|
||||
the load. This should only be used when you might want to start a load." (_type_ symbol symbol) level) ;; 12
|
||||
(activate-levels! "Make all levels 'active!" (_type_) int) ;; 13
|
||||
(level-group-method-14 () none) ;; 14 ;; (debug-print-entities (_type_ symbol type) none)
|
||||
(level-group-method-15 () none) ;; 15 ;; (debug-draw-actors (_type_ symbol) none)
|
||||
(level-group-method-16 () none) ;; 16 ;; (assign-draw-indices (_type_) none)
|
||||
(assign-draw-indices "Assign the order for levels to be drawn." (_type_) none) ;; 16
|
||||
(level-group-method-17 () none) ;; 17 ;; (actors-update (_type_) none)
|
||||
(level-group-method-18 () none) ;; 18 ;; (update-nav-meshes-method (_type_) none)
|
||||
(level-update (_type_) none) ;; 19
|
||||
(level-get-target-inside (_type_) level) ;; 20
|
||||
(level-group-method-21 () none) ;; 21 ;; (alloc-levels-if-needed (_type_ symbol) none)
|
||||
(art-group-get-by-name (_type_ string (pointer level)) art-group) ;; 22 ;; (load-commands-set! (_type_ pair) none)
|
||||
(level-update "Per-frame update of the level system." (_type_) none) ;; 19
|
||||
(level-get-target-inside "Get the level that the player is 'in'." (_type_) level) ;; 20
|
||||
(init-level-system "If needed, initialize the level system by loading common/art packages and allocating level heaps." (_type_ symbol) none) ;; 21
|
||||
(art-group-get-by-name "Check all levels for an art group with the given name." (_type_ string (pointer level)) art-group) ;; 22 ;; (load-commands-set! (_type_ pair) none)
|
||||
(level-group-method-23 () none) ;; 23 ;; (art-group-get-by-name (_type_ string (pointer uint32)) art-group)
|
||||
(level-group-method-24 () none) ;; 24 ;; (alt-load-command-get-index (_type_ symbol int) pair)
|
||||
(level-group-method-25 () none) ;; 25 ;; (update-vis-volumes (_type_) none)
|
||||
(level-group-method-26 (_type_ symbol int) symbol) ;; 26 ;; (update-vis-volumes-from-nav-mesh (_type_) none)
|
||||
(level-group-method-27 () none) ;; 27 ;; (print-volume-sizes (_type_) none)
|
||||
(level-group-method-28 (_type_) symbol) ;; 28 ;; (level-status (_type_ symbol) symbol)
|
||||
(level-group-method-29 () none) ;; 29 ;; (load-in-progress? (_type_) symbol)
|
||||
(level-group-method-30 () none) ;; 30 ;; (level-get-most-disposable (_type_) level)
|
||||
(status-of-level-and-borrows "Get the combined status of a level and borrow levels." (_type_ symbol symbol) symbol) ;; 26 ;; (update-vis-volumes-from-nav-mesh (_type_) none)
|
||||
(do-nothing "Empty method." (_type_) none) ;; 27 ;; (print-volume-sizes (_type_) none)
|
||||
(load-in-progress? "Is there a load happening now?" (_type_) symbol) ;; 28 ;; (level-status (_type_ symbol) symbol)
|
||||
(is-load-allowed? "Does the exclusive-load setting allow us to load this level?" (_type_ (pointer symbol)) symbol) ;; 29
|
||||
(level-get-most-disposable "Get the level inside this level-group that should
|
||||
be used to load a new level." (_type_) level) ;; 30
|
||||
)
|
||||
)
|
||||
|
||||
@@ -8355,6 +8394,7 @@
|
||||
|
||||
(define-extern *palette-fade-controls* palette-fade-controls)
|
||||
(define-extern *time-of-day-context* time-of-day-context)
|
||||
(define-extern *time-of-day* (pointer time-of-day-proc))
|
||||
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
;; profile ;;
|
||||
@@ -10833,12 +10873,11 @@
|
||||
(bsp-misc 60)
|
||||
(bsp-node 61)
|
||||
(bsp-leaf-vis-self 62)
|
||||
|
||||
(bsp-leav-vis-adj 63)
|
||||
(draw-node 64)
|
||||
|
||||
(pat 65)
|
||||
|
||||
|
||||
(level-code 66)
|
||||
(entity-links 67)
|
||||
(joint 68)
|
||||
|
||||
(joint-anim-compressed-control 70)
|
||||
@@ -16373,26 +16412,26 @@
|
||||
(command-list pair :offset-assert 608) ;; guessed by decompiler
|
||||
(object-name string 256 :offset-assert 612) ;; guessed by decompiler
|
||||
(object-status basic 256 :offset-assert 1636) ;; guessed by decompiler
|
||||
(update-callback basic :offset-assert 2660)
|
||||
(update-callback (function load-state object) :offset-assert 2660)
|
||||
)
|
||||
:method-count-assert 22
|
||||
:size-assert #xa68
|
||||
:flag-assert #x1600000a68
|
||||
(:methods
|
||||
(new (symbol type) _type_) ;; 0 ;; (new (symbol type) _type_)
|
||||
(load-state-method-9 () none) ;; 9 ;; (reset! (_type_) _type_)
|
||||
(load-state-method-10 () none) ;; 10 ;; (update! (_type_) int)
|
||||
(load-state-method-11 () none) ;; 11 ;; (want-levels (_type_ (pointer symbol)) int)
|
||||
(reset! (_type_) _type_) ;; 9
|
||||
(update! (_type_) int) ;; 10
|
||||
(want-levels (_type_ (pointer symbol)) int) ;; 11
|
||||
(want-sound-banks (_type_ (pointer symbol)) none) ;; 12
|
||||
(load-state-method-13 () none) ;; 13 ;; (want-display-level (_type_ symbol symbol) int)
|
||||
(load-state-method-14 () none) ;; 14 ;; (want-vis-level (_type_ symbol) none)
|
||||
(load-state-method-15 () none) ;; 15 ;; (want-force-vis (_type_ symbol symbol) int)
|
||||
(load-state-method-16 () none) ;; 16 ;; (want-force-inside (_type_ symbol symbol) none)
|
||||
(want-display-level (_type_ symbol symbol) int) ;; 13
|
||||
(want-vis-level (_type_ symbol) none) ;; 14
|
||||
(want-force-vis (_type_ symbol symbol) int) ;; 15
|
||||
(want-force-inside (_type_ symbol symbol) 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
|
||||
(restore-load-state (_type_) int) ;; 20
|
||||
(load-state-method-21 (_type_) none) ;; 21 ;; (add-borrow-levels (_type_) none)
|
||||
(add-borrow-levels (_type_) none) ;; 21
|
||||
)
|
||||
)
|
||||
|
||||
@@ -23103,6 +23142,8 @@
|
||||
)
|
||||
|
||||
(declare-type entity-camera entity)
|
||||
(declare-type entity-nav-mesh structure)
|
||||
(declare-type city-level-info structure)
|
||||
|
||||
(deftype bsp-node (structure)
|
||||
"A node in the 'BSP' tree. This is really a bounding volume tree, where each volume is an axis-aligned box, containing 2 child boxes.
|
||||
@@ -23124,39 +23165,39 @@
|
||||
"The bsp-header is really an entire level.
|
||||
This probably started as a very simple structure, but now it is extremely complicated."
|
||||
((info file-info :offset 4)
|
||||
(all-visible-list (pointer uint8) :offset 32) ;; guessed by decompiler
|
||||
(visible-list-length int16 :offset 36)
|
||||
(all-visible-list (pointer uint8) :offset-assert 32) ;; guessed by decompiler
|
||||
(visible-list-length int16 :offset-assert 36)
|
||||
(extra-vis-list-length int16 :offset-assert 38)
|
||||
(drawable-trees drawable-tree-array :offset 40) ;; guessed by decompiler
|
||||
(pat pointer :offset 44) ;; guessed by decompiler
|
||||
(pat-length int32 :offset 48)
|
||||
(drawable-trees drawable-tree-array :offset-assert 40) ;; guessed by decompiler
|
||||
(pat pointer :offset-assert 44) ;; guessed by decompiler
|
||||
(pat-length int32 :offset-assert 48)
|
||||
;; jak2: unlikely to match jak 3 exactly!!
|
||||
(texture-remap-table (pointer uint64) :offset-assert 52)
|
||||
(texture-remap-table-len int32 :offset-assert 56)
|
||||
(texture-ids (pointer texture-id) :offset-assert 60)
|
||||
(texture-page-count int32 :offset-assert 64)
|
||||
(unknown-basic basic :offset-assert 68) ;; seems to be 0 everywhere.
|
||||
; (name symbol :offset-assert 72)
|
||||
; (nickname symbol :offset-assert 76)
|
||||
; (vis-info level-vis-info 8 :offset-assert 80)
|
||||
(actors drawable-inline-array-actor :offset 112)
|
||||
(name symbol :offset-assert 72)
|
||||
(nickname symbol :offset-assert 76)
|
||||
(vis-info level-vis-info 8 :offset-assert 80)
|
||||
(actors drawable-inline-array-actor :offset-assert 112)
|
||||
(cameras (array entity-camera) :offset-assert 116)
|
||||
(nodes (inline-array bsp-node) :offset 120)
|
||||
(nodes (inline-array bsp-node) :offset-assert 120)
|
||||
|
||||
;; jak2: unlikely to match jak 3 exactly!!
|
||||
(level level :offset-assert 124)
|
||||
(current-leaf-idx uint16 :offset-assert 128)
|
||||
(texture-flags texture-page-flag 10 :offset 130)
|
||||
(texture-flags texture-page-flag 10 :offset-assert 130)
|
||||
(cam-outside-bsp uint8 :offset 152)
|
||||
(cam-using-back uint8 :offset-assert 153)
|
||||
(cam-box-idx uint16 :offset-assert 154)
|
||||
; (ambients symbol :offset-assert 156) ;; now just #t?
|
||||
; (subdivide-close float :offset-assert 160)
|
||||
; (subdivide-far float :offset-assert 164)
|
||||
(subdivide-close float :offset 160)
|
||||
(subdivide-far float :offset-assert 164)
|
||||
; (race-meshes (array entity-race-mesh) :offset-assert 168)
|
||||
(actor-birth-order (pointer uint32) :offset 172)
|
||||
; (light-hash light-hash :offset-assert 176)
|
||||
; (nav-meshes (array entity-nav-mesh) :offset-assert 180)
|
||||
(light-hash light-hash :offset-assert 176)
|
||||
(nav-meshes (array entity-nav-mesh) :offset-assert 180)
|
||||
; (actor-groups (array actor-group) :offset-assert 184)
|
||||
(region-trees (array drawable-tree-region-prim) :offset 188)
|
||||
; (region-array region-array :offset-assert 192)
|
||||
@@ -23165,10 +23206,10 @@
|
||||
(wind-array uint32 :offset 200)
|
||||
; ;; 204 is maybe that array's length
|
||||
(wind-array-length int32 :offset 204)
|
||||
; (city-level-info city-level-info :offset 208)
|
||||
(city-level-info city-level-info :offset 208)
|
||||
(vis-spheres vector-array :offset 216)
|
||||
(vis-spheres-length uint32 :offset 248)
|
||||
; (region-tree drawable-tree-region-prim :offset 252)
|
||||
(region-tree drawable-tree-region-prim :offset 252)
|
||||
|
||||
(tfrag-masks texture-masks-array :offset 256)
|
||||
(tfrag-closest (pointer float) :offset-assert 260)
|
||||
@@ -30197,16 +30238,16 @@
|
||||
;; texture-anim-tables ;;
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
|
||||
;; (define-extern *sky-texture-anim-array* texture-anim-array) ;; (texture-anim-array texture-anim)
|
||||
(define-extern *sky-texture-anim-array* (texture-anim-array texture-anim))
|
||||
;; (define-extern set-fog-height! function) ;; (function float none)
|
||||
;; (define-extern set-cloud-minmax! function) ;; (function float float none)
|
||||
;; (define-extern *darkjak-texture-anim-array* texture-anim-array) ;; (texture-anim-array texture-anim)
|
||||
(define-extern *darkjak-texture-anim-array* (texture-anim-array texture-anim))
|
||||
;; (define-extern set-darkjak-texture-morph! function) ;; (function float none)
|
||||
;; (define-extern *darkjak-highres-texture-anim-array* texture-anim-array)
|
||||
(define-extern *darkjak-highres-texture-anim-array* (texture-anim-array texture-anim))
|
||||
;; (define-extern set-darkjak-highres-texture-morph! function) ;; (function float symbol)
|
||||
(define-extern *skull-gem-texture-anim-array* (texture-anim-array texture-anim))
|
||||
;; (define-extern *default-water-texture-anim-array* texture-anim-array)
|
||||
;; (define-extern *default-warp-texture-anim-array* texture-anim-array)
|
||||
(define-extern *default-water-texture-anim-array* (texture-anim-array texture-anim))
|
||||
(define-extern *default-warp-texture-anim-array* (texture-anim-array texture-anim))
|
||||
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
;; blit-displays ;;
|
||||
@@ -30787,14 +30828,14 @@
|
||||
;; (define-extern lookup-part-group-by-name function) ;; (function string sparticle-launch-group)
|
||||
(define-extern lookup-part-group-pointer-by-name (function string (pointer object)))
|
||||
(define-extern part-group-pointer? (function pointer symbol))
|
||||
;; (define-extern unlink-part-group-by-heap function) ;; (function kheap int)
|
||||
(define-extern unlink-part-group-by-heap (function kheap int))
|
||||
;; (define-extern sp-init-fields! function) ;; (function (pointer float) (inline-array sp-field-init-spec) sp-field-id sp-field-id symbol (inline-array sp-field-init-spec))
|
||||
;; (define-extern *sp-launcher-lock* object) ;; symbol
|
||||
;; (define-extern *sp-launch-queue* object) ;; sp-launch-queue
|
||||
;; (define-extern *sp-launcher-enable* object) ;; symbol
|
||||
;; (define-extern particle-setup-adgif function) ;; (function adgif-shader int none)
|
||||
;; (define-extern *particle-adgif-cache* object) ;; particle-adgif-cache
|
||||
;; (define-extern particle-adgif-cache-flush function) ;; (function none)
|
||||
(define-extern particle-adgif-cache-flush (function none))
|
||||
;; (define-extern particle-adgif function) ;; (function adgif-shader texture-id none)
|
||||
;; (define-extern particle-adgif-callback function) ;; (function adgif-shader texture-id none)
|
||||
;; (define-extern sp-queue-launch function) ;; (function sparticle-system sparticle-launcher matrix int)
|
||||
@@ -30890,7 +30931,7 @@
|
||||
(define-extern kill-all-particles-with-key (function sparticle-launch-control none))
|
||||
;; (define-extern forall-particles-runner function) ;; (function (function sparticle-system sparticle-cpuinfo pointer none) sparticle-system none)
|
||||
;; (define-extern forall-particles function) ;; (function function symbol symbol none)
|
||||
;; (define-extern kill-all-particles-in-level function) ;; (function level int)
|
||||
(define-extern kill-all-particles-in-level (function level int))
|
||||
;; (define-extern all-particles-50-to-60 function) ;; (function none)
|
||||
;; (define-extern all-particles-60-to-50 function) ;; (function none)
|
||||
;; (define-extern remap-particle function) ;; (function sparticle-system sparticle-cpuinfo pointer none)
|
||||
@@ -31328,7 +31369,7 @@
|
||||
;; (define-extern update-mood-exterior function) ;; (function mood-context-core3 mood-table float int object)
|
||||
;; (define-extern copy-mood-exterior function) ;; (function mood-context symbol)
|
||||
;; (define-extern copy-mood-exterior-ambi function) ;; (function mood-context symbol none)
|
||||
;; (define-extern clear-mood-context function) ;; (function mood-context symbol)
|
||||
(define-extern clear-mood-context (function mood-context symbol))
|
||||
;; (define-extern update-mood-interior function) ;; (function mood-context float)
|
||||
;; (define-extern update-mood-interior-ambient function)
|
||||
;; (define-extern update-mood-flames function) ;; (function mood-context int int int float float float float :behavior time-of-day-proc)
|
||||
@@ -31752,14 +31793,14 @@
|
||||
;; load-state ;;
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
|
||||
;; (define-extern level-base-level-name function)
|
||||
;; (define-extern *borrow-city-expansion-list* object)
|
||||
;; (define-extern *borrow-city-status-list* object)
|
||||
;; (define-extern borrow-city-expansion function)
|
||||
;; (define-extern add-want-level function)
|
||||
;; (define-extern *display-load-commands* object) ;; symbol
|
||||
;; (define-extern *backup-load-state* object) ;; load-state
|
||||
;; (define-extern *load-state* object) ;; load-state
|
||||
(define-extern level-base-level-name (function symbol object))
|
||||
(define-extern *borrow-city-expansion-list* pair)
|
||||
(define-extern *borrow-city-status-list* pair)
|
||||
(define-extern borrow-city-expansion (function pair object))
|
||||
(define-extern add-want-level (function (inline-array level-buffer-state) (pointer int64) symbol symbol symbol symbol object))
|
||||
(define-extern *display-load-commands* symbol)
|
||||
(define-extern *backup-load-state* load-state)
|
||||
(define-extern *load-state* load-state)
|
||||
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
;; level-info ;;
|
||||
@@ -32067,21 +32108,30 @@
|
||||
;; level ;;
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
|
||||
(define-extern level-memory-mode->string (function level-memory-mode string))
|
||||
(define-extern lookup-level-info (function symbol level-load-info))
|
||||
;; (define-extern remap-level-name function) ;; (function level-load-info symbol)
|
||||
;; (define-extern add-bsp-drawable function) ;; (function bsp-header level symbol display-frame none)
|
||||
;; (define-extern *login-state* object) ;; login-state
|
||||
(define-extern *level-type-list* type)
|
||||
(define-extern level-memory-mode->string "Convert level-memory-mode enum to string." (function level-memory-mode string))
|
||||
(define-extern lookup-level-info "Get the level load info. Symbol can be the level name, visname, nickname, or a symbol that contains a level-load-info value." (function symbol level-load-info))
|
||||
(define-extern remap-level-name "Get the load name, depending on if we should load a vis level or not." (function level-load-info symbol))
|
||||
(define-extern add-bsp-drawable "Callback function used by background-engine to draw a bsp.
|
||||
Note that most drawing work has been moved into finish-background,
|
||||
and the draw method called here just adds references to high-level rendering data
|
||||
to lists. The exception is debug-draw, which does run here (only for draw-strip-lines)." (function bsp-header level symbol display-frame none))
|
||||
(define-extern *login-state* login-state)
|
||||
(define-extern *print-login* symbol)
|
||||
;; (define-extern load-buffer-resize function) ;; (function level dgo-header none)
|
||||
;; (define-extern level-find-borrow-slot function)
|
||||
;; (define-extern level-update-after-load function) ;; (function level login-state level)
|
||||
;; (define-extern bg function) ;; (function symbol none)
|
||||
;; (define-extern play function) ;; (function symbol symbol int)
|
||||
;; (define-extern play-boot function) ;; (function none)
|
||||
;; (define-extern sound-bank-name->mode function)
|
||||
;; (define-extern update-sound-banks function) ;; (function int)
|
||||
;; (define-extern show-level function) ;; (function symbol int)
|
||||
(define-extern load-buffer-resize "Resize and relocate the DGO load buffers, making sure there is enough room to both load objects and heap alloc in the linker." (function level dgo-header none))
|
||||
(define-extern level-find-borrow-slot "Set up a level to 'borrow' from another.
|
||||
This function finds the right 'host' level, which should
|
||||
have prepared a heap for this level. This level will then
|
||||
be configured to use this heap." (function level level-memory-mode none))
|
||||
(define-extern level-update-after-load "Run the post-load state machine to login level data." (function level login-state level))
|
||||
(define-extern bg "Debug function to start playing a given level." (function symbol none))
|
||||
(define-extern play "Start (or restart) the game!
|
||||
This will start up the display process, and load the initial level." (function symbol symbol int))
|
||||
(define-extern play-boot
|
||||
"Function called by the C Kernel to start the game (wrapper around play)." (function none))
|
||||
(define-extern sound-bank-name->mode (function symbol sound-bank-mode))
|
||||
(define-extern update-sound-banks (function load-state (inline-array sound-bank-state) none))
|
||||
(define-extern show-level (function symbol none))
|
||||
(define-extern *default-level* level)
|
||||
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
@@ -37282,7 +37332,7 @@
|
||||
;; (define-extern end-display function) ;; (function display none)
|
||||
;; (define-extern display-loop-main function) ;; (function display none)
|
||||
;; (define-extern display-loop function) ;; (function int :behavior process)
|
||||
;; (define-extern on function) ;; (function symbol process)
|
||||
(define-extern on (function symbol process))
|
||||
;; (define-extern off function) ;; (function int)
|
||||
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
@@ -47576,7 +47626,8 @@
|
||||
)
|
||||
|#
|
||||
|
||||
;; (define-extern *city-borrow-manager* object)
|
||||
(declare-type cty-borrow-manager basic)
|
||||
(define-extern *city-borrow-manager* cty-borrow-manager)
|
||||
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
;; cty-faction-h ;;
|
||||
@@ -69095,11 +69146,11 @@
|
||||
;; (define-extern level->sound-bank-name function)
|
||||
;; (define-extern insert-into-sound-list function)
|
||||
;; (define-extern update-sound-info function)
|
||||
;; (define-extern mark-permanent-holds function)
|
||||
(define-extern mark-permanent-holds (function pair object))
|
||||
;; (define-extern city-sound-exists? function)
|
||||
;; (define-extern sound-bank-mode->use-count function)
|
||||
;; (define-extern add-city-sound-bank-if-possible function)
|
||||
;; (define-extern city-sound-expand-want-list function)
|
||||
(define-extern city-sound-expand-want-list (function none))
|
||||
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
;; ctywide-init ;;
|
||||
|
||||
@@ -125,5 +125,6 @@
|
||||
[78, "(function part-tracker vector)"]
|
||||
],
|
||||
"trajectory": [[15, "(function trajectory none)"]],
|
||||
"progress": [[3, "(function int none :behavior process)"]]
|
||||
"progress": [[3, "(function int none :behavior process)"]],
|
||||
"level": [[25, "(function level-group int symbol)"], [7, "(function none)"], [4, "(function load-state sound-bank-state symbol)"]]
|
||||
}
|
||||
|
||||
@@ -109,8 +109,6 @@
|
||||
"(anon-function 4 gun-states)",
|
||||
"(method 10 manipulator)",
|
||||
"(method 46 ff-squad-control)",
|
||||
"borrow-city-expansion",
|
||||
"(method 26 level-group)",
|
||||
"(anon-function 65 temple-obs)",
|
||||
"(method 33 task-manager-nest-cocoons)",
|
||||
"(method 33 rub-tower)",
|
||||
@@ -213,7 +211,18 @@
|
||||
"(method 22 fort-floor-spike-c)",
|
||||
"(method 11 sew-catwalk)",
|
||||
"(method 11 mtn-aval-rocks)",
|
||||
"(method 11 gar-curtain)"
|
||||
"(method 11 gar-curtain)",
|
||||
"(method 10 level-load-info)",
|
||||
"(method 29 level-group)",
|
||||
"(method 26 level-group)",
|
||||
"(method 19 level)",
|
||||
"(method 10 level)",
|
||||
"update-sound-banks",
|
||||
"level-base-level-name",
|
||||
"borrow-city-expansion",
|
||||
"add-want-level",
|
||||
"level-find-borrow-slot",
|
||||
"(method 18 level)"
|
||||
],
|
||||
|
||||
// If format is used with the wrong number of arguments,
|
||||
@@ -249,7 +258,17 @@
|
||||
"~33L~S ~35L~S~1L": 2,
|
||||
"~33L~C": 1,
|
||||
"~33L~S~44L ~S": 2,
|
||||
"~44L~S ~33L~S": 2
|
||||
"~44L~S ~33L~S": 2,
|
||||
"~10Htfrag: ~8,,0m": 1,
|
||||
"~140Hshrub: ~8,,0m": 1,
|
||||
"~272Halpha: ~8,,0m~%": 1,
|
||||
"~27Htie: ~8,,0m": 1,
|
||||
"~140Hfg-tf: ~8,,0m": 1,
|
||||
"~270Hfg-pr: ~8,,0m~%": 1,
|
||||
"~10Hfg-wa: ~8,,0m": 1,
|
||||
"~140Hfg-sh: ~8,,0m": 1,
|
||||
"~267Hfg-p2: ~8,,0m~%": 1,
|
||||
"~30Hp2: ~8D~131Hhf: ~8D~%~1K": 2
|
||||
},
|
||||
|
||||
"blocks_ending_in_asm_branch": {
|
||||
@@ -319,7 +338,9 @@
|
||||
"set-background-regs!": [4, 3],
|
||||
"draw-drawable-tree-instance-shrub": [5, 7, 9, 11],
|
||||
"draw-drawable-tree-instance-tie": [21, 23, 31, 33],
|
||||
"(method 12 flow-control)": [3, 9, 22]
|
||||
"(method 12 flow-control)": [3, 9, 22],
|
||||
"(method 26 level-group)": [40, 41, 67],
|
||||
"borrow-city-expansion": [0, 9, 13, 15, 17]
|
||||
},
|
||||
|
||||
// Sometimes the game might use format strings that are fetched dynamically,
|
||||
|
||||
@@ -391,5 +391,10 @@
|
||||
"hud-classes": [
|
||||
["L205", "(inline-array hud-sprite)", 24],
|
||||
["L214", "(inline-array vector)", 4]
|
||||
],
|
||||
"level": [
|
||||
["L1004", "uint64", true],
|
||||
["L1003", "uint64", true]
|
||||
|
||||
]
|
||||
}
|
||||
|
||||
@@ -399,5 +399,17 @@
|
||||
[128, "vector"]
|
||||
],
|
||||
"progress-post": [[176, "hud-box"]],
|
||||
"(method 15 hud-gun)": [[16, "hud-sprite"]]
|
||||
"(method 15 hud-gun)": [[16, "hud-sprite"]],
|
||||
"play": [
|
||||
[96, ["array", "symbol", 10]]
|
||||
],
|
||||
"update-sound-banks": [
|
||||
[16, ["array", "int8", 36]]
|
||||
],
|
||||
"show-level": [[16, ["array", "symbol", 10]]],
|
||||
"(method 20 load-state)": [
|
||||
[16, ["inline-array", "level-buffer-state", 10]],
|
||||
[176, ["inline-array", "level-buffer-state", 10]]
|
||||
|
||||
]
|
||||
}
|
||||
|
||||
@@ -2938,5 +2938,58 @@
|
||||
"(method 16 hud)": [
|
||||
[127, "v1", "int"],
|
||||
[147, "v1", "int"]
|
||||
],
|
||||
"lookup-level-info": [
|
||||
[11, "v1", "basic"],
|
||||
[21, "a1", "symbol"],
|
||||
[[22, 34], "a1", "level-load-info"]
|
||||
],
|
||||
"(method 29 level-group)": [
|
||||
[[2, 53], "v1", "pair"]
|
||||
],
|
||||
"level-find-borrow-slot": [
|
||||
[[204, 211], "a2", "level"]
|
||||
],
|
||||
"(method 19 level)": [
|
||||
[[40, 118], "a3", "symbol"],
|
||||
[[52, 56], "a0", "texture-anim-array"]
|
||||
],
|
||||
"level-update-after-load": [
|
||||
[[25, 58], "s1", "drawable-tree-tfrag"],
|
||||
[142, "v1", "drawable-inline-array-tfrag"],
|
||||
[147, "v1", "drawable-inline-array-tfrag"],
|
||||
[152, "a0", "drawable-inline-array-tfrag"],
|
||||
[175, "v1", "drawable-tree-instance-tie"],
|
||||
[178, "v1", "drawable-tree-instance-tie"],
|
||||
[393, "a1", "(pointer int32)"],
|
||||
[398, "a2", "(pointer int32)"]
|
||||
],
|
||||
"(method 25 level)": [
|
||||
[97, "s1", "(function object object)"],
|
||||
[171, "s0", "(function object object object)"]
|
||||
],
|
||||
"(method 9 level)": [
|
||||
[51, "s5", "(function object object)"],
|
||||
[[143, 166], "v1", "task-mask"]
|
||||
],
|
||||
"(method 10 level)": [
|
||||
[[214, 217], "v1", "symbol"],
|
||||
[[216, 220], "a0", "texture-anim-array"],
|
||||
[137, "s5", "(function level object)"],
|
||||
[[349, 358], "a1", "type"]
|
||||
],
|
||||
"(method 30 level-group)": [
|
||||
[87, "v0", "level"]
|
||||
],
|
||||
"(method 10 load-state)": [
|
||||
[461, "v1", "level"],
|
||||
[468, "v1", "level"]
|
||||
],
|
||||
"update-sound-banks": [
|
||||
[131, "a0", "pair"]
|
||||
],
|
||||
"borrow-city-expansion": [
|
||||
[23, "a0", "basic"],
|
||||
[52, "s5", "basic"]
|
||||
]
|
||||
}
|
||||
|
||||
@@ -1864,5 +1864,16 @@
|
||||
"vars": {
|
||||
"s4-0": ["act", "game-task-node-flag"]
|
||||
}
|
||||
},
|
||||
"level-find-borrow-slot": {
|
||||
"args": ["borrower-level", "mode"],
|
||||
"vars": {
|
||||
"v1-0": "host-level-borrow-slot",
|
||||
"a2-0": "host-level-candidate-idx",
|
||||
"a3-3": "host-level-candidate",
|
||||
"t0-7": "mode2",
|
||||
"t0-10": "found-slot",
|
||||
"t0-8": "host-level-slot-idx"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1466,7 +1466,7 @@ goos::Object decompile_structure(const TypeSpec& type,
|
||||
} else if (word.kind() == LinkedWord::EMPTY_PTR) {
|
||||
field_defs_out.emplace_back(field.name(), pretty_print::to_symbol("'()"));
|
||||
} else if (word.kind() == LinkedWord::TYPE_PTR) {
|
||||
if (field.type() != TypeSpec("type")) {
|
||||
if (!ts.tc(field.type(), TypeSpec("type"))) {
|
||||
throw std::runtime_error(
|
||||
fmt::format("Field {} in type {} offset {} had a reference to type {}, but the "
|
||||
"type of the field is not type.",
|
||||
|
||||
@@ -239,32 +239,31 @@
|
||||
(command-list pair)
|
||||
(object-name string 256)
|
||||
(object-status basic 256)
|
||||
(update-callback basic)
|
||||
(update-callback (function load-state object))
|
||||
)
|
||||
(:methods
|
||||
(new (symbol type) _type_)
|
||||
(load-state-method-9 () none)
|
||||
(load-state-method-10 () none)
|
||||
(load-state-method-11 () none)
|
||||
(reset! (_type_) _type_)
|
||||
(update! (_type_) int)
|
||||
(want-levels (_type_ (pointer symbol)) int)
|
||||
(want-sound-banks (_type_ (pointer symbol)) none)
|
||||
(load-state-method-13 () none)
|
||||
(load-state-method-14 () none)
|
||||
(load-state-method-15 () none)
|
||||
(load-state-method-16 () none)
|
||||
(want-display-level (_type_ symbol symbol) int)
|
||||
(want-vis-level (_type_ symbol) none)
|
||||
(want-force-vis (_type_ symbol symbol) int)
|
||||
(want-force-inside (_type_ symbol symbol) none)
|
||||
(execute-commands-up-to (_type_ float) none)
|
||||
(backup-load-state-and-set-cmds (_type_ pair) int)
|
||||
(restore-load-state-and-cleanup (_type_) int)
|
||||
(restore-load-state (_type_) int)
|
||||
(load-state-method-21 (_type_) none)
|
||||
(add-borrow-levels (_type_) none)
|
||||
)
|
||||
)
|
||||
|
||||
|
||||
;; WARN: Return type mismatch none vs load-state.
|
||||
(defmethod new load-state ((allocation symbol) (type-to-make type))
|
||||
(let ((a0-1 (object-new allocation type-to-make (the-as int (-> type-to-make size)))))
|
||||
(set! (-> a0-1 update-callback) #f)
|
||||
(the-as load-state ((method-of-object a0-1 load-state-method-9)))
|
||||
(reset! a0-1)
|
||||
)
|
||||
)
|
||||
|
||||
|
||||
@@ -202,7 +202,7 @@
|
||||
(set! (-> continue-rot 8) (the int (* 32767.0 (-> rot fvec z))))
|
||||
)
|
||||
)
|
||||
(load-state-method-21 arg0)
|
||||
(add-borrow-levels arg0)
|
||||
this
|
||||
)
|
||||
|
||||
@@ -382,7 +382,7 @@
|
||||
(when (or (and (-> subtask manager) (handle->process (-> subtask manager manager)))
|
||||
(and (-> subtask manager)
|
||||
(-> subtask manager level)
|
||||
(= (level-group-method-26 *level* (-> subtask manager level) (the-as int #f)) 'active)
|
||||
(= (status-of-level-and-borrows *level* (-> subtask manager level) #f) 'active)
|
||||
)
|
||||
(and (not (-> subtask manager)) (= (-> level info taskname) (-> subtask level)))
|
||||
)
|
||||
|
||||
@@ -12,6 +12,7 @@
|
||||
(define-extern kiosk? (function symbol))
|
||||
(define-extern set-blackout-frames (function time-frame none))
|
||||
(define-extern set-master-mode (function symbol none))
|
||||
(define-extern on (function symbol process))
|
||||
|
||||
;; +++main-h:collide-spec
|
||||
(defenum collide-spec
|
||||
|
||||
@@ -1429,7 +1429,7 @@
|
||||
(set! (-> s5-0 allow-error) (-> s4-0 allow-error))
|
||||
(set! (-> s5-0 under-water-pitch-mod) (-> s4-0 under-water-pitch-mod))
|
||||
(set! (-> s5-0 slow-time) (-> s4-0 slow-time))
|
||||
(if (and (-> s4-0 mirror) (= (level-group-method-26 *level* 'ctywide (the-as int #f)) 'active))
|
||||
(if (and (-> s4-0 mirror) (= (status-of-level-and-borrows *level* 'ctywide #f) 'active))
|
||||
(set! (-> s5-0 mirror) #f)
|
||||
(set! (-> s5-0 mirror) (-> s4-0 mirror))
|
||||
)
|
||||
@@ -1653,7 +1653,7 @@
|
||||
(when (and (!= (-> s4-0 music) (-> s5-0 music))
|
||||
(and (zero? (rpc-busy? 1))
|
||||
(or (not (-> s4-0 music))
|
||||
(and (< 0.0 (-> s5-0 music-volume)) (not (level-group-method-28 *level*)) (not (-> s5-0 movie)))
|
||||
(and (< 0.0 (-> s5-0 music-volume)) (not (load-in-progress? *level*)) (not (-> s5-0 movie)))
|
||||
)
|
||||
(not *master-exit*)
|
||||
)
|
||||
|
||||
@@ -44,6 +44,7 @@
|
||||
(define-extern *lightning-spec-id-table* (array lightning-spec))
|
||||
|
||||
(define-extern process-drawable-art-error (state string process-drawable))
|
||||
(define-extern unlink-lightning-spec-by-heap (function kheap none))
|
||||
|
||||
;; DECOMP BEGINS
|
||||
|
||||
|
||||
@@ -6,9 +6,12 @@
|
||||
;; dgos: GAME
|
||||
|
||||
(declare-type sky-color-day structure)
|
||||
(declare-type mood-context structure)
|
||||
|
||||
(define-extern movie? (function symbol))
|
||||
|
||||
(define-extern clear-mood-context (function mood-context symbol))
|
||||
|
||||
;; DECOMP BEGINS
|
||||
|
||||
(deftype mood-channel (structure)
|
||||
|
||||
@@ -28,6 +28,8 @@
|
||||
(declare-type time-of-day-palette structure)
|
||||
(define-extern time-of-day-interp-colors (function (pointer rgba) uint mood-context none))
|
||||
(define-extern time-of-day-interp-colors-scratch (function (pointer rgba) time-of-day-palette mood-context none))
|
||||
(declare-type time-of-day-proc process)
|
||||
(define-extern *time-of-day* (pointer time-of-day-proc))
|
||||
|
||||
;; DECOMP BEGINS
|
||||
|
||||
|
||||
@@ -45,6 +45,8 @@
|
||||
)
|
||||
)
|
||||
|
||||
(define-extern kill-all-particles-in-level (function level int))
|
||||
|
||||
;; DECOMP BEGINS
|
||||
|
||||
(define *sp-60-hz* #t)
|
||||
|
||||
@@ -9,6 +9,9 @@
|
||||
(declare-type sparticle-cpuinfo structure)
|
||||
(declare-type sparticle-system structure)
|
||||
|
||||
(define-extern unlink-part-group-by-heap (function kheap int))
|
||||
(define-extern particle-adgif-cache-flush (function none))
|
||||
|
||||
;; +++sp-field-id
|
||||
(defenum sp-field-id
|
||||
:type uint16
|
||||
|
||||
@@ -5,5 +5,12 @@
|
||||
;; name in dgo: texture-anim-tables
|
||||
;; dgos: GAME
|
||||
|
||||
(define-extern *sky-texture-anim-array* (texture-anim-array texture-anim))
|
||||
(define-extern *darkjak-texture-anim-array* (texture-anim-array texture-anim))
|
||||
(define-extern *darkjak-highres-texture-anim-array* (texture-anim-array texture-anim))
|
||||
(define-extern *skull-gem-texture-anim-array* (texture-anim-array texture-anim))
|
||||
(define-extern *default-water-texture-anim-array* (texture-anim-array texture-anim))
|
||||
(define-extern *default-warp-texture-anim-array* (texture-anim-array texture-anim))
|
||||
|
||||
;; DECOMP BEGINS
|
||||
|
||||
|
||||
@@ -8,6 +8,8 @@
|
||||
(declare-type bsp-header drawable)
|
||||
(declare-type bsp-node structure)
|
||||
(declare-type entity-camera entity)
|
||||
(declare-type entity-nav-mesh structure)
|
||||
(declare-type city-level-info structure)
|
||||
|
||||
(define-extern inspect-bsp-tree (function bsp-header bsp-node none))
|
||||
(define-extern map-bsp-tree (function (function bsp-node none) bsp-header bsp-node none))
|
||||
@@ -40,33 +42,42 @@ This is used for precomputed visibility, based on the camera position. This is n
|
||||
"The bsp-header is really an entire level.
|
||||
This probably started as a very simple structure, but now it is extremely complicated."
|
||||
((info file-info :overlay-at id)
|
||||
(all-visible-list (pointer uint8) :offset 32)
|
||||
(visible-list-length int16 :offset 36)
|
||||
(all-visible-list (pointer uint8))
|
||||
(visible-list-length int16)
|
||||
(extra-vis-list-length int16)
|
||||
(drawable-trees drawable-tree-array :offset 40)
|
||||
(pat pointer :offset 44)
|
||||
(pat-length int32 :offset 48)
|
||||
(drawable-trees drawable-tree-array)
|
||||
(pat pointer)
|
||||
(pat-length int32)
|
||||
(texture-remap-table (pointer uint64))
|
||||
(texture-remap-table-len int32)
|
||||
(texture-ids (pointer texture-id))
|
||||
(texture-page-count int32)
|
||||
(unknown-basic basic)
|
||||
(actors drawable-inline-array-actor :offset 112)
|
||||
(name symbol)
|
||||
(nickname symbol)
|
||||
(vis-info level-vis-info 8)
|
||||
(actors drawable-inline-array-actor)
|
||||
(cameras (array entity-camera))
|
||||
(nodes (inline-array bsp-node) :offset 120)
|
||||
(nodes (inline-array bsp-node))
|
||||
(level level)
|
||||
(current-leaf-idx uint16)
|
||||
(texture-flags texture-page-flag 10 :offset 130)
|
||||
(texture-flags texture-page-flag 10)
|
||||
(cam-outside-bsp uint8 :offset 152)
|
||||
(cam-using-back uint8)
|
||||
(cam-box-idx uint16)
|
||||
(subdivide-close float :offset 160)
|
||||
(subdivide-far float)
|
||||
(actor-birth-order (pointer uint32) :offset 172)
|
||||
(light-hash light-hash)
|
||||
(nav-meshes (array entity-nav-mesh))
|
||||
(region-trees (array drawable-tree-region-prim) :offset 188)
|
||||
(collide-hash collide-hash :offset 196)
|
||||
(wind-array uint32 :offset 200)
|
||||
(wind-array-length int32 :offset 204)
|
||||
(city-level-info city-level-info :offset 208)
|
||||
(vis-spheres vector-array :offset 216)
|
||||
(vis-spheres-length uint32 :offset 248)
|
||||
(region-tree drawable-tree-region-prim :offset 252)
|
||||
(tfrag-masks texture-masks-array :offset 256)
|
||||
(tfrag-closest (pointer float))
|
||||
(tfrag-mask-count uint32 :overlay-at tfrag-closest)
|
||||
|
||||
@@ -13,12 +13,15 @@
|
||||
(declare-type game-text-info structure)
|
||||
(declare-type entity-links structure)
|
||||
(declare-type level-group basic)
|
||||
(declare-type level-load-info structure)
|
||||
(define-extern *level* level-group)
|
||||
(define-extern *draw-index* int)
|
||||
(define-extern *level-index* int)
|
||||
(define-extern *print-login* symbol)
|
||||
|
||||
(define-extern level-remap-texture (function texture-id texture-id))
|
||||
(define-extern lookup-level-info (function symbol level-load-info))
|
||||
|
||||
|
||||
;; +++vis-info-flag
|
||||
(defenum vis-info-flag
|
||||
@@ -255,9 +258,9 @@
|
||||
)
|
||||
|
||||
(deftype level-borrow-info (basic)
|
||||
((alias symbol)
|
||||
((alias object)
|
||||
(borrow-size uint16 5)
|
||||
(borrow-info symbol 5)
|
||||
(borrow-info object 5)
|
||||
)
|
||||
)
|
||||
|
||||
@@ -303,12 +306,11 @@
|
||||
(mood-range mood-range :inline)
|
||||
)
|
||||
(:methods
|
||||
(level-load-info-method-9 (_type_ int) object)
|
||||
(level-load-info-method-10 (_type_) none)
|
||||
(get-callback-symbol-value-by-slot! (_type_ int) object)
|
||||
(get-callback-by-slot! (_type_ int) object)
|
||||
)
|
||||
)
|
||||
|
||||
(define-extern lookup-level-info (function symbol level-load-info))
|
||||
|
||||
(deftype login-state (basic)
|
||||
((state int32)
|
||||
@@ -338,6 +340,11 @@
|
||||
(entity entity-links-array)
|
||||
(closest-object meters 10)
|
||||
(tie-min-dist float :offset 352)
|
||||
(fg-tfrag-min-dist float)
|
||||
(fg-prim-min-dist float)
|
||||
(fg-shrub-min-dist float)
|
||||
(fg-warp-min-dist float :offset 372)
|
||||
(fg-prim2-min-dist float :offset 380)
|
||||
(upload-size int32 20 :offset 388)
|
||||
(inside-boxes? basic)
|
||||
(display? symbol)
|
||||
@@ -397,27 +404,27 @@
|
||||
(unknown-pad uint8 14)
|
||||
)
|
||||
(:methods
|
||||
(level-method-9 () none)
|
||||
(level-method-10 () none)
|
||||
(level-method-11 () none)
|
||||
(deactivate (_type_) _type_)
|
||||
(unload! (_type_) _type_)
|
||||
(is-object-visible? (_type_ int) symbol)
|
||||
(level-method-12 () none)
|
||||
(level-method-13 () none)
|
||||
(bsp-name (_type_) symbol)
|
||||
(compute-memory-usage! (_type_ symbol) memory-usage-block)
|
||||
(level-method-15 () none)
|
||||
(inside-bsp? (_type_) symbol)
|
||||
(update-vis! (_type_ level-vis-info uint (pointer uint8)) symbol)
|
||||
(level-method-17 () none)
|
||||
(level-method-18 () none)
|
||||
(level-method-19 () none)
|
||||
(level-method-20 () none)
|
||||
(load-continue (_type_) _type_)
|
||||
(load-begin (_type_) _type_)
|
||||
(login-begin (_type_) _type_)
|
||||
(debug-print-region-splitbox (_type_ vector object) none)
|
||||
(get-art-group-by-name (_type_ string) art-group)
|
||||
(level-method-22 () none)
|
||||
(level-method-23 () none)
|
||||
(level-method-24 () none)
|
||||
(level-method-25 () none)
|
||||
(level-method-26 () none)
|
||||
(level-method-27 () none)
|
||||
(level-method-28 () none)
|
||||
(level-method-29 () none)
|
||||
(birth (_type_) _type_)
|
||||
(level-status-update! (_type_ symbol) _type_)
|
||||
(load-common-package (_type_) none)
|
||||
(init-vis-from-bsp (_type_) none)
|
||||
(vis-clear (_type_) none)
|
||||
)
|
||||
)
|
||||
|
||||
@@ -463,27 +470,27 @@
|
||||
)
|
||||
(:methods
|
||||
(level-get (_type_ symbol) level)
|
||||
(level-group-method-10 () none)
|
||||
(level-get-with-status (_type_ symbol) level)
|
||||
(get-level-by-heap-ptr-and-status (_type_ pointer symbol) level)
|
||||
(level-group-method-12 () none)
|
||||
(level-group-method-13 () none)
|
||||
(level-get-for-use (_type_ symbol symbol) level)
|
||||
(activate-levels! (_type_) int)
|
||||
(level-group-method-14 () none)
|
||||
(level-group-method-15 () none)
|
||||
(level-group-method-16 () none)
|
||||
(assign-draw-indices (_type_) none)
|
||||
(level-group-method-17 () none)
|
||||
(level-group-method-18 () none)
|
||||
(level-update (_type_) none)
|
||||
(level-get-target-inside (_type_) level)
|
||||
(level-group-method-21 () none)
|
||||
(init-level-system (_type_ symbol) none)
|
||||
(art-group-get-by-name (_type_ string (pointer level)) art-group)
|
||||
(level-group-method-23 () none)
|
||||
(level-group-method-24 () none)
|
||||
(level-group-method-25 () none)
|
||||
(level-group-method-26 (_type_ symbol int) symbol)
|
||||
(level-group-method-27 () none)
|
||||
(level-group-method-28 (_type_) symbol)
|
||||
(level-group-method-29 () none)
|
||||
(level-group-method-30 () none)
|
||||
(status-of-level-and-borrows (_type_ symbol symbol) symbol)
|
||||
(do-nothing (_type_) none)
|
||||
(load-in-progress? (_type_) symbol)
|
||||
(is-load-allowed? (_type_ (pointer symbol)) symbol)
|
||||
(level-get-most-disposable (_type_) level)
|
||||
)
|
||||
)
|
||||
|
||||
|
||||
@@ -445,7 +445,7 @@
|
||||
:borrow (new 'static 'level-borrow-info
|
||||
:alias #f
|
||||
:borrow-size (new 'static 'array uint16 5 #xbb8 #x0 #x0 #x0 #x0)
|
||||
:borrow-info (new 'static 'array symbol 5 #f #f #f #f #f)
|
||||
:borrow-info (new 'static 'array object 5 #f #f #f #f #f)
|
||||
)
|
||||
:bottom-height (meters -15)
|
||||
:fog-height (meters 80)
|
||||
@@ -570,7 +570,7 @@
|
||||
:borrow (new 'static 'level-borrow-info
|
||||
:alias #f
|
||||
:borrow-size (new 'static 'array uint16 5 #x1a4 #x1a4 #x1a4 #x30c #x32a)
|
||||
:borrow-info (new 'static 'array symbol 5 #f #f #f #f #f)
|
||||
:borrow-info (new 'static 'array object 5 #f #f #f #f #f)
|
||||
)
|
||||
:bottom-height (meters -15)
|
||||
:fog-height (meters 80)
|
||||
@@ -602,7 +602,7 @@
|
||||
:bigmap-id (bigmap-id no-map)
|
||||
:continues '()
|
||||
:callback-list '()
|
||||
:borrow (new 'static 'level-borrow-info :alias #f :borrow-info (new 'static 'array symbol 5 #f #f #f #f #f))
|
||||
:borrow (new 'static 'level-borrow-info :alias #f :borrow-info (new 'static 'array object 5 #f #f #f #f #f))
|
||||
:bottom-height (meters -20)
|
||||
:fog-height (meters 80)
|
||||
:max-rain 1.0
|
||||
@@ -633,7 +633,7 @@
|
||||
:bigmap-id (bigmap-id no-map)
|
||||
:continues '()
|
||||
:callback-list '()
|
||||
:borrow (new 'static 'level-borrow-info :alias #f :borrow-info (new 'static 'array symbol 5 #f #f #f #f #f))
|
||||
:borrow (new 'static 'level-borrow-info :alias #f :borrow-info (new 'static 'array object 5 #f #f #f #f #f))
|
||||
:bottom-height (meters -20)
|
||||
:fog-height (meters 80)
|
||||
:max-rain 1.0
|
||||
@@ -664,7 +664,7 @@
|
||||
:bigmap-id (bigmap-id no-map)
|
||||
:continues '()
|
||||
:callback-list '()
|
||||
:borrow (new 'static 'level-borrow-info :alias #f :borrow-info (new 'static 'array symbol 5 #f #f #f #f #f))
|
||||
:borrow (new 'static 'level-borrow-info :alias #f :borrow-info (new 'static 'array object 5 #f #f #f #f #f))
|
||||
:bottom-height (meters -20)
|
||||
:fog-height (meters 80)
|
||||
:max-rain 1.0
|
||||
@@ -695,7 +695,7 @@
|
||||
:bigmap-id (bigmap-id no-map)
|
||||
:continues '()
|
||||
:callback-list '()
|
||||
:borrow (new 'static 'level-borrow-info :alias #f :borrow-info (new 'static 'array symbol 5 #f #f #f #f #f))
|
||||
:borrow (new 'static 'level-borrow-info :alias #f :borrow-info (new 'static 'array object 5 #f #f #f #f #f))
|
||||
:bottom-height (meters -20)
|
||||
:fog-height (meters 80)
|
||||
:max-rain 1.0
|
||||
@@ -726,7 +726,7 @@
|
||||
:bigmap-id (bigmap-id no-map)
|
||||
:continues '()
|
||||
:callback-list '()
|
||||
:borrow (new 'static 'level-borrow-info :alias #f :borrow-info (new 'static 'array symbol 5 #f #f #f #f #f))
|
||||
:borrow (new 'static 'level-borrow-info :alias #f :borrow-info (new 'static 'array object 5 #f #f #f #f #f))
|
||||
:bottom-height (meters -20)
|
||||
:fog-height (meters 80)
|
||||
:max-rain 1.0
|
||||
@@ -757,7 +757,7 @@
|
||||
:bigmap-id (bigmap-id no-map)
|
||||
:continues '()
|
||||
:callback-list '()
|
||||
:borrow (new 'static 'level-borrow-info :alias #f :borrow-info (new 'static 'array symbol 5 #f #f #f #f #f))
|
||||
:borrow (new 'static 'level-borrow-info :alias #f :borrow-info (new 'static 'array object 5 #f #f #f #f #f))
|
||||
:bottom-height (meters -20)
|
||||
:fog-height (meters 80)
|
||||
:max-rain 1.0
|
||||
@@ -3151,7 +3151,7 @@
|
||||
:borrow (new 'static 'level-borrow-info
|
||||
:alias #f
|
||||
:borrow-size (new 'static 'array uint16 5 #x71c #x0 #x0 #x0 #x0)
|
||||
:borrow-info (new 'static 'array symbol 5 #f #f #f #f #f)
|
||||
:borrow-info (new 'static 'array object 5 #f #f #f #f #f)
|
||||
)
|
||||
:bottom-height (meters -100)
|
||||
:fog-height (meters 80)
|
||||
@@ -3334,7 +3334,7 @@
|
||||
:borrow (new 'static 'level-borrow-info
|
||||
:alias #f
|
||||
:borrow-size (new 'static 'array uint16 5 #x13a1 #x0 #x0 #x0 #x0)
|
||||
:borrow-info (new 'static 'array symbol 5 #f #f #f #f #f)
|
||||
:borrow-info (new 'static 'array object 5 #f #f #f #f #f)
|
||||
)
|
||||
:bottom-height (meters -150)
|
||||
:fog-height (meters 80)
|
||||
@@ -3478,7 +3478,7 @@
|
||||
:borrow (new 'static 'level-borrow-info
|
||||
:alias #f
|
||||
:borrow-size (new 'static 'array uint16 5 #xbea #x898 #x0 #x0 #x0)
|
||||
:borrow-info (new 'static 'array symbol 5 #f #f #f #f #f)
|
||||
:borrow-info (new 'static 'array object 5 #f #f #f #f #f)
|
||||
)
|
||||
:bottom-height (meters -150)
|
||||
:fog-height (meters 80)
|
||||
@@ -4234,7 +4234,7 @@
|
||||
:borrow (new 'static 'level-borrow-info
|
||||
:alias #f
|
||||
:borrow-size (new 'static 'array uint16 5 #x4ba #x0 #x0 #x0 #x0)
|
||||
:borrow-info (new 'static 'array symbol 5 #f #f #f #f #f)
|
||||
:borrow-info (new 'static 'array object 5 #f #f #f #f #f)
|
||||
)
|
||||
:bottom-height (meters -15)
|
||||
:fog-height (meters 80)
|
||||
@@ -4355,7 +4355,7 @@
|
||||
:borrow (new 'static 'level-borrow-info
|
||||
:alias #f
|
||||
:borrow-size (new 'static 'array uint16 5 #x82a #x0 #x0 #x0 #x0)
|
||||
:borrow-info (new 'static 'array symbol 5 #f #f #f #f #f)
|
||||
:borrow-info (new 'static 'array object 5 #f #f #f #f #f)
|
||||
)
|
||||
:bottom-height (meters -15)
|
||||
:fog-height (meters 80)
|
||||
@@ -4497,7 +4497,7 @@
|
||||
:borrow (new 'static 'level-borrow-info
|
||||
:alias #f
|
||||
:borrow-size (new 'static 'array uint16 5 #x1b #x2ee #x0 #x0 #x0)
|
||||
:borrow-info (new 'static 'array symbol 5 #f #f #f #f #f)
|
||||
:borrow-info (new 'static 'array object 5 #f #f #f #f #f)
|
||||
)
|
||||
:bottom-height (meters -15)
|
||||
:fog-height (meters 80)
|
||||
@@ -4718,7 +4718,7 @@
|
||||
:borrow (new 'static 'level-borrow-info
|
||||
:alias #f
|
||||
:borrow-size (new 'static 'array uint16 5 #x3e8 #xe6 #x0 #x0 #x0)
|
||||
:borrow-info (new 'static 'array symbol 5 #f #f #f #f #f)
|
||||
:borrow-info (new 'static 'array object 5 #f #f #f #f #f)
|
||||
)
|
||||
:bottom-height (meters -150)
|
||||
:fog-height (meters 80)
|
||||
@@ -5102,7 +5102,7 @@
|
||||
:borrow (new 'static 'level-borrow-info
|
||||
:alias #f
|
||||
:borrow-size (new 'static 'array uint16 5 #xfa #x0 #x0 #x0 #x0)
|
||||
:borrow-info (new 'static 'array symbol 5 #f #f #f #f #f)
|
||||
:borrow-info (new 'static 'array object 5 #f #f #f #f #f)
|
||||
)
|
||||
:bottom-height (meters -150)
|
||||
:fog-height (meters 80)
|
||||
@@ -5277,7 +5277,7 @@
|
||||
:borrow (new 'static 'level-borrow-info
|
||||
:alias #f
|
||||
:borrow-size (new 'static 'array uint16 5 #xfa #x0 #x0 #x0 #x0)
|
||||
:borrow-info (new 'static 'array symbol 5 #f #f #f #f #f)
|
||||
:borrow-info (new 'static 'array object 5 #f #f #f #f #f)
|
||||
)
|
||||
:bottom-height (meters -150)
|
||||
:fog-height (meters 80)
|
||||
@@ -6125,7 +6125,7 @@
|
||||
:borrow (new 'static 'level-borrow-info
|
||||
:alias #f
|
||||
:borrow-size (new 'static 'array uint16 5 #xa28 #x0 #x0 #x0 #x0)
|
||||
:borrow-info (new 'static 'array symbol 5 #f #f #f #f #f)
|
||||
:borrow-info (new 'static 'array object 5 #f #f #f #f #f)
|
||||
)
|
||||
:bottom-height (meters -10000)
|
||||
:fog-height (meters 80)
|
||||
@@ -8081,7 +8081,7 @@
|
||||
:borrow (new 'static 'level-borrow-info
|
||||
:alias #f
|
||||
:borrow-size (new 'static 'array uint16 5 #x79e #x0 #x0 #x0 #x0)
|
||||
:borrow-info (new 'static 'array symbol 5 #f #f #f #f #f)
|
||||
:borrow-info (new 'static 'array object 5 #f #f #f #f #f)
|
||||
)
|
||||
:bottom-height (meters -150)
|
||||
:fog-height (meters 80)
|
||||
@@ -8350,7 +8350,7 @@
|
||||
:borrow (new 'static 'level-borrow-info
|
||||
:alias #f
|
||||
:borrow-size (new 'static 'array uint16 5 #x785 #x0 #x0 #x0 #x0)
|
||||
:borrow-info (new 'static 'array symbol 5 #f #f #f #f #f)
|
||||
:borrow-info (new 'static 'array object 5 #f #f #f #f #f)
|
||||
)
|
||||
:bottom-height (meters -150)
|
||||
:fog-height (meters 80)
|
||||
@@ -8383,7 +8383,7 @@
|
||||
:borrow (new 'static 'level-borrow-info
|
||||
:alias #f
|
||||
:borrow-size (new 'static 'array uint16 5 #x21c #x0 #x0 #x0 #x0)
|
||||
:borrow-info (new 'static 'array symbol 5 #f #f #f #f #f)
|
||||
:borrow-info (new 'static 'array object 5 #f #f #f #f #f)
|
||||
)
|
||||
:bottom-height (meters -20)
|
||||
:fog-height (meters 80)
|
||||
@@ -8515,7 +8515,7 @@
|
||||
:borrow (new 'static 'level-borrow-info
|
||||
:alias #f
|
||||
:borrow-size (new 'static 'array uint16 5 #x195 #x0 #x0 #x0 #x0)
|
||||
:borrow-info (new 'static 'array symbol 5 #f #f #f #f #f)
|
||||
:borrow-info (new 'static 'array object 5 #f #f #f #f #f)
|
||||
)
|
||||
:bottom-height (meters -10000)
|
||||
:fog-height (meters 80)
|
||||
@@ -8548,7 +8548,7 @@
|
||||
:borrow (new 'static 'level-borrow-info
|
||||
:alias #f
|
||||
:borrow-size (new 'static 'array uint16 5 #x320 #x0 #x0 #x0 #x0)
|
||||
:borrow-info (new 'static 'array symbol 5 #f #f #f #f #f)
|
||||
:borrow-info (new 'static 'array object 5 #f #f #f #f #f)
|
||||
)
|
||||
:bottom-height (meters -150)
|
||||
:fog-height (meters 80)
|
||||
@@ -8839,7 +8839,7 @@
|
||||
:borrow (new 'static 'level-borrow-info
|
||||
:alias #f
|
||||
:borrow-size (new 'static 'array uint16 5 #x258 #x0 #x0 #x0 #x0)
|
||||
:borrow-info (new 'static 'array symbol 5 #f #f #f #f #f)
|
||||
:borrow-info (new 'static 'array object 5 #f #f #f #f #f)
|
||||
)
|
||||
:bottom-height (meters -150)
|
||||
:fog-height (meters 80)
|
||||
@@ -9320,7 +9320,7 @@
|
||||
:borrow (new 'static 'level-borrow-info
|
||||
:alias #f
|
||||
:borrow-size (new 'static 'array uint16 5 #x3e8 #x0 #x0 #x0 #x0)
|
||||
:borrow-info (new 'static 'array symbol 5 #f #f #f #f #f)
|
||||
:borrow-info (new 'static 'array object 5 #f #f #f #f #f)
|
||||
)
|
||||
:bottom-height (meters -150)
|
||||
:fog-height (meters 80)
|
||||
@@ -9754,7 +9754,7 @@
|
||||
:borrow (new 'static 'level-borrow-info
|
||||
:alias #f
|
||||
:borrow-size (new 'static 'array uint16 5 #x4dd #x0 #x0 #x0 #x0)
|
||||
:borrow-info (new 'static 'array symbol 5 #f #f #f #f #f)
|
||||
:borrow-info (new 'static 'array object 5 #f #f #f #f #f)
|
||||
)
|
||||
:bottom-height (meters -150)
|
||||
:fog-height (meters 80)
|
||||
@@ -9787,7 +9787,7 @@
|
||||
:borrow (new 'static 'level-borrow-info
|
||||
:alias #f
|
||||
:borrow-size (new 'static 'array uint16 5 #x8ca #x0 #x0 #x0 #x0)
|
||||
:borrow-info (new 'static 'array symbol 5 #f #f #f #f #f)
|
||||
:borrow-info (new 'static 'array object 5 #f #f #f #f #f)
|
||||
)
|
||||
:bottom-height (meters -20)
|
||||
:fog-height (meters 80)
|
||||
@@ -10238,7 +10238,7 @@
|
||||
:borrow (new 'static 'level-borrow-info
|
||||
:alias #f
|
||||
:borrow-size (new 'static 'array uint16 5 #x898 #x0 #x0 #x0 #x0)
|
||||
:borrow-info (new 'static 'array symbol 5 #f #f #f #f #f)
|
||||
:borrow-info (new 'static 'array object 5 #f #f #f #f #f)
|
||||
)
|
||||
:bottom-height (meters 10)
|
||||
:fog-height (meters 80)
|
||||
@@ -11700,7 +11700,7 @@
|
||||
:borrow (new 'static 'level-borrow-info
|
||||
:alias #f
|
||||
:borrow-size (new 'static 'array uint16 5 #x52d #x0 #x0 #x0 #x0)
|
||||
:borrow-info (new 'static 'array symbol 5 #f #f #f #f #f)
|
||||
:borrow-info (new 'static 'array object 5 #f #f #f #f #f)
|
||||
)
|
||||
:bottom-height (meters -150)
|
||||
:fog-height (meters 80)
|
||||
@@ -13765,7 +13765,7 @@
|
||||
:borrow (new 'static 'level-borrow-info
|
||||
:alias #f
|
||||
:borrow-size (new 'static 'array uint16 5 #x3e8 #x0 #x0 #x0 #x0)
|
||||
:borrow-info (new 'static 'array symbol 5 #f #f #f #f #f)
|
||||
:borrow-info (new 'static 'array object 5 #f #f #f #f #f)
|
||||
)
|
||||
:bottom-height (meters -20)
|
||||
:fog-height (meters 80)
|
||||
@@ -14201,7 +14201,7 @@
|
||||
:bigmap-id (bigmap-id no-map)
|
||||
:continues '()
|
||||
:callback-list '()
|
||||
:borrow (new 'static 'level-borrow-info :alias #f :borrow-info (new 'static 'array symbol 5 #f #f #f #f #f))
|
||||
:borrow (new 'static 'level-borrow-info :alias #f :borrow-info (new 'static 'array object 5 #f #f #f #f #f))
|
||||
:bottom-height (meters -20)
|
||||
:fog-height (meters 80)
|
||||
:max-rain 1.0
|
||||
@@ -14623,7 +14623,7 @@
|
||||
:borrow (new 'static 'level-borrow-info
|
||||
:alias #f
|
||||
:borrow-size (new 'static 'array uint16 5 #x4c9 #x0 #x0 #x0 #x0)
|
||||
:borrow-info (new 'static 'array symbol 5 #f #f #f #f #f)
|
||||
:borrow-info (new 'static 'array object 5 #f #f #f #f #f)
|
||||
)
|
||||
:bottom-height (meters -20)
|
||||
:fog-height (meters 80)
|
||||
@@ -15756,7 +15756,7 @@
|
||||
:borrow (new 'static 'level-borrow-info
|
||||
:alias #f
|
||||
:borrow-size (new 'static 'array uint16 5 #x3e8 #x0 #x0 #x0 #x0)
|
||||
:borrow-info (new 'static 'array symbol 5 #f #f #f #f #f)
|
||||
:borrow-info (new 'static 'array object 5 #f #f #f #f #f)
|
||||
)
|
||||
:bottom-height (meters -150)
|
||||
:fog-height (meters 80)
|
||||
@@ -16235,7 +16235,7 @@
|
||||
:borrow (new 'static 'level-borrow-info
|
||||
:alias #f
|
||||
:borrow-size (new 'static 'array uint16 5 #xa #x0 #x0 #x0 #x0)
|
||||
:borrow-info (new 'static 'array symbol 5 #f #f #f #f #f)
|
||||
:borrow-info (new 'static 'array object 5 #f #f #f #f #f)
|
||||
)
|
||||
:bottom-height (meters -150)
|
||||
:fog-height (meters 80)
|
||||
@@ -17556,7 +17556,7 @@
|
||||
:borrow (new 'static 'level-borrow-info
|
||||
:alias #f
|
||||
:borrow-size (new 'static 'array uint16 5 #x285 #x8fc #x0 #x0 #x0)
|
||||
:borrow-info (new 'static 'array symbol 5 #f #f #f #f #f)
|
||||
:borrow-info (new 'static 'array object 5 #f #f #f #f #f)
|
||||
)
|
||||
:bottom-height (meters -150)
|
||||
:fog-height (meters 80)
|
||||
@@ -17821,7 +17821,7 @@
|
||||
:borrow (new 'static 'level-borrow-info
|
||||
:alias #f
|
||||
:borrow-size (new 'static 'array uint16 5 #xc4e #x0 #x0 #x0 #x0)
|
||||
:borrow-info (new 'static 'array symbol 5 #f #f #f #f #f)
|
||||
:borrow-info (new 'static 'array object 5 #f #f #f #f #f)
|
||||
)
|
||||
:bottom-height (meters -150)
|
||||
:fog-height (meters 80)
|
||||
@@ -18193,7 +18193,7 @@
|
||||
:borrow (new 'static 'level-borrow-info
|
||||
:alias #f
|
||||
:borrow-size (new 'static 'array uint16 5 #xc4e #x0 #x0 #x0 #x0)
|
||||
:borrow-info (new 'static 'array symbol 5 #f #f #f #f #f)
|
||||
:borrow-info (new 'static 'array object 5 #f #f #f #f #f)
|
||||
)
|
||||
:bottom-height (meters -150)
|
||||
:fog-height (meters 80)
|
||||
@@ -18277,7 +18277,7 @@
|
||||
:borrow (new 'static 'level-borrow-info
|
||||
:alias #f
|
||||
:borrow-size (new 'static 'array uint16 5 #xc4e #x9c4 #x0 #x0 #x0)
|
||||
:borrow-info (new 'static 'array symbol 5 #f #f #f #f #f)
|
||||
:borrow-info (new 'static 'array object 5 #f #f #f #f #f)
|
||||
)
|
||||
:bottom-height (meters 516)
|
||||
:fog-height (meters 80)
|
||||
@@ -18462,7 +18462,7 @@
|
||||
:borrow (new 'static 'level-borrow-info
|
||||
:alias #f
|
||||
:borrow-size (new 'static 'array uint16 5 #x258 #x0 #x0 #x0 #x0)
|
||||
:borrow-info (new 'static 'array symbol 5 #f #f #f #f #f)
|
||||
:borrow-info (new 'static 'array object 5 #f #f #f #f #f)
|
||||
)
|
||||
:bottom-height (meters -20)
|
||||
:fog-height (meters 80)
|
||||
@@ -18578,7 +18578,7 @@
|
||||
:borrow (new 'static 'level-borrow-info
|
||||
:alias #f
|
||||
:borrow-size (new 'static 'array uint16 5 #x384 #x0 #x0 #x0 #x0)
|
||||
:borrow-info (new 'static 'array symbol 5 #f #f #f #f #f)
|
||||
:borrow-info (new 'static 'array object 5 #f #f #f #f #f)
|
||||
)
|
||||
:bottom-height (meters -20)
|
||||
:fog-height (meters 80)
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -5,5 +5,618 @@
|
||||
;; name in dgo: load-state
|
||||
;; dgos: GAME
|
||||
|
||||
(declare-type cty-borrow-manager basic)
|
||||
(define-extern *city-borrow-manager* cty-borrow-manager)
|
||||
(define-extern mark-permanent-holds (function pair object))
|
||||
(define-extern add-want-level (function (inline-array level-buffer-state) (pointer int64) symbol symbol symbol symbol object))
|
||||
(define-extern *backup-load-state* load-state)
|
||||
|
||||
|
||||
;; DECOMP BEGINS
|
||||
|
||||
(defmethod print ((this level-buffer-state))
|
||||
(format
|
||||
#t
|
||||
"#<level-buffer-state ~A ~A ~A ~A @ #x~X>"
|
||||
(-> this name)
|
||||
(-> this display?)
|
||||
(-> this force-vis?)
|
||||
(-> this force-inside?)
|
||||
this
|
||||
)
|
||||
this
|
||||
)
|
||||
|
||||
(defmethod print ((this level-buffer-state-small))
|
||||
(format #t "#<level-buffer-state ~A ~A @ #x~X>" (-> this name) (-> this display?) this)
|
||||
this
|
||||
)
|
||||
|
||||
(defmethod print ((this sound-bank-state))
|
||||
(let ((t9-0 format)
|
||||
(a0-1 #t)
|
||||
(a1-0 "#<sound-bank-state ~A ~S @ #x~X>")
|
||||
(a2-0 (-> this name))
|
||||
(v1-0 (-> this mode))
|
||||
)
|
||||
(t9-0
|
||||
a0-1
|
||||
a1-0
|
||||
a2-0
|
||||
(cond
|
||||
((= v1-0 (sound-bank-mode halfa))
|
||||
"halfa"
|
||||
)
|
||||
((= v1-0 (sound-bank-mode halfc))
|
||||
"halfc"
|
||||
)
|
||||
((= v1-0 (sound-bank-mode half))
|
||||
"half"
|
||||
)
|
||||
((= v1-0 (sound-bank-mode full))
|
||||
"full"
|
||||
)
|
||||
((= v1-0 (sound-bank-mode mode))
|
||||
"mode"
|
||||
)
|
||||
((= v1-0 (sound-bank-mode unknown))
|
||||
"unknown"
|
||||
)
|
||||
((= v1-0 (sound-bank-mode common))
|
||||
"common"
|
||||
)
|
||||
((= v1-0 (sound-bank-mode halfb))
|
||||
"halfb"
|
||||
)
|
||||
((= v1-0 (sound-bank-mode none))
|
||||
"none"
|
||||
)
|
||||
((= v1-0 (sound-bank-mode virtual))
|
||||
"virtual"
|
||||
)
|
||||
(else
|
||||
"*unknown*"
|
||||
)
|
||||
)
|
||||
this
|
||||
)
|
||||
)
|
||||
this
|
||||
)
|
||||
|
||||
(defmethod reset! ((this load-state))
|
||||
(dotimes (v1-0 10)
|
||||
(set! (-> this want v1-0 name) #f)
|
||||
(set! (-> this want v1-0 display?) #f)
|
||||
(set! (-> this want v1-0 force-vis?) #f)
|
||||
(set! (-> this want v1-0 force-inside?) #f)
|
||||
)
|
||||
(dotimes (v1-3 3)
|
||||
(set! (-> this want-sound v1-3 name) #f)
|
||||
(set! (-> this want-sound v1-3 mode) (sound-bank-mode none))
|
||||
)
|
||||
(set! (-> this command-list) '())
|
||||
(dotimes (v1-7 256)
|
||||
(set! (-> this object-name v1-7) #f)
|
||||
(set! (-> this object-status v1-7) (the-as basic 0))
|
||||
)
|
||||
this
|
||||
)
|
||||
|
||||
(defun level-base-level-name ((arg0 symbol))
|
||||
(when arg0
|
||||
(let ((v1-0 (lookup-level-info arg0)))
|
||||
(if (and v1-0 (-> v1-0 borrow) (-> v1-0 borrow alias))
|
||||
(car (-> v1-0 borrow alias))
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
|
||||
(defmethod want-levels ((this load-state) (arg0 (pointer symbol)))
|
||||
(dotimes (v1-0 10)
|
||||
(dotimes (a0-1 10)
|
||||
(when (= (-> this want v1-0 name) (-> arg0 a0-1))
|
||||
(set! (-> arg0 a0-1) #f)
|
||||
(goto cfg-8)
|
||||
)
|
||||
)
|
||||
(set! (-> this want v1-0 name) #f)
|
||||
(label cfg-8)
|
||||
)
|
||||
(dotimes (s4-0 10)
|
||||
(when (-> arg0 s4-0)
|
||||
(dotimes (s3-0 10)
|
||||
(when (not (-> this want s3-0 name))
|
||||
(set! (-> this want s3-0 name) (-> arg0 s4-0))
|
||||
(set! (-> this want s3-0 display?) #f)
|
||||
(set! (-> this want s3-0 force-vis?) #f)
|
||||
(set! (-> this want s3-0 force-inside?) #f)
|
||||
(let ((a0-13 (level-base-level-name (-> this want s3-0 name))))
|
||||
(dotimes (v1-22 10)
|
||||
(when (= (-> this want-exp v1-22 name) a0-13)
|
||||
(set! (-> this want s3-0 display?) (-> this want-exp v1-22 display?))
|
||||
(set! (-> this want s3-0 force-vis?) (-> this want-exp v1-22 force-vis?))
|
||||
(set! (-> this want s3-0 force-inside?) (-> this want-exp v1-22 force-inside?))
|
||||
(goto cfg-21)
|
||||
)
|
||||
)
|
||||
)
|
||||
(label cfg-21)
|
||||
(goto cfg-26)
|
||||
)
|
||||
)
|
||||
)
|
||||
(label cfg-26)
|
||||
)
|
||||
(dotimes (v1-35 10)
|
||||
(when (not (-> this want v1-35 name))
|
||||
(set! (-> this want v1-35 display?) #f)
|
||||
(set! (-> this want v1-35 force-vis?) #f)
|
||||
(set! (-> this want v1-35 force-inside?) #f)
|
||||
)
|
||||
)
|
||||
(add-borrow-levels this)
|
||||
0
|
||||
)
|
||||
|
||||
(define *borrow-city-expansion-list* '(#f #f #f #f #f #f #f #f #f #f #f #f #f #f #f #f #f #f #f #f))
|
||||
|
||||
(define *borrow-city-status-list* '(#f #f #f #f #f #f #f #f #f #f #f #f #f #f #f #f #f #f #f #f))
|
||||
|
||||
;; WARN: Return type mismatch pair vs object.
|
||||
(defun borrow-city-expansion ((arg0 pair))
|
||||
(local-vars (v1-12 type) (s2-2 int) (sv-16 pair) (sv-20 symbol) (sv-24 object))
|
||||
(let ((gp-0 *borrow-city-expansion-list*))
|
||||
0
|
||||
(let ((s4-0 0))
|
||||
(b! #t cfg-2 :delay (nop!))
|
||||
(label cfg-1)
|
||||
(set! (car (ref& gp-0 s4-0)) #f)
|
||||
(set! (car (ref& *borrow-city-status-list* s4-0)) #f)
|
||||
(+! s4-0 1)
|
||||
(label cfg-2)
|
||||
(let ((a0-3 (the-as object gp-0)))
|
||||
(b! (< s4-0 ((method-of-type (rtype-of (the-as pair a0-3)) length) (the-as pair a0-3))) cfg-1)
|
||||
)
|
||||
)
|
||||
(let* ((v1-7 gp-0)
|
||||
(a0-4 arg0)
|
||||
(a1-4 (car a0-4))
|
||||
)
|
||||
(while (not (null? a0-4))
|
||||
(set! (car v1-7) a1-4)
|
||||
(set! v1-7 (cdr v1-7))
|
||||
(set! a0-4 (cdr a0-4))
|
||||
(set! a1-4 (car a0-4))
|
||||
)
|
||||
)
|
||||
(let ((v1-11 (shr (shl (the-as int arg0) 61) 61)))
|
||||
(b! (zero? v1-11) cfg-20 :likely-delay (set! v1-12 binteger))
|
||||
(b! (= v1-11 4) cfg-20 :likely-delay (set! v1-12 (-> (the-as basic arg0) type)))
|
||||
(b! (= v1-11 2) cfg-20 :likely-delay (set! v1-12 pair))
|
||||
)
|
||||
(set! v1-12 symbol)
|
||||
(label cfg-20)
|
||||
(let ((s5-1 ((method-of-type v1-12 length) arg0)))
|
||||
(if (and (nonzero? *city-borrow-manager*) *city-borrow-manager*)
|
||||
(mark-permanent-holds gp-0)
|
||||
)
|
||||
(dotimes (s4-1 (the-as int (-> *setting-control* user-current borrow-city-count)))
|
||||
(set! sv-16 (-> *setting-control* user-current borrow-city s4-1))
|
||||
(let* ((s3-0 sv-16)
|
||||
(v1-20 (car s3-0))
|
||||
)
|
||||
(while (not (null? s3-0))
|
||||
(set! sv-20 (the-as symbol #f))
|
||||
(set! sv-24 v1-20)
|
||||
(when sv-24
|
||||
(dotimes (s2-0 (/ s5-1 2))
|
||||
(when (= sv-24 (ref gp-0 (* s2-0 2)))
|
||||
(set! sv-20 #t)
|
||||
(if (= (ref gp-0 (+ (* s2-0 2) 1)) 'auto)
|
||||
(set! (car (ref& gp-0 (+ (* s2-0 2) 1))) 'faction)
|
||||
)
|
||||
0
|
||||
(goto cfg-37)
|
||||
)
|
||||
)
|
||||
(label cfg-37)
|
||||
(when (not sv-20)
|
||||
(dotimes (s2-1 (/ s5-1 2))
|
||||
(when (= (ref gp-0 (+ (* s2-1 2) 1)) 'auto)
|
||||
(set! s2-2 s2-1)
|
||||
(goto cfg-45)
|
||||
)
|
||||
)
|
||||
(set! s2-2 -1)
|
||||
(label cfg-45)
|
||||
(when (> s2-2 0)
|
||||
(set! (car (ref& gp-0 (* s2-2 2))) sv-24)
|
||||
(set! (car (ref& gp-0 (+ (* s2-2 2) 1))) 'faction)
|
||||
)
|
||||
)
|
||||
)
|
||||
(set! s3-0 (cdr s3-0))
|
||||
(set! v1-20 (car s3-0))
|
||||
)
|
||||
)
|
||||
)
|
||||
(let ((s4-2 0))
|
||||
(dotimes (s3-1 (/ s5-1 2))
|
||||
(let ((v1-48 (ref gp-0 (+ (* s3-1 2) 1))))
|
||||
(when (not (or (= v1-48 'auto) (= v1-48 'faction)))
|
||||
(set! (car (ref& *borrow-city-status-list* (* s4-2 2))) (ref gp-0 (* s3-1 2)))
|
||||
(set! (car (ref& *borrow-city-status-list* (+ (* s4-2 2) 1))) (ref gp-0 (+ (* s3-1 2) 1)))
|
||||
(+! s4-2 1)
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
(dotimes (s4-3 (/ s5-1 2))
|
||||
(case (ref gp-0 (+ (* s4-3 2) 1))
|
||||
(('auto 'faction)
|
||||
(set! (car (ref& gp-0 (+ (* s4-3 2) 1))) 'special)
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
gp-0
|
||||
)
|
||||
)
|
||||
|
||||
;; WARN: Return type mismatch int vs object.
|
||||
(defun add-want-level ((arg0 (inline-array level-buffer-state))
|
||||
(arg1 (pointer int64))
|
||||
(arg2 symbol)
|
||||
(arg3 symbol)
|
||||
(arg4 symbol)
|
||||
(arg5 symbol)
|
||||
)
|
||||
(when arg2
|
||||
(let ((s1-0 (lookup-level-info arg2)))
|
||||
(cond
|
||||
((>= (-> arg1 0) 10)
|
||||
)
|
||||
((and (-> s1-0 borrow) (-> s1-0 borrow alias))
|
||||
(let* ((s0-1 (borrow-city-expansion (the-as pair (-> s1-0 borrow alias))))
|
||||
(a0-3 (-> s1-0 borrow alias))
|
||||
(s1-1 ((method-of-type (rtype-of a0-3) length) a0-3))
|
||||
)
|
||||
(while (and (> s1-1 0) (car s0-1))
|
||||
(when (!= (car s0-1) 'dummy)
|
||||
(let ((t9-3 add-want-level)
|
||||
(a0-5 arg0)
|
||||
(a1-3 arg1)
|
||||
(a2-1 (car s0-1))
|
||||
(a3-1 (car (cdr s0-1)))
|
||||
)
|
||||
(set! a3-1 (cond
|
||||
((or (not arg3) (= a3-1 'copy))
|
||||
arg3
|
||||
)
|
||||
(else
|
||||
(empty)
|
||||
a3-1
|
||||
)
|
||||
)
|
||||
)
|
||||
(t9-3 a0-5 a1-3 (the-as symbol a2-1) (the-as symbol a3-1) arg4 arg5)
|
||||
)
|
||||
)
|
||||
(set! s0-1 (cdr (cdr s0-1)))
|
||||
(+! s1-1 -2)
|
||||
)
|
||||
)
|
||||
)
|
||||
(else
|
||||
(set! (-> arg0 (-> arg1 0) name) arg2)
|
||||
(set! (-> arg0 (-> arg1 0) display?) arg3)
|
||||
(set! (-> arg0 (-> arg1 0) force-vis?) arg4)
|
||||
(set! (-> arg0 (-> arg1 0) force-inside?) arg5)
|
||||
(+! (-> arg1 0) 1)
|
||||
(when (-> s1-0 borrow)
|
||||
(dotimes (s0-2 5)
|
||||
(let ((v1-38 (-> s1-0 borrow borrow-info s0-2)))
|
||||
(when v1-38
|
||||
(let ((t9-4 add-want-level)
|
||||
(a0-9 arg0)
|
||||
(a1-4 arg1)
|
||||
(a2-2 (car v1-38))
|
||||
(a3-2 (car (cdr v1-38)))
|
||||
)
|
||||
(set! a3-2 (cond
|
||||
((or (not arg3) (= a3-2 'copy))
|
||||
arg3
|
||||
)
|
||||
(else
|
||||
(empty)
|
||||
a3-2
|
||||
)
|
||||
)
|
||||
)
|
||||
(t9-4 a0-9 a1-4 (the-as symbol a2-2) (the-as symbol a3-2) arg4 arg5)
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
0
|
||||
)
|
||||
|
||||
(defmethod add-borrow-levels ((this load-state))
|
||||
(local-vars (sv-16 int))
|
||||
(dotimes (s5-0 10)
|
||||
(let ((a0-1 (-> this want s5-0 name)))
|
||||
(when a0-1
|
||||
(let ((a0-2 (lookup-level-info a0-1)))
|
||||
(when (= (-> a0-2 memory-mode) (level-memory-mode borrow))
|
||||
(set! (-> this want s5-0 name) #f)
|
||||
(set! (-> this want s5-0 display?) #f)
|
||||
(set! (-> this want s5-0 force-vis?) #f)
|
||||
(set! (-> this want s5-0 force-inside?) #f)
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
(set! sv-16 0)
|
||||
(dotimes (s5-1 10)
|
||||
(if (-> this want s5-1 name)
|
||||
(add-want-level
|
||||
(-> this want-exp)
|
||||
(the-as (pointer int64) (& sv-16))
|
||||
(-> this want s5-1 name)
|
||||
(-> this want s5-1 display?)
|
||||
(-> this want s5-1 force-vis?)
|
||||
(-> this want s5-1 force-inside?)
|
||||
)
|
||||
)
|
||||
)
|
||||
(while (< sv-16 10)
|
||||
(set! (-> this want-exp sv-16 name) #f)
|
||||
(set! (-> this want-exp sv-16 display?) #f)
|
||||
(set! (-> this want-exp sv-16 force-vis?) #f)
|
||||
(set! (-> this want-exp sv-16 force-inside?) #f)
|
||||
(set! sv-16 (+ sv-16 1))
|
||||
)
|
||||
(cond
|
||||
((-> this update-callback)
|
||||
((-> this update-callback) this)
|
||||
)
|
||||
(else
|
||||
(dotimes (v1-49 10)
|
||||
(set! (-> this target v1-49 name) (-> this want-exp v1-49 name))
|
||||
(set! (-> this target v1-49 display?) (-> this want-exp v1-49 display?))
|
||||
(set! (-> this target v1-49 force-vis?) (-> this want-exp v1-49 force-vis?))
|
||||
(set! (-> this target v1-49 force-inside?) (-> this want-exp v1-49 force-inside?))
|
||||
)
|
||||
)
|
||||
)
|
||||
0
|
||||
(none)
|
||||
)
|
||||
|
||||
(defmethod want-sound-banks ((this load-state) (arg0 (pointer symbol)))
|
||||
(dotimes (v1-0 3)
|
||||
(dotimes (a2-0 3)
|
||||
(when (= (-> this want-sound v1-0 name) (-> arg0 a2-0))
|
||||
(set! (-> arg0 a2-0) #f)
|
||||
(goto cfg-8)
|
||||
)
|
||||
)
|
||||
(set! (-> this want-sound v1-0 name) #f)
|
||||
(set! (-> this want-sound v1-0 mode) (sound-bank-mode none))
|
||||
0
|
||||
(label cfg-8)
|
||||
)
|
||||
(dotimes (v1-3 3)
|
||||
(when (-> arg0 v1-3)
|
||||
(dotimes (a2-15 3)
|
||||
(when (not (-> this want-sound a2-15 name))
|
||||
(set! (-> this want-sound a2-15 name) (-> arg0 v1-3))
|
||||
(set! (-> this want-sound a2-15 mode) (sound-bank-mode unknown))
|
||||
(goto cfg-19)
|
||||
)
|
||||
)
|
||||
)
|
||||
(label cfg-19)
|
||||
)
|
||||
0
|
||||
(none)
|
||||
)
|
||||
|
||||
(defmethod want-display-level ((this load-state) (arg0 symbol) (arg1 symbol))
|
||||
(dotimes (v1-0 10)
|
||||
(when (= (-> this want v1-0 name) arg0)
|
||||
(set! (-> this want v1-0 display?) arg1)
|
||||
(add-borrow-levels this)
|
||||
(return 0)
|
||||
)
|
||||
)
|
||||
(if arg1
|
||||
(format 0 "ERROR: can't display ~A because it isn't loaded~%" arg0)
|
||||
)
|
||||
0
|
||||
)
|
||||
|
||||
(defmethod want-vis-level ((this load-state) (arg0 symbol))
|
||||
(let ((v1-0 (lookup-level-info arg0)))
|
||||
(if v1-0
|
||||
(set! arg0 (-> v1-0 name))
|
||||
)
|
||||
)
|
||||
(set! (-> this vis-nick) arg0)
|
||||
0
|
||||
(none)
|
||||
)
|
||||
|
||||
(defmethod want-force-vis ((this load-state) (arg0 symbol) (arg1 symbol))
|
||||
(dotimes (v1-0 10)
|
||||
(when (= (-> this want v1-0 name) arg0)
|
||||
(set! (-> this want v1-0 force-vis?) arg1)
|
||||
(add-borrow-levels this)
|
||||
(return 0)
|
||||
)
|
||||
)
|
||||
(format 0 "ERROR: can't force vis on ~A because it isn't loaded~%" arg0)
|
||||
0
|
||||
)
|
||||
|
||||
;; WARN: Function (method 16 load-state) has a return type of none, but the expression builder found a return statement.
|
||||
(defmethod want-force-inside ((this load-state) (arg0 symbol) (arg1 symbol))
|
||||
(dotimes (v1-0 10)
|
||||
(when (= (-> this want v1-0 name) arg0)
|
||||
(set! (-> this want v1-0 force-inside?) arg1)
|
||||
(add-borrow-levels this)
|
||||
(return 0)
|
||||
)
|
||||
)
|
||||
(format 0 "ERROR: can't force inside on ~A because it isn't loaded~%" arg0)
|
||||
0
|
||||
(none)
|
||||
)
|
||||
|
||||
(define *display-load-commands* #f)
|
||||
|
||||
(defmethod backup-load-state-and-set-cmds ((this load-state) (arg0 pair))
|
||||
(dotimes (s4-0 256)
|
||||
(when (-> this object-name s4-0)
|
||||
(format 0 "WARNING: load state somehow aquired object command ~A~%" (-> this object-name s4-0))
|
||||
(set! (-> this object-name s4-0) #f)
|
||||
)
|
||||
)
|
||||
(mem-copy! (&-> *backup-load-state* type) (&-> this type) 2664)
|
||||
(set! (-> *backup-load-state* command-list) '())
|
||||
(set! (-> this command-list) arg0)
|
||||
0
|
||||
)
|
||||
|
||||
(defmethod restore-load-state-and-cleanup ((this load-state))
|
||||
(with-pp
|
||||
(execute-commands-up-to this 100000.0)
|
||||
(dotimes (gp-0 256)
|
||||
(when (-> this object-name gp-0)
|
||||
(let ((a0-3 (entity-by-name (-> this object-name gp-0))))
|
||||
(when a0-3
|
||||
(set! (-> a0-3 extra perm status) (the-as entity-perm-status (-> this object-status gp-0)))
|
||||
(if (-> a0-3 extra process)
|
||||
(kill! a0-3)
|
||||
)
|
||||
)
|
||||
)
|
||||
(set! (-> this object-name gp-0) #f)
|
||||
)
|
||||
)
|
||||
(let ((s5-0 (new 'stack 'load-state))
|
||||
(gp-1 (-> *load-state* update-callback))
|
||||
)
|
||||
(mem-copy! (&-> s5-0 type) (&-> *load-state* type) 2664)
|
||||
(mem-copy! (&-> this type) (&-> *backup-load-state* type) 2664)
|
||||
(when (!= (-> pp type) scene-player)
|
||||
(dotimes (s4-1 10)
|
||||
(mem-copy! (the-as pointer (-> *load-state* want s4-1)) (the-as pointer (-> s5-0 want s4-1)) 16)
|
||||
)
|
||||
(dotimes (v1-34 3)
|
||||
(set! (-> *load-state* want-sound v1-34 name) (-> s5-0 want-sound v1-34 name))
|
||||
(set! (-> *load-state* want-sound v1-34 mode) (-> s5-0 want-sound v1-34 mode))
|
||||
)
|
||||
)
|
||||
(dotimes (s4-2 10)
|
||||
(mem-copy! (the-as pointer (-> *load-state* want-exp s4-2)) (the-as pointer (-> s5-0 want-exp s4-2)) 16)
|
||||
(mem-copy! (the-as pointer (-> *load-state* target s4-2)) (the-as pointer (-> s5-0 target s4-2)) 16)
|
||||
)
|
||||
(dotimes (v1-47 6)
|
||||
(set! (-> *load-state* want-exp-sound v1-47 name) (-> s5-0 want-exp-sound v1-47 name))
|
||||
(set! (-> *load-state* want-exp-sound v1-47 mode) (-> s5-0 want-exp-sound v1-47 mode))
|
||||
(set! (-> *load-state* target-sound v1-47 name) (-> s5-0 target-sound v1-47 name))
|
||||
(set! (-> *load-state* target-sound v1-47 mode) (-> s5-0 target-sound v1-47 mode))
|
||||
)
|
||||
(set! (-> *load-state* update-callback) gp-1)
|
||||
)
|
||||
(add-borrow-levels *load-state*)
|
||||
0
|
||||
)
|
||||
)
|
||||
|
||||
(defmethod restore-load-state ((this load-state))
|
||||
(dotimes (v1-0 256)
|
||||
(if (-> this object-name v1-0)
|
||||
(set! (-> this object-name v1-0) #f)
|
||||
)
|
||||
)
|
||||
(let ((s5-0 (new 'stack-no-clear 'inline-array 'level-buffer-state 10)))
|
||||
(dotimes (s4-0 10)
|
||||
((method-of-type level-buffer-state new) (the-as symbol (-> s5-0 s4-0)) level-buffer-state)
|
||||
)
|
||||
(let ((s4-1 (new 'stack-no-clear 'inline-array 'level-buffer-state 10)))
|
||||
(dotimes (s3-0 10)
|
||||
((method-of-type level-buffer-state new) (the-as symbol (-> s4-1 s3-0)) level-buffer-state)
|
||||
)
|
||||
(let ((s3-1 (-> *load-state* update-callback)))
|
||||
(dotimes (s2-0 10)
|
||||
(mem-copy! (the-as pointer (-> s5-0 s2-0)) (the-as pointer (-> *load-state* want-exp s2-0)) 16)
|
||||
(mem-copy! (the-as pointer (-> s4-1 s2-0)) (the-as pointer (-> *load-state* target s2-0)) 16)
|
||||
)
|
||||
(mem-copy! (&-> this type) (&-> *backup-load-state* type) 2664)
|
||||
(dotimes (gp-1 10)
|
||||
(mem-copy! (the-as pointer (-> *load-state* want-exp gp-1)) (the-as pointer (-> s5-0 gp-1)) 16)
|
||||
(mem-copy! (the-as pointer (-> *load-state* target gp-1)) (the-as pointer (-> s4-1 gp-1)) 16)
|
||||
)
|
||||
(set! (-> *load-state* update-callback) s3-1)
|
||||
)
|
||||
)
|
||||
)
|
||||
(add-borrow-levels *load-state*)
|
||||
0
|
||||
)
|
||||
|
||||
;; WARN: Function (method 17 load-state) has a return type of none, but the expression builder found a return statement.
|
||||
(defmethod execute-commands-up-to ((this load-state) (arg0 float))
|
||||
(with-pp
|
||||
(let ((s4-0 (new 'stack 'script-context (process->ppointer pp) pp (the-as vector #f))))
|
||||
(set! (-> s4-0 load-state) this)
|
||||
(while (not (null? (-> this command-list)))
|
||||
(let ((f0-0 (command-get-float (car (car (-> this command-list))) 0.0))
|
||||
(s3-0 (cdr (car (-> this command-list))))
|
||||
)
|
||||
(if (< arg0 f0-0)
|
||||
(return #f)
|
||||
)
|
||||
(if *display-load-commands*
|
||||
(format 0 "NOTICE: ~D: ~f: execute command ~A~%" (current-time) f0-0 s3-0)
|
||||
)
|
||||
(cond
|
||||
((pair? (car s3-0))
|
||||
(let ((a1-4 (car s3-0)))
|
||||
(while (not (null? s3-0))
|
||||
(eval! s4-0 (the-as pair a1-4))
|
||||
(set! s3-0 (cdr s3-0))
|
||||
(set! a1-4 (car s3-0))
|
||||
)
|
||||
)
|
||||
)
|
||||
(else
|
||||
(eval! s4-0 s3-0)
|
||||
)
|
||||
)
|
||||
)
|
||||
(set! (-> this command-list) (cdr (-> this command-list)))
|
||||
)
|
||||
)
|
||||
0
|
||||
(none)
|
||||
)
|
||||
)
|
||||
|
||||
(kmemopen global "load-state-struct")
|
||||
|
||||
(define *backup-load-state* (new 'global 'load-state))
|
||||
|
||||
(define-perm *load-state* load-state (new 'global 'load-state))
|
||||
|
||||
(kmemclose)
|
||||
|
||||
@@ -60,6 +60,20 @@
|
||||
(set-stereo-mode)
|
||||
)
|
||||
|
||||
(defenum sound-bank-mode
|
||||
:type uint32
|
||||
(none 0)
|
||||
(unknown 1)
|
||||
(common 2)
|
||||
(mode 3)
|
||||
(full 4)
|
||||
(half 5)
|
||||
(halfa 6)
|
||||
(halfb 7)
|
||||
(halfc 8)
|
||||
(virtual 9)
|
||||
)
|
||||
|
||||
;; +++sound-group
|
||||
(defenum sound-group
|
||||
:bitfield #t
|
||||
@@ -193,8 +207,8 @@
|
||||
)
|
||||
|
||||
(deftype sound-name (uint128)
|
||||
((lo uint64 :offset 0) ;; added to help with cases where they access it by u64.
|
||||
(hi uint64 :offset 64)
|
||||
((lo uint64 :offset 0 :size 64)
|
||||
(hi uint64 :offset 64 :size 64)
|
||||
)
|
||||
)
|
||||
|
||||
@@ -208,17 +222,17 @@
|
||||
|
||||
|
||||
(deftype sound-play-params (structure)
|
||||
((mask uint16)
|
||||
(pitch-mod int16)
|
||||
(bend int16)
|
||||
(fo-min int16)
|
||||
(fo-max int16)
|
||||
(fo-curve int8)
|
||||
(priority int8)
|
||||
(volume int32)
|
||||
(trans int32 3)
|
||||
(group uint8)
|
||||
(reg uint8 3)
|
||||
((mask uint16)
|
||||
(pitch-mod int16)
|
||||
(bend int16)
|
||||
(fo-min int16)
|
||||
(fo-max int16)
|
||||
(fo-curve int8)
|
||||
(priority int8)
|
||||
(volume int32)
|
||||
(trans int32 3)
|
||||
(group uint8)
|
||||
(reg uint8 3)
|
||||
(group-and-reg uint32 :overlay-at group)
|
||||
)
|
||||
:pack-me
|
||||
@@ -452,7 +466,7 @@
|
||||
|
||||
(deftype sound-bank-state (structure)
|
||||
((name symbol)
|
||||
(mode uint32)
|
||||
(mode sound-bank-mode)
|
||||
)
|
||||
:pack-me
|
||||
)
|
||||
|
||||
@@ -1245,7 +1245,7 @@
|
||||
(sound-bank-load (string->sound-name (symbol->string s5-0)) 4 10)
|
||||
(set! (-> *level* sound-bank (* gp-0 2) name) s5-0)
|
||||
)
|
||||
(set! (-> *level* sound-bank (* gp-0 2) mode) (the-as uint 4))
|
||||
(set! (-> *level* sound-bank (* gp-0 2) mode) (sound-bank-mode full))
|
||||
)
|
||||
|
||||
(defun loader-test-command ((cmd sound-command) (param uint))
|
||||
|
||||
@@ -244,7 +244,7 @@
|
||||
(with-pp
|
||||
(logclear! (-> this flags) (speech-channel-flag disable))
|
||||
(if (or (not (-> *setting-control* user-current speech-control))
|
||||
(level-group-method-28 *level*)
|
||||
(load-in-progress? *level*)
|
||||
(nonzero? (-> this id))
|
||||
)
|
||||
(logior! (-> this flags) (speech-channel-flag disable))
|
||||
|
||||
@@ -650,15 +650,15 @@
|
||||
)
|
||||
(dotimes (v1-107 3)
|
||||
(set! (-> *load-state* want-sound v1-107 name) (-> arg0 want-sound v1-107))
|
||||
(set! (-> *load-state* want-sound v1-107 mode) (the-as uint 1))
|
||||
(set! (-> *load-state* want-sound v1-107 mode) (sound-bank-mode unknown))
|
||||
)
|
||||
(load-state-method-21 *load-state*)
|
||||
(add-borrow-levels *load-state*)
|
||||
(when (not (string= (-> arg0 name) "default"))
|
||||
(while (begin
|
||||
(dotimes (s5-0 (-> arg0 want-count))
|
||||
(when (not (or (not (-> arg0 want s5-0 name))
|
||||
(not (-> arg0 want s5-0 display?))
|
||||
(= (level-group-method-26 *level* (-> arg0 want s5-0 name) (the-as int #f)) 'active)
|
||||
(= (status-of-level-and-borrows *level* (-> arg0 want s5-0 name) #f) 'active)
|
||||
)
|
||||
)
|
||||
(set! v1-126 #t)
|
||||
@@ -669,7 +669,7 @@
|
||||
(dotimes (s4-0 10)
|
||||
(when (not (or (not (-> s5-1 want s4-0 name))
|
||||
(not (-> s5-1 want s4-0 display?))
|
||||
(= (level-group-method-26 *level* (-> s5-1 want s4-0 name) (the-as int #f)) 'active)
|
||||
(= (status-of-level-and-borrows *level* (-> s5-1 want s4-0 name) #f) 'active)
|
||||
)
|
||||
)
|
||||
(set! v1-126 #t)
|
||||
|
||||
@@ -2861,7 +2861,7 @@
|
||||
(cond
|
||||
((and (or (demo?) (kiosk?))
|
||||
(or (= (-> arg0 current) 'select-kiosk-start) (= (-> arg0 current) 'select-kiosk-start-special))
|
||||
(= (level-group-method-26 *level* 'title (the-as int #f)) 'active)
|
||||
(= (status-of-level-and-borrows *level* 'title #f) 'active)
|
||||
)
|
||||
(send-event (handle->process (-> *game-info* controller 0)) 'control-spec (get-play-list-idx s5-1))
|
||||
(set-master-mode 'game)
|
||||
@@ -4094,7 +4094,7 @@
|
||||
)
|
||||
)
|
||||
(while (or (not (handle-command-list *gui-control* (gui-channel alert) (the-as gui-connection #f)))
|
||||
(= (level-group-method-26 *level* 'title (the-as int #f)) 'active)
|
||||
(= (status-of-level-and-borrows *level* 'title #f) 'active)
|
||||
)
|
||||
(suspend)
|
||||
)
|
||||
|
||||
@@ -891,8 +891,8 @@ void Compiler::fill_static_array_inline(const goos::Object& form,
|
||||
typecheck(form, TypeSpec("integer"), sr.typespec());
|
||||
} else {
|
||||
if (sr.is_symbol() && sr.symbol_name() == "#f") {
|
||||
// allow #f for any structure, or symbol (no longer a structure in jak 2)
|
||||
if (content_type.base_type() != "symbol") {
|
||||
// allow #f for any structure, symbol (no longer a structure in jak 2), or object.
|
||||
if (content_type.base_type() != "symbol" && content_type.base_type() != "object") {
|
||||
typecheck(form, TypeSpec("structure"), content_type);
|
||||
}
|
||||
} else {
|
||||
|
||||
+10
-11
@@ -131,23 +131,23 @@
|
||||
(command-list pair)
|
||||
(object-name string 256)
|
||||
(object-status basic 256)
|
||||
(update-callback basic)
|
||||
(update-callback (function load-state object))
|
||||
)
|
||||
(:methods
|
||||
(new (symbol type) _type_)
|
||||
(load-state-method-9 () none)
|
||||
(load-state-method-10 () none)
|
||||
(load-state-method-11 () none)
|
||||
(reset! (_type_) _type_)
|
||||
(update! (_type_) int)
|
||||
(want-levels (_type_ (pointer symbol)) int)
|
||||
(want-sound-banks (_type_ (pointer symbol)) none)
|
||||
(load-state-method-13 () none)
|
||||
(load-state-method-14 () none)
|
||||
(load-state-method-15 () none)
|
||||
(load-state-method-16 () none)
|
||||
(want-display-level (_type_ symbol symbol) int)
|
||||
(want-vis-level (_type_ symbol) none)
|
||||
(want-force-vis (_type_ symbol symbol) int)
|
||||
(want-force-inside (_type_ symbol symbol) none)
|
||||
(execute-commands-up-to (_type_ float) none)
|
||||
(backup-load-state-and-set-cmds (_type_ pair) int)
|
||||
(restore-load-state-and-cleanup (_type_) int)
|
||||
(restore-load-state (_type_) int)
|
||||
(load-state-method-21 (_type_) none)
|
||||
(add-borrow-levels (_type_) none)
|
||||
)
|
||||
)
|
||||
|
||||
@@ -192,11 +192,10 @@
|
||||
)
|
||||
|
||||
;; definition for method 0 of type load-state
|
||||
;; WARN: Return type mismatch none vs load-state.
|
||||
(defmethod new load-state ((allocation symbol) (type-to-make type))
|
||||
(let ((a0-1 (object-new allocation type-to-make (the-as int (-> type-to-make size)))))
|
||||
(set! (-> a0-1 update-callback) #f)
|
||||
(the-as load-state ((method-of-object a0-1 load-state-method-9)))
|
||||
(reset! a0-1)
|
||||
)
|
||||
)
|
||||
|
||||
|
||||
+2
-2
@@ -193,7 +193,7 @@
|
||||
(set! (-> continue-rot 8) (the int (* 32767.0 (-> rot fvec z))))
|
||||
)
|
||||
)
|
||||
(load-state-method-21 arg0)
|
||||
(add-borrow-levels arg0)
|
||||
this
|
||||
)
|
||||
|
||||
@@ -385,7 +385,7 @@
|
||||
(when (or (and (-> subtask manager) (handle->process (-> subtask manager manager)))
|
||||
(and (-> subtask manager)
|
||||
(-> subtask manager level)
|
||||
(= (level-group-method-26 *level* (-> subtask manager level) (the-as int #f)) 'active)
|
||||
(= (status-of-level-and-borrows *level* (-> subtask manager level) #f) 'active)
|
||||
)
|
||||
(and (not (-> subtask manager)) (= (-> level info taskname) (-> subtask level)))
|
||||
)
|
||||
|
||||
+2
-2
@@ -1429,7 +1429,7 @@
|
||||
(set! (-> s5-0 allow-error) (-> s4-0 allow-error))
|
||||
(set! (-> s5-0 under-water-pitch-mod) (-> s4-0 under-water-pitch-mod))
|
||||
(set! (-> s5-0 slow-time) (-> s4-0 slow-time))
|
||||
(if (and (-> s4-0 mirror) (= (level-group-method-26 *level* 'ctywide (the-as int #f)) 'active))
|
||||
(if (and (-> s4-0 mirror) (= (status-of-level-and-borrows *level* 'ctywide #f) 'active))
|
||||
(set! (-> s5-0 mirror) #f)
|
||||
(set! (-> s5-0 mirror) (-> s4-0 mirror))
|
||||
)
|
||||
@@ -1655,7 +1655,7 @@
|
||||
(when (and (!= (-> s4-0 music) (-> s5-0 music))
|
||||
(and (zero? (rpc-busy? 1))
|
||||
(or (not (-> s4-0 music))
|
||||
(and (< 0.0 (-> s5-0 music-volume)) (not (level-group-method-28 *level*)) (not (-> s5-0 movie)))
|
||||
(and (< 0.0 (-> s5-0 music-volume)) (not (load-in-progress? *level*)) (not (-> s5-0 movie)))
|
||||
)
|
||||
(not *master-exit*)
|
||||
)
|
||||
|
||||
+17
-8
@@ -37,33 +37,42 @@ This is used for precomputed visibility, based on the camera position. This is n
|
||||
"The bsp-header is really an entire level.
|
||||
This probably started as a very simple structure, but now it is extremely complicated."
|
||||
((info file-info :overlay-at id)
|
||||
(all-visible-list (pointer uint8) :offset 32)
|
||||
(visible-list-length int16 :offset 36)
|
||||
(all-visible-list (pointer uint8))
|
||||
(visible-list-length int16)
|
||||
(extra-vis-list-length int16)
|
||||
(drawable-trees drawable-tree-array :offset 40)
|
||||
(pat pointer :offset 44)
|
||||
(pat-length int32 :offset 48)
|
||||
(drawable-trees drawable-tree-array)
|
||||
(pat pointer)
|
||||
(pat-length int32)
|
||||
(texture-remap-table (pointer uint64))
|
||||
(texture-remap-table-len int32)
|
||||
(texture-ids (pointer texture-id))
|
||||
(texture-page-count int32)
|
||||
(unknown-basic basic)
|
||||
(actors drawable-inline-array-actor :offset 112)
|
||||
(name symbol)
|
||||
(nickname symbol)
|
||||
(vis-info level-vis-info 8)
|
||||
(actors drawable-inline-array-actor)
|
||||
(cameras (array entity-camera))
|
||||
(nodes (inline-array bsp-node) :offset 120)
|
||||
(nodes (inline-array bsp-node))
|
||||
(level level)
|
||||
(current-leaf-idx uint16)
|
||||
(texture-flags texture-page-flag 10 :offset 130)
|
||||
(texture-flags texture-page-flag 10)
|
||||
(cam-outside-bsp uint8 :offset 152)
|
||||
(cam-using-back uint8)
|
||||
(cam-box-idx uint16)
|
||||
(subdivide-close float :offset 160)
|
||||
(subdivide-far float)
|
||||
(actor-birth-order (pointer uint32) :offset 172)
|
||||
(light-hash light-hash)
|
||||
(nav-meshes (array entity-nav-mesh))
|
||||
(region-trees (array drawable-tree-region-prim) :offset 188)
|
||||
(collide-hash collide-hash :offset 196)
|
||||
(wind-array uint32 :offset 200)
|
||||
(wind-array-length int32 :offset 204)
|
||||
(city-level-info city-level-info :offset 208)
|
||||
(vis-spheres vector-array :offset 216)
|
||||
(vis-spheres-length uint32 :offset 248)
|
||||
(region-tree drawable-tree-region-prim :offset 252)
|
||||
(tfrag-masks texture-masks-array :offset 256)
|
||||
(tfrag-closest (pointer float))
|
||||
(tfrag-mask-count uint32 :overlay-at tfrag-closest)
|
||||
|
||||
+33
-28
@@ -150,9 +150,9 @@
|
||||
|
||||
;; definition of type level-borrow-info
|
||||
(deftype level-borrow-info (basic)
|
||||
((alias symbol)
|
||||
((alias object)
|
||||
(borrow-size uint16 5)
|
||||
(borrow-info symbol 5)
|
||||
(borrow-info object 5)
|
||||
)
|
||||
)
|
||||
|
||||
@@ -218,8 +218,8 @@
|
||||
(mood-range mood-range :inline)
|
||||
)
|
||||
(:methods
|
||||
(level-load-info-method-9 (_type_ int) object)
|
||||
(level-load-info-method-10 (_type_) none)
|
||||
(get-callback-symbol-value-by-slot! (_type_ int) object)
|
||||
(get-callback-by-slot! (_type_ int) object)
|
||||
)
|
||||
)
|
||||
|
||||
@@ -376,6 +376,11 @@
|
||||
(entity entity-links-array)
|
||||
(closest-object meters 10)
|
||||
(tie-min-dist float :offset 352)
|
||||
(fg-tfrag-min-dist float)
|
||||
(fg-prim-min-dist float)
|
||||
(fg-shrub-min-dist float)
|
||||
(fg-warp-min-dist float :offset 372)
|
||||
(fg-prim2-min-dist float :offset 380)
|
||||
(upload-size int32 20 :offset 388)
|
||||
(inside-boxes? basic)
|
||||
(display? symbol)
|
||||
@@ -435,27 +440,27 @@
|
||||
(unknown-pad uint8 14)
|
||||
)
|
||||
(:methods
|
||||
(level-method-9 () none)
|
||||
(level-method-10 () none)
|
||||
(level-method-11 () none)
|
||||
(deactivate (_type_) _type_)
|
||||
(unload! (_type_) _type_)
|
||||
(is-object-visible? (_type_ int) symbol)
|
||||
(level-method-12 () none)
|
||||
(level-method-13 () none)
|
||||
(bsp-name (_type_) symbol)
|
||||
(compute-memory-usage! (_type_ symbol) memory-usage-block)
|
||||
(level-method-15 () none)
|
||||
(inside-bsp? (_type_) symbol)
|
||||
(update-vis! (_type_ level-vis-info uint (pointer uint8)) symbol)
|
||||
(level-method-17 () none)
|
||||
(level-method-18 () none)
|
||||
(level-method-19 () none)
|
||||
(level-method-20 () none)
|
||||
(load-continue (_type_) _type_)
|
||||
(load-begin (_type_) _type_)
|
||||
(login-begin (_type_) _type_)
|
||||
(debug-print-region-splitbox (_type_ vector object) none)
|
||||
(get-art-group-by-name (_type_ string) art-group)
|
||||
(level-method-22 () none)
|
||||
(level-method-23 () none)
|
||||
(level-method-24 () none)
|
||||
(level-method-25 () none)
|
||||
(level-method-26 () none)
|
||||
(level-method-27 () none)
|
||||
(level-method-28 () none)
|
||||
(level-method-29 () none)
|
||||
(birth (_type_) _type_)
|
||||
(level-status-update! (_type_ symbol) _type_)
|
||||
(load-common-package (_type_) none)
|
||||
(init-vis-from-bsp (_type_) none)
|
||||
(vis-clear (_type_) none)
|
||||
)
|
||||
)
|
||||
|
||||
@@ -657,27 +662,27 @@
|
||||
)
|
||||
(:methods
|
||||
(level-get (_type_ symbol) level)
|
||||
(level-group-method-10 () none)
|
||||
(level-get-with-status (_type_ symbol) level)
|
||||
(get-level-by-heap-ptr-and-status (_type_ pointer symbol) level)
|
||||
(level-group-method-12 () none)
|
||||
(level-group-method-13 () none)
|
||||
(level-get-for-use (_type_ symbol symbol) level)
|
||||
(activate-levels! (_type_) int)
|
||||
(level-group-method-14 () none)
|
||||
(level-group-method-15 () none)
|
||||
(level-group-method-16 () none)
|
||||
(assign-draw-indices (_type_) none)
|
||||
(level-group-method-17 () none)
|
||||
(level-group-method-18 () none)
|
||||
(level-update (_type_) none)
|
||||
(level-get-target-inside (_type_) level)
|
||||
(level-group-method-21 () none)
|
||||
(init-level-system (_type_ symbol) none)
|
||||
(art-group-get-by-name (_type_ string (pointer level)) art-group)
|
||||
(level-group-method-23 () none)
|
||||
(level-group-method-24 () none)
|
||||
(level-group-method-25 () none)
|
||||
(level-group-method-26 (_type_ symbol int) symbol)
|
||||
(level-group-method-27 () none)
|
||||
(level-group-method-28 (_type_) symbol)
|
||||
(level-group-method-29 () none)
|
||||
(level-group-method-30 () none)
|
||||
(status-of-level-and-borrows (_type_ symbol symbol) symbol)
|
||||
(do-nothing (_type_) none)
|
||||
(load-in-progress? (_type_) symbol)
|
||||
(is-load-allowed? (_type_ (pointer symbol)) symbol)
|
||||
(level-get-most-disposable (_type_) level)
|
||||
)
|
||||
)
|
||||
|
||||
|
||||
+40
-40
@@ -445,7 +445,7 @@
|
||||
:borrow (new 'static 'level-borrow-info
|
||||
:alias #f
|
||||
:borrow-size (new 'static 'array uint16 5 #xbb8 #x0 #x0 #x0 #x0)
|
||||
:borrow-info (new 'static 'array symbol 5 #f #f #f #f #f)
|
||||
:borrow-info (new 'static 'array object 5 #f #f #f #f #f)
|
||||
)
|
||||
:bottom-height (meters -15)
|
||||
:fog-height (meters 80)
|
||||
@@ -574,7 +574,7 @@
|
||||
:borrow (new 'static 'level-borrow-info
|
||||
:alias #f
|
||||
:borrow-size (new 'static 'array uint16 5 #x1a4 #x1a4 #x1a4 #x30c #x32a)
|
||||
:borrow-info (new 'static 'array symbol 5 #f #f #f #f #f)
|
||||
:borrow-info (new 'static 'array object 5 #f #f #f #f #f)
|
||||
)
|
||||
:bottom-height (meters -15)
|
||||
:fog-height (meters 80)
|
||||
@@ -607,7 +607,7 @@
|
||||
:bigmap-id (bigmap-id no-map)
|
||||
:continues '()
|
||||
:callback-list '()
|
||||
:borrow (new 'static 'level-borrow-info :alias #f :borrow-info (new 'static 'array symbol 5 #f #f #f #f #f))
|
||||
:borrow (new 'static 'level-borrow-info :alias #f :borrow-info (new 'static 'array object 5 #f #f #f #f #f))
|
||||
:bottom-height (meters -20)
|
||||
:fog-height (meters 80)
|
||||
:max-rain 1.0
|
||||
@@ -639,7 +639,7 @@
|
||||
:bigmap-id (bigmap-id no-map)
|
||||
:continues '()
|
||||
:callback-list '()
|
||||
:borrow (new 'static 'level-borrow-info :alias #f :borrow-info (new 'static 'array symbol 5 #f #f #f #f #f))
|
||||
:borrow (new 'static 'level-borrow-info :alias #f :borrow-info (new 'static 'array object 5 #f #f #f #f #f))
|
||||
:bottom-height (meters -20)
|
||||
:fog-height (meters 80)
|
||||
:max-rain 1.0
|
||||
@@ -671,7 +671,7 @@
|
||||
:bigmap-id (bigmap-id no-map)
|
||||
:continues '()
|
||||
:callback-list '()
|
||||
:borrow (new 'static 'level-borrow-info :alias #f :borrow-info (new 'static 'array symbol 5 #f #f #f #f #f))
|
||||
:borrow (new 'static 'level-borrow-info :alias #f :borrow-info (new 'static 'array object 5 #f #f #f #f #f))
|
||||
:bottom-height (meters -20)
|
||||
:fog-height (meters 80)
|
||||
:max-rain 1.0
|
||||
@@ -703,7 +703,7 @@
|
||||
:bigmap-id (bigmap-id no-map)
|
||||
:continues '()
|
||||
:callback-list '()
|
||||
:borrow (new 'static 'level-borrow-info :alias #f :borrow-info (new 'static 'array symbol 5 #f #f #f #f #f))
|
||||
:borrow (new 'static 'level-borrow-info :alias #f :borrow-info (new 'static 'array object 5 #f #f #f #f #f))
|
||||
:bottom-height (meters -20)
|
||||
:fog-height (meters 80)
|
||||
:max-rain 1.0
|
||||
@@ -735,7 +735,7 @@
|
||||
:bigmap-id (bigmap-id no-map)
|
||||
:continues '()
|
||||
:callback-list '()
|
||||
:borrow (new 'static 'level-borrow-info :alias #f :borrow-info (new 'static 'array symbol 5 #f #f #f #f #f))
|
||||
:borrow (new 'static 'level-borrow-info :alias #f :borrow-info (new 'static 'array object 5 #f #f #f #f #f))
|
||||
:bottom-height (meters -20)
|
||||
:fog-height (meters 80)
|
||||
:max-rain 1.0
|
||||
@@ -767,7 +767,7 @@
|
||||
:bigmap-id (bigmap-id no-map)
|
||||
:continues '()
|
||||
:callback-list '()
|
||||
:borrow (new 'static 'level-borrow-info :alias #f :borrow-info (new 'static 'array symbol 5 #f #f #f #f #f))
|
||||
:borrow (new 'static 'level-borrow-info :alias #f :borrow-info (new 'static 'array object 5 #f #f #f #f #f))
|
||||
:bottom-height (meters -20)
|
||||
:fog-height (meters 80)
|
||||
:max-rain 1.0
|
||||
@@ -3190,7 +3190,7 @@
|
||||
:borrow (new 'static 'level-borrow-info
|
||||
:alias #f
|
||||
:borrow-size (new 'static 'array uint16 5 #x71c #x0 #x0 #x0 #x0)
|
||||
:borrow-info (new 'static 'array symbol 5 #f #f #f #f #f)
|
||||
:borrow-info (new 'static 'array object 5 #f #f #f #f #f)
|
||||
)
|
||||
:bottom-height (meters -100)
|
||||
:fog-height (meters 80)
|
||||
@@ -3377,7 +3377,7 @@
|
||||
:borrow (new 'static 'level-borrow-info
|
||||
:alias #f
|
||||
:borrow-size (new 'static 'array uint16 5 #x13a1 #x0 #x0 #x0 #x0)
|
||||
:borrow-info (new 'static 'array symbol 5 #f #f #f #f #f)
|
||||
:borrow-info (new 'static 'array object 5 #f #f #f #f #f)
|
||||
)
|
||||
:bottom-height (meters -150)
|
||||
:fog-height (meters 80)
|
||||
@@ -3523,7 +3523,7 @@
|
||||
:borrow (new 'static 'level-borrow-info
|
||||
:alias #f
|
||||
:borrow-size (new 'static 'array uint16 5 #xbea #x898 #x0 #x0 #x0)
|
||||
:borrow-info (new 'static 'array symbol 5 #f #f #f #f #f)
|
||||
:borrow-info (new 'static 'array object 5 #f #f #f #f #f)
|
||||
)
|
||||
:bottom-height (meters -150)
|
||||
:fog-height (meters 80)
|
||||
@@ -4299,7 +4299,7 @@
|
||||
:borrow (new 'static 'level-borrow-info
|
||||
:alias #f
|
||||
:borrow-size (new 'static 'array uint16 5 #x4ba #x0 #x0 #x0 #x0)
|
||||
:borrow-info (new 'static 'array symbol 5 #f #f #f #f #f)
|
||||
:borrow-info (new 'static 'array object 5 #f #f #f #f #f)
|
||||
)
|
||||
:bottom-height (meters -15)
|
||||
:fog-height (meters 80)
|
||||
@@ -4422,7 +4422,7 @@
|
||||
:borrow (new 'static 'level-borrow-info
|
||||
:alias #f
|
||||
:borrow-size (new 'static 'array uint16 5 #x82a #x0 #x0 #x0 #x0)
|
||||
:borrow-info (new 'static 'array symbol 5 #f #f #f #f #f)
|
||||
:borrow-info (new 'static 'array object 5 #f #f #f #f #f)
|
||||
)
|
||||
:bottom-height (meters -15)
|
||||
:fog-height (meters 80)
|
||||
@@ -4566,7 +4566,7 @@
|
||||
:borrow (new 'static 'level-borrow-info
|
||||
:alias #f
|
||||
:borrow-size (new 'static 'array uint16 5 #x1b #x2ee #x0 #x0 #x0)
|
||||
:borrow-info (new 'static 'array symbol 5 #f #f #f #f #f)
|
||||
:borrow-info (new 'static 'array object 5 #f #f #f #f #f)
|
||||
)
|
||||
:bottom-height (meters -15)
|
||||
:fog-height (meters 80)
|
||||
@@ -4791,7 +4791,7 @@
|
||||
:borrow (new 'static 'level-borrow-info
|
||||
:alias #f
|
||||
:borrow-size (new 'static 'array uint16 5 #x3e8 #xe6 #x0 #x0 #x0)
|
||||
:borrow-info (new 'static 'array symbol 5 #f #f #f #f #f)
|
||||
:borrow-info (new 'static 'array object 5 #f #f #f #f #f)
|
||||
)
|
||||
:bottom-height (meters -150)
|
||||
:fog-height (meters 80)
|
||||
@@ -5179,7 +5179,7 @@
|
||||
:borrow (new 'static 'level-borrow-info
|
||||
:alias #f
|
||||
:borrow-size (new 'static 'array uint16 5 #xfa #x0 #x0 #x0 #x0)
|
||||
:borrow-info (new 'static 'array symbol 5 #f #f #f #f #f)
|
||||
:borrow-info (new 'static 'array object 5 #f #f #f #f #f)
|
||||
)
|
||||
:bottom-height (meters -150)
|
||||
:fog-height (meters 80)
|
||||
@@ -5355,7 +5355,7 @@
|
||||
:borrow (new 'static 'level-borrow-info
|
||||
:alias #f
|
||||
:borrow-size (new 'static 'array uint16 5 #xfa #x0 #x0 #x0 #x0)
|
||||
:borrow-info (new 'static 'array symbol 5 #f #f #f #f #f)
|
||||
:borrow-info (new 'static 'array object 5 #f #f #f #f #f)
|
||||
)
|
||||
:bottom-height (meters -150)
|
||||
:fog-height (meters 80)
|
||||
@@ -6221,7 +6221,7 @@
|
||||
:borrow (new 'static 'level-borrow-info
|
||||
:alias #f
|
||||
:borrow-size (new 'static 'array uint16 5 #xa28 #x0 #x0 #x0 #x0)
|
||||
:borrow-info (new 'static 'array symbol 5 #f #f #f #f #f)
|
||||
:borrow-info (new 'static 'array object 5 #f #f #f #f #f)
|
||||
)
|
||||
:bottom-height (meters -10000)
|
||||
:fog-height (meters 80)
|
||||
@@ -8202,7 +8202,7 @@
|
||||
:borrow (new 'static 'level-borrow-info
|
||||
:alias #f
|
||||
:borrow-size (new 'static 'array uint16 5 #x79e #x0 #x0 #x0 #x0)
|
||||
:borrow-info (new 'static 'array symbol 5 #f #f #f #f #f)
|
||||
:borrow-info (new 'static 'array object 5 #f #f #f #f #f)
|
||||
)
|
||||
:bottom-height (meters -150)
|
||||
:fog-height (meters 80)
|
||||
@@ -8476,7 +8476,7 @@
|
||||
:borrow (new 'static 'level-borrow-info
|
||||
:alias #f
|
||||
:borrow-size (new 'static 'array uint16 5 #x785 #x0 #x0 #x0 #x0)
|
||||
:borrow-info (new 'static 'array symbol 5 #f #f #f #f #f)
|
||||
:borrow-info (new 'static 'array object 5 #f #f #f #f #f)
|
||||
)
|
||||
:bottom-height (meters -150)
|
||||
:fog-height (meters 80)
|
||||
@@ -8510,7 +8510,7 @@
|
||||
:borrow (new 'static 'level-borrow-info
|
||||
:alias #f
|
||||
:borrow-size (new 'static 'array uint16 5 #x21c #x0 #x0 #x0 #x0)
|
||||
:borrow-info (new 'static 'array symbol 5 #f #f #f #f #f)
|
||||
:borrow-info (new 'static 'array object 5 #f #f #f #f #f)
|
||||
)
|
||||
:bottom-height (meters -20)
|
||||
:fog-height (meters 80)
|
||||
@@ -8645,7 +8645,7 @@
|
||||
:borrow (new 'static 'level-borrow-info
|
||||
:alias #f
|
||||
:borrow-size (new 'static 'array uint16 5 #x195 #x0 #x0 #x0 #x0)
|
||||
:borrow-info (new 'static 'array symbol 5 #f #f #f #f #f)
|
||||
:borrow-info (new 'static 'array object 5 #f #f #f #f #f)
|
||||
)
|
||||
:bottom-height (meters -10000)
|
||||
:fog-height (meters 80)
|
||||
@@ -8679,7 +8679,7 @@
|
||||
:borrow (new 'static 'level-borrow-info
|
||||
:alias #f
|
||||
:borrow-size (new 'static 'array uint16 5 #x320 #x0 #x0 #x0 #x0)
|
||||
:borrow-info (new 'static 'array symbol 5 #f #f #f #f #f)
|
||||
:borrow-info (new 'static 'array object 5 #f #f #f #f #f)
|
||||
)
|
||||
:bottom-height (meters -150)
|
||||
:fog-height (meters 80)
|
||||
@@ -8971,7 +8971,7 @@
|
||||
:borrow (new 'static 'level-borrow-info
|
||||
:alias #f
|
||||
:borrow-size (new 'static 'array uint16 5 #x258 #x0 #x0 #x0 #x0)
|
||||
:borrow-info (new 'static 'array symbol 5 #f #f #f #f #f)
|
||||
:borrow-info (new 'static 'array object 5 #f #f #f #f #f)
|
||||
)
|
||||
:bottom-height (meters -150)
|
||||
:fog-height (meters 80)
|
||||
@@ -9456,7 +9456,7 @@
|
||||
:borrow (new 'static 'level-borrow-info
|
||||
:alias #f
|
||||
:borrow-size (new 'static 'array uint16 5 #x3e8 #x0 #x0 #x0 #x0)
|
||||
:borrow-info (new 'static 'array symbol 5 #f #f #f #f #f)
|
||||
:borrow-info (new 'static 'array object 5 #f #f #f #f #f)
|
||||
)
|
||||
:bottom-height (meters -150)
|
||||
:fog-height (meters 80)
|
||||
@@ -9895,7 +9895,7 @@
|
||||
:borrow (new 'static 'level-borrow-info
|
||||
:alias #f
|
||||
:borrow-size (new 'static 'array uint16 5 #x4dd #x0 #x0 #x0 #x0)
|
||||
:borrow-info (new 'static 'array symbol 5 #f #f #f #f #f)
|
||||
:borrow-info (new 'static 'array object 5 #f #f #f #f #f)
|
||||
)
|
||||
:bottom-height (meters -150)
|
||||
:fog-height (meters 80)
|
||||
@@ -9929,7 +9929,7 @@
|
||||
:borrow (new 'static 'level-borrow-info
|
||||
:alias #f
|
||||
:borrow-size (new 'static 'array uint16 5 #x8ca #x0 #x0 #x0 #x0)
|
||||
:borrow-info (new 'static 'array symbol 5 #f #f #f #f #f)
|
||||
:borrow-info (new 'static 'array object 5 #f #f #f #f #f)
|
||||
)
|
||||
:bottom-height (meters -20)
|
||||
:fog-height (meters 80)
|
||||
@@ -10385,7 +10385,7 @@
|
||||
:borrow (new 'static 'level-borrow-info
|
||||
:alias #f
|
||||
:borrow-size (new 'static 'array uint16 5 #x898 #x0 #x0 #x0 #x0)
|
||||
:borrow-info (new 'static 'array symbol 5 #f #f #f #f #f)
|
||||
:borrow-info (new 'static 'array object 5 #f #f #f #f #f)
|
||||
)
|
||||
:bottom-height (meters 10)
|
||||
:fog-height (meters 80)
|
||||
@@ -11893,7 +11893,7 @@
|
||||
:borrow (new 'static 'level-borrow-info
|
||||
:alias #f
|
||||
:borrow-size (new 'static 'array uint16 5 #x52d #x0 #x0 #x0 #x0)
|
||||
:borrow-info (new 'static 'array symbol 5 #f #f #f #f #f)
|
||||
:borrow-info (new 'static 'array object 5 #f #f #f #f #f)
|
||||
)
|
||||
:bottom-height (meters -150)
|
||||
:fog-height (meters 80)
|
||||
@@ -13969,7 +13969,7 @@
|
||||
:borrow (new 'static 'level-borrow-info
|
||||
:alias #f
|
||||
:borrow-size (new 'static 'array uint16 5 #x3e8 #x0 #x0 #x0 #x0)
|
||||
:borrow-info (new 'static 'array symbol 5 #f #f #f #f #f)
|
||||
:borrow-info (new 'static 'array object 5 #f #f #f #f #f)
|
||||
)
|
||||
:bottom-height (meters -20)
|
||||
:fog-height (meters 80)
|
||||
@@ -14411,7 +14411,7 @@
|
||||
:bigmap-id (bigmap-id no-map)
|
||||
:continues '()
|
||||
:callback-list '()
|
||||
:borrow (new 'static 'level-borrow-info :alias #f :borrow-info (new 'static 'array symbol 5 #f #f #f #f #f))
|
||||
:borrow (new 'static 'level-borrow-info :alias #f :borrow-info (new 'static 'array object 5 #f #f #f #f #f))
|
||||
:bottom-height (meters -20)
|
||||
:fog-height (meters 80)
|
||||
:max-rain 1.0
|
||||
@@ -14843,7 +14843,7 @@
|
||||
:borrow (new 'static 'level-borrow-info
|
||||
:alias #f
|
||||
:borrow-size (new 'static 'array uint16 5 #x4c9 #x0 #x0 #x0 #x0)
|
||||
:borrow-info (new 'static 'array symbol 5 #f #f #f #f #f)
|
||||
:borrow-info (new 'static 'array object 5 #f #f #f #f #f)
|
||||
)
|
||||
:bottom-height (meters -20)
|
||||
:fog-height (meters 80)
|
||||
@@ -16005,7 +16005,7 @@
|
||||
:borrow (new 'static 'level-borrow-info
|
||||
:alias #f
|
||||
:borrow-size (new 'static 'array uint16 5 #x3e8 #x0 #x0 #x0 #x0)
|
||||
:borrow-info (new 'static 'array symbol 5 #f #f #f #f #f)
|
||||
:borrow-info (new 'static 'array object 5 #f #f #f #f #f)
|
||||
)
|
||||
:bottom-height (meters -150)
|
||||
:fog-height (meters 80)
|
||||
@@ -16489,7 +16489,7 @@
|
||||
:borrow (new 'static 'level-borrow-info
|
||||
:alias #f
|
||||
:borrow-size (new 'static 'array uint16 5 #xa #x0 #x0 #x0 #x0)
|
||||
:borrow-info (new 'static 'array symbol 5 #f #f #f #f #f)
|
||||
:borrow-info (new 'static 'array object 5 #f #f #f #f #f)
|
||||
)
|
||||
:bottom-height (meters -150)
|
||||
:fog-height (meters 80)
|
||||
@@ -17819,7 +17819,7 @@
|
||||
:borrow (new 'static 'level-borrow-info
|
||||
:alias #f
|
||||
:borrow-size (new 'static 'array uint16 5 #x285 #x8fc #x0 #x0 #x0)
|
||||
:borrow-info (new 'static 'array symbol 5 #f #f #f #f #f)
|
||||
:borrow-info (new 'static 'array object 5 #f #f #f #f #f)
|
||||
)
|
||||
:bottom-height (meters -150)
|
||||
:fog-height (meters 80)
|
||||
@@ -18091,7 +18091,7 @@
|
||||
:borrow (new 'static 'level-borrow-info
|
||||
:alias #f
|
||||
:borrow-size (new 'static 'array uint16 5 #xc4e #x0 #x0 #x0 #x0)
|
||||
:borrow-info (new 'static 'array symbol 5 #f #f #f #f #f)
|
||||
:borrow-info (new 'static 'array object 5 #f #f #f #f #f)
|
||||
)
|
||||
:bottom-height (meters -150)
|
||||
:fog-height (meters 80)
|
||||
@@ -18464,7 +18464,7 @@
|
||||
:borrow (new 'static 'level-borrow-info
|
||||
:alias #f
|
||||
:borrow-size (new 'static 'array uint16 5 #xc4e #x0 #x0 #x0 #x0)
|
||||
:borrow-info (new 'static 'array symbol 5 #f #f #f #f #f)
|
||||
:borrow-info (new 'static 'array object 5 #f #f #f #f #f)
|
||||
)
|
||||
:bottom-height (meters -150)
|
||||
:fog-height (meters 80)
|
||||
@@ -18549,7 +18549,7 @@
|
||||
:borrow (new 'static 'level-borrow-info
|
||||
:alias #f
|
||||
:borrow-size (new 'static 'array uint16 5 #xc4e #x9c4 #x0 #x0 #x0)
|
||||
:borrow-info (new 'static 'array symbol 5 #f #f #f #f #f)
|
||||
:borrow-info (new 'static 'array object 5 #f #f #f #f #f)
|
||||
)
|
||||
:bottom-height (meters 516)
|
||||
:fog-height (meters 80)
|
||||
@@ -18737,7 +18737,7 @@
|
||||
:borrow (new 'static 'level-borrow-info
|
||||
:alias #f
|
||||
:borrow-size (new 'static 'array uint16 5 #x258 #x0 #x0 #x0 #x0)
|
||||
:borrow-info (new 'static 'array symbol 5 #f #f #f #f #f)
|
||||
:borrow-info (new 'static 'array object 5 #f #f #f #f #f)
|
||||
)
|
||||
:bottom-height (meters -20)
|
||||
:fog-height (meters 80)
|
||||
@@ -18855,7 +18855,7 @@
|
||||
:borrow (new 'static 'level-borrow-info
|
||||
:alias #f
|
||||
:borrow-size (new 'static 'array uint16 5 #x384 #x0 #x0 #x0 #x0)
|
||||
:borrow-info (new 'static 'array symbol 5 #f #f #f #f #f)
|
||||
:borrow-info (new 'static 'array object 5 #f #f #f #f #f)
|
||||
)
|
||||
:bottom-height (meters -20)
|
||||
:fog-height (meters 80)
|
||||
|
||||
+3831
File diff suppressed because it is too large
Load Diff
+657
@@ -0,0 +1,657 @@
|
||||
;;-*-Lisp-*-
|
||||
(in-package goal)
|
||||
|
||||
;; definition for method 2 of type level-buffer-state
|
||||
(defmethod print ((this level-buffer-state))
|
||||
(format
|
||||
#t
|
||||
"#<level-buffer-state ~A ~A ~A ~A @ #x~X>"
|
||||
(-> this name)
|
||||
(-> this display?)
|
||||
(-> this force-vis?)
|
||||
(-> this force-inside?)
|
||||
this
|
||||
)
|
||||
this
|
||||
)
|
||||
|
||||
;; definition for method 2 of type level-buffer-state-small
|
||||
(defmethod print ((this level-buffer-state-small))
|
||||
(format #t "#<level-buffer-state ~A ~A @ #x~X>" (-> this name) (-> this display?) this)
|
||||
this
|
||||
)
|
||||
|
||||
;; definition for method 2 of type sound-bank-state
|
||||
(defmethod print ((this sound-bank-state))
|
||||
(let ((t9-0 format)
|
||||
(a0-1 #t)
|
||||
(a1-0 "#<sound-bank-state ~A ~S @ #x~X>")
|
||||
(a2-0 (-> this name))
|
||||
(v1-0 (-> this mode))
|
||||
)
|
||||
(t9-0
|
||||
a0-1
|
||||
a1-0
|
||||
a2-0
|
||||
(cond
|
||||
((= v1-0 (sound-bank-mode halfa))
|
||||
"halfa"
|
||||
)
|
||||
((= v1-0 (sound-bank-mode halfc))
|
||||
"halfc"
|
||||
)
|
||||
((= v1-0 (sound-bank-mode half))
|
||||
"half"
|
||||
)
|
||||
((= v1-0 (sound-bank-mode full))
|
||||
"full"
|
||||
)
|
||||
((= v1-0 (sound-bank-mode mode))
|
||||
"mode"
|
||||
)
|
||||
((= v1-0 (sound-bank-mode unknown))
|
||||
"unknown"
|
||||
)
|
||||
((= v1-0 (sound-bank-mode common))
|
||||
"common"
|
||||
)
|
||||
((= v1-0 (sound-bank-mode halfb))
|
||||
"halfb"
|
||||
)
|
||||
((= v1-0 (sound-bank-mode none))
|
||||
"none"
|
||||
)
|
||||
((= v1-0 (sound-bank-mode virtual))
|
||||
"virtual"
|
||||
)
|
||||
(else
|
||||
"*unknown*"
|
||||
)
|
||||
)
|
||||
this
|
||||
)
|
||||
)
|
||||
this
|
||||
)
|
||||
|
||||
;; definition for method 9 of type load-state
|
||||
(defmethod reset! ((this load-state))
|
||||
(dotimes (v1-0 10)
|
||||
(set! (-> this want v1-0 name) #f)
|
||||
(set! (-> this want v1-0 display?) #f)
|
||||
(set! (-> this want v1-0 force-vis?) #f)
|
||||
(set! (-> this want v1-0 force-inside?) #f)
|
||||
)
|
||||
(dotimes (v1-3 3)
|
||||
(set! (-> this want-sound v1-3 name) #f)
|
||||
(set! (-> this want-sound v1-3 mode) (sound-bank-mode none))
|
||||
)
|
||||
(set! (-> this command-list) '())
|
||||
(dotimes (v1-7 256)
|
||||
(set! (-> this object-name v1-7) #f)
|
||||
(set! (-> this object-status v1-7) (the-as basic 0))
|
||||
)
|
||||
this
|
||||
)
|
||||
|
||||
;; definition for function level-base-level-name
|
||||
(defun level-base-level-name ((arg0 symbol))
|
||||
(when arg0
|
||||
(let ((v1-0 (lookup-level-info arg0)))
|
||||
(if (and v1-0 (-> v1-0 borrow) (-> v1-0 borrow alias))
|
||||
(car (-> v1-0 borrow alias))
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
|
||||
;; definition for method 11 of type load-state
|
||||
(defmethod want-levels ((this load-state) (arg0 (pointer symbol)))
|
||||
(dotimes (v1-0 10)
|
||||
(dotimes (a0-1 10)
|
||||
(when (= (-> this want v1-0 name) (-> arg0 a0-1))
|
||||
(set! (-> arg0 a0-1) #f)
|
||||
(goto cfg-8)
|
||||
)
|
||||
)
|
||||
(set! (-> this want v1-0 name) #f)
|
||||
(label cfg-8)
|
||||
)
|
||||
(dotimes (s4-0 10)
|
||||
(when (-> arg0 s4-0)
|
||||
(dotimes (s3-0 10)
|
||||
(when (not (-> this want s3-0 name))
|
||||
(set! (-> this want s3-0 name) (-> arg0 s4-0))
|
||||
(set! (-> this want s3-0 display?) #f)
|
||||
(set! (-> this want s3-0 force-vis?) #f)
|
||||
(set! (-> this want s3-0 force-inside?) #f)
|
||||
(let ((a0-13 (level-base-level-name (-> this want s3-0 name))))
|
||||
(dotimes (v1-22 10)
|
||||
(when (= (-> this want-exp v1-22 name) a0-13)
|
||||
(set! (-> this want s3-0 display?) (-> this want-exp v1-22 display?))
|
||||
(set! (-> this want s3-0 force-vis?) (-> this want-exp v1-22 force-vis?))
|
||||
(set! (-> this want s3-0 force-inside?) (-> this want-exp v1-22 force-inside?))
|
||||
(goto cfg-21)
|
||||
)
|
||||
)
|
||||
)
|
||||
(label cfg-21)
|
||||
(goto cfg-26)
|
||||
)
|
||||
)
|
||||
)
|
||||
(label cfg-26)
|
||||
)
|
||||
(dotimes (v1-35 10)
|
||||
(when (not (-> this want v1-35 name))
|
||||
(set! (-> this want v1-35 display?) #f)
|
||||
(set! (-> this want v1-35 force-vis?) #f)
|
||||
(set! (-> this want v1-35 force-inside?) #f)
|
||||
)
|
||||
)
|
||||
(add-borrow-levels this)
|
||||
0
|
||||
)
|
||||
|
||||
;; definition for symbol *borrow-city-expansion-list*, type pair
|
||||
(define *borrow-city-expansion-list* '(#f #f #f #f #f #f #f #f #f #f #f #f #f #f #f #f #f #f #f #f))
|
||||
|
||||
;; definition for symbol *borrow-city-status-list*, type pair
|
||||
(define *borrow-city-status-list* '(#f #f #f #f #f #f #f #f #f #f #f #f #f #f #f #f #f #f #f #f))
|
||||
|
||||
;; definition for function borrow-city-expansion
|
||||
;; WARN: Stack slot offset 24 signed mismatch
|
||||
;; WARN: Stack slot offset 24 signed mismatch
|
||||
;; WARN: Stack slot offset 24 signed mismatch
|
||||
;; WARN: Stack slot offset 24 signed mismatch
|
||||
;; WARN: Stack slot offset 24 signed mismatch
|
||||
;; WARN: Stack slot offset 24 signed mismatch
|
||||
;; WARN: Stack slot offset 24 signed mismatch
|
||||
;; WARN: Stack slot offset 24 signed mismatch
|
||||
;; WARN: Stack slot offset 24 signed mismatch
|
||||
;; WARN: Stack slot offset 24 signed mismatch
|
||||
;; WARN: Stack slot offset 24 signed mismatch
|
||||
;; WARN: Stack slot offset 24 signed mismatch
|
||||
;; WARN: Stack slot offset 24 signed mismatch
|
||||
;; WARN: Stack slot offset 24 signed mismatch
|
||||
;; WARN: Return type mismatch pair vs object.
|
||||
(defun borrow-city-expansion ((arg0 pair))
|
||||
(local-vars (v1-12 type) (s2-2 int) (sv-16 pair) (sv-20 symbol) (sv-24 object))
|
||||
(let ((gp-0 *borrow-city-expansion-list*))
|
||||
0
|
||||
(let ((s4-0 0))
|
||||
(b! #t cfg-2 :delay (nop!))
|
||||
(label cfg-1)
|
||||
(set! (car (ref& gp-0 s4-0)) #f)
|
||||
(set! (car (ref& *borrow-city-status-list* s4-0)) #f)
|
||||
(+! s4-0 1)
|
||||
(label cfg-2)
|
||||
(let ((a0-3 (the-as object gp-0)))
|
||||
(b! (< s4-0 ((method-of-type (rtype-of (the-as pair a0-3)) length) (the-as pair a0-3))) cfg-1)
|
||||
)
|
||||
)
|
||||
(let* ((v1-7 gp-0)
|
||||
(a0-4 arg0)
|
||||
(a1-4 (car a0-4))
|
||||
)
|
||||
(while (not (null? a0-4))
|
||||
(set! (car v1-7) a1-4)
|
||||
(set! v1-7 (cdr v1-7))
|
||||
(set! a0-4 (cdr a0-4))
|
||||
(set! a1-4 (car a0-4))
|
||||
)
|
||||
)
|
||||
(let ((v1-11 (shr (shl (the-as int arg0) 61) 61)))
|
||||
(b! (zero? v1-11) cfg-20 :likely-delay (set! v1-12 binteger))
|
||||
(b! (= v1-11 4) cfg-20 :likely-delay (set! v1-12 (-> (the-as basic arg0) type)))
|
||||
(b! (= v1-11 2) cfg-20 :likely-delay (set! v1-12 pair))
|
||||
)
|
||||
(set! v1-12 symbol)
|
||||
(label cfg-20)
|
||||
(let ((s5-1 ((method-of-type v1-12 length) arg0)))
|
||||
(if (and (nonzero? *city-borrow-manager*) *city-borrow-manager*)
|
||||
(mark-permanent-holds gp-0)
|
||||
)
|
||||
(dotimes (s4-1 (the-as int (-> *setting-control* user-current borrow-city-count)))
|
||||
(set! sv-16 (-> *setting-control* user-current borrow-city s4-1))
|
||||
(let* ((s3-0 sv-16)
|
||||
(v1-20 (car s3-0))
|
||||
)
|
||||
(while (not (null? s3-0))
|
||||
(set! sv-20 (the-as symbol #f))
|
||||
(set! sv-24 v1-20)
|
||||
(when sv-24
|
||||
(dotimes (s2-0 (/ s5-1 2))
|
||||
(when (= sv-24 (ref gp-0 (* s2-0 2)))
|
||||
(set! sv-20 #t)
|
||||
(if (= (ref gp-0 (+ (* s2-0 2) 1)) 'auto)
|
||||
(set! (car (ref& gp-0 (+ (* s2-0 2) 1))) 'faction)
|
||||
)
|
||||
0
|
||||
(goto cfg-37)
|
||||
)
|
||||
)
|
||||
(label cfg-37)
|
||||
(when (not sv-20)
|
||||
(dotimes (s2-1 (/ s5-1 2))
|
||||
(when (= (ref gp-0 (+ (* s2-1 2) 1)) 'auto)
|
||||
(set! s2-2 s2-1)
|
||||
(goto cfg-45)
|
||||
)
|
||||
)
|
||||
(set! s2-2 -1)
|
||||
(label cfg-45)
|
||||
(when (> s2-2 0)
|
||||
(set! (car (ref& gp-0 (* s2-2 2))) sv-24)
|
||||
(set! (car (ref& gp-0 (+ (* s2-2 2) 1))) 'faction)
|
||||
)
|
||||
)
|
||||
)
|
||||
(set! s3-0 (cdr s3-0))
|
||||
(set! v1-20 (car s3-0))
|
||||
)
|
||||
)
|
||||
)
|
||||
(let ((s4-2 0))
|
||||
(dotimes (s3-1 (/ s5-1 2))
|
||||
(let ((v1-48 (ref gp-0 (+ (* s3-1 2) 1))))
|
||||
(when (not (or (= v1-48 'auto) (= v1-48 'faction)))
|
||||
(set! (car (ref& *borrow-city-status-list* (* s4-2 2))) (ref gp-0 (* s3-1 2)))
|
||||
(set! (car (ref& *borrow-city-status-list* (+ (* s4-2 2) 1))) (ref gp-0 (+ (* s3-1 2) 1)))
|
||||
(+! s4-2 1)
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
(dotimes (s4-3 (/ s5-1 2))
|
||||
(case (ref gp-0 (+ (* s4-3 2) 1))
|
||||
(('auto 'faction)
|
||||
(set! (car (ref& gp-0 (+ (* s4-3 2) 1))) 'special)
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
gp-0
|
||||
)
|
||||
)
|
||||
|
||||
;; definition for function add-want-level
|
||||
;; WARN: Return type mismatch int vs object.
|
||||
(defun add-want-level ((arg0 (inline-array level-buffer-state))
|
||||
(arg1 (pointer int64))
|
||||
(arg2 symbol)
|
||||
(arg3 symbol)
|
||||
(arg4 symbol)
|
||||
(arg5 symbol)
|
||||
)
|
||||
(when arg2
|
||||
(let ((s1-0 (lookup-level-info arg2)))
|
||||
(cond
|
||||
((>= (-> arg1 0) 10)
|
||||
)
|
||||
((and (-> s1-0 borrow) (-> s1-0 borrow alias))
|
||||
(let* ((s0-1 (borrow-city-expansion (the-as pair (-> s1-0 borrow alias))))
|
||||
(a0-3 (-> s1-0 borrow alias))
|
||||
(s1-1 ((method-of-type (rtype-of a0-3) length) a0-3))
|
||||
)
|
||||
(while (and (> s1-1 0) (car s0-1))
|
||||
(when (!= (car s0-1) 'dummy)
|
||||
(let ((t9-3 add-want-level)
|
||||
(a0-5 arg0)
|
||||
(a1-3 arg1)
|
||||
(a2-1 (car s0-1))
|
||||
(a3-1 (car (cdr s0-1)))
|
||||
)
|
||||
(set! a3-1 (cond
|
||||
((or (not arg3) (= a3-1 'copy))
|
||||
arg3
|
||||
)
|
||||
(else
|
||||
(empty)
|
||||
a3-1
|
||||
)
|
||||
)
|
||||
)
|
||||
(t9-3 a0-5 a1-3 (the-as symbol a2-1) (the-as symbol a3-1) arg4 arg5)
|
||||
)
|
||||
)
|
||||
(set! s0-1 (cdr (cdr s0-1)))
|
||||
(+! s1-1 -2)
|
||||
)
|
||||
)
|
||||
)
|
||||
(else
|
||||
(set! (-> arg0 (-> arg1 0) name) arg2)
|
||||
(set! (-> arg0 (-> arg1 0) display?) arg3)
|
||||
(set! (-> arg0 (-> arg1 0) force-vis?) arg4)
|
||||
(set! (-> arg0 (-> arg1 0) force-inside?) arg5)
|
||||
(+! (-> arg1 0) 1)
|
||||
(when (-> s1-0 borrow)
|
||||
(dotimes (s0-2 5)
|
||||
(let ((v1-38 (-> s1-0 borrow borrow-info s0-2)))
|
||||
(when v1-38
|
||||
(let ((t9-4 add-want-level)
|
||||
(a0-9 arg0)
|
||||
(a1-4 arg1)
|
||||
(a2-2 (car v1-38))
|
||||
(a3-2 (car (cdr v1-38)))
|
||||
)
|
||||
(set! a3-2 (cond
|
||||
((or (not arg3) (= a3-2 'copy))
|
||||
arg3
|
||||
)
|
||||
(else
|
||||
(empty)
|
||||
a3-2
|
||||
)
|
||||
)
|
||||
)
|
||||
(t9-4 a0-9 a1-4 (the-as symbol a2-2) (the-as symbol a3-2) arg4 arg5)
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
0
|
||||
)
|
||||
|
||||
;; definition for method 21 of type load-state
|
||||
;; WARN: Return type mismatch int vs none.
|
||||
(defmethod add-borrow-levels ((this load-state))
|
||||
(local-vars (sv-16 int))
|
||||
(dotimes (s5-0 10)
|
||||
(let ((a0-1 (-> this want s5-0 name)))
|
||||
(when a0-1
|
||||
(let ((a0-2 (lookup-level-info a0-1)))
|
||||
(when (= (-> a0-2 memory-mode) (level-memory-mode borrow))
|
||||
(set! (-> this want s5-0 name) #f)
|
||||
(set! (-> this want s5-0 display?) #f)
|
||||
(set! (-> this want s5-0 force-vis?) #f)
|
||||
(set! (-> this want s5-0 force-inside?) #f)
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
(set! sv-16 0)
|
||||
(dotimes (s5-1 10)
|
||||
(if (-> this want s5-1 name)
|
||||
(add-want-level
|
||||
(-> this want-exp)
|
||||
(the-as (pointer int64) (& sv-16))
|
||||
(-> this want s5-1 name)
|
||||
(-> this want s5-1 display?)
|
||||
(-> this want s5-1 force-vis?)
|
||||
(-> this want s5-1 force-inside?)
|
||||
)
|
||||
)
|
||||
)
|
||||
(while (< sv-16 10)
|
||||
(set! (-> this want-exp sv-16 name) #f)
|
||||
(set! (-> this want-exp sv-16 display?) #f)
|
||||
(set! (-> this want-exp sv-16 force-vis?) #f)
|
||||
(set! (-> this want-exp sv-16 force-inside?) #f)
|
||||
(set! sv-16 (+ sv-16 1))
|
||||
)
|
||||
(cond
|
||||
((-> this update-callback)
|
||||
((-> this update-callback) this)
|
||||
)
|
||||
(else
|
||||
(dotimes (v1-49 10)
|
||||
(set! (-> this target v1-49 name) (-> this want-exp v1-49 name))
|
||||
(set! (-> this target v1-49 display?) (-> this want-exp v1-49 display?))
|
||||
(set! (-> this target v1-49 force-vis?) (-> this want-exp v1-49 force-vis?))
|
||||
(set! (-> this target v1-49 force-inside?) (-> this want-exp v1-49 force-inside?))
|
||||
)
|
||||
)
|
||||
)
|
||||
0
|
||||
(none)
|
||||
)
|
||||
|
||||
;; definition for method 12 of type load-state
|
||||
;; WARN: Return type mismatch int vs none.
|
||||
(defmethod want-sound-banks ((this load-state) (arg0 (pointer symbol)))
|
||||
(dotimes (v1-0 3)
|
||||
(dotimes (a2-0 3)
|
||||
(when (= (-> this want-sound v1-0 name) (-> arg0 a2-0))
|
||||
(set! (-> arg0 a2-0) #f)
|
||||
(goto cfg-8)
|
||||
)
|
||||
)
|
||||
(set! (-> this want-sound v1-0 name) #f)
|
||||
(set! (-> this want-sound v1-0 mode) (sound-bank-mode none))
|
||||
0
|
||||
(label cfg-8)
|
||||
)
|
||||
(dotimes (v1-3 3)
|
||||
(when (-> arg0 v1-3)
|
||||
(dotimes (a2-15 3)
|
||||
(when (not (-> this want-sound a2-15 name))
|
||||
(set! (-> this want-sound a2-15 name) (-> arg0 v1-3))
|
||||
(set! (-> this want-sound a2-15 mode) (sound-bank-mode unknown))
|
||||
(goto cfg-19)
|
||||
)
|
||||
)
|
||||
)
|
||||
(label cfg-19)
|
||||
)
|
||||
0
|
||||
(none)
|
||||
)
|
||||
|
||||
;; definition for method 13 of type load-state
|
||||
(defmethod want-display-level ((this load-state) (arg0 symbol) (arg1 symbol))
|
||||
(dotimes (v1-0 10)
|
||||
(when (= (-> this want v1-0 name) arg0)
|
||||
(set! (-> this want v1-0 display?) arg1)
|
||||
(add-borrow-levels this)
|
||||
(return 0)
|
||||
)
|
||||
)
|
||||
(if arg1
|
||||
(format 0 "ERROR: can't display ~A because it isn't loaded~%" arg0)
|
||||
)
|
||||
0
|
||||
)
|
||||
|
||||
;; definition for method 14 of type load-state
|
||||
;; WARN: Return type mismatch int vs none.
|
||||
(defmethod want-vis-level ((this load-state) (arg0 symbol))
|
||||
(let ((v1-0 (lookup-level-info arg0)))
|
||||
(if v1-0
|
||||
(set! arg0 (-> v1-0 name))
|
||||
)
|
||||
)
|
||||
(set! (-> this vis-nick) arg0)
|
||||
0
|
||||
(none)
|
||||
)
|
||||
|
||||
;; definition for method 15 of type load-state
|
||||
(defmethod want-force-vis ((this load-state) (arg0 symbol) (arg1 symbol))
|
||||
(dotimes (v1-0 10)
|
||||
(when (= (-> this want v1-0 name) arg0)
|
||||
(set! (-> this want v1-0 force-vis?) arg1)
|
||||
(add-borrow-levels this)
|
||||
(return 0)
|
||||
)
|
||||
)
|
||||
(format 0 "ERROR: can't force vis on ~A because it isn't loaded~%" arg0)
|
||||
0
|
||||
)
|
||||
|
||||
;; definition for method 16 of type load-state
|
||||
;; WARN: Return type mismatch int vs none.
|
||||
;; WARN: Function (method 16 load-state) has a return type of none, but the expression builder found a return statement.
|
||||
(defmethod want-force-inside ((this load-state) (arg0 symbol) (arg1 symbol))
|
||||
(dotimes (v1-0 10)
|
||||
(when (= (-> this want v1-0 name) arg0)
|
||||
(set! (-> this want v1-0 force-inside?) arg1)
|
||||
(add-borrow-levels this)
|
||||
(return 0)
|
||||
)
|
||||
)
|
||||
(format 0 "ERROR: can't force inside on ~A because it isn't loaded~%" arg0)
|
||||
0
|
||||
(none)
|
||||
)
|
||||
|
||||
;; definition for symbol *display-load-commands*, type symbol
|
||||
(define *display-load-commands* #f)
|
||||
|
||||
;; definition for method 18 of type load-state
|
||||
(defmethod backup-load-state-and-set-cmds ((this load-state) (arg0 pair))
|
||||
(dotimes (s4-0 256)
|
||||
(when (-> this object-name s4-0)
|
||||
(format 0 "WARNING: load state somehow aquired object command ~A~%" (-> this object-name s4-0))
|
||||
(set! (-> this object-name s4-0) #f)
|
||||
)
|
||||
)
|
||||
(mem-copy! (&-> *backup-load-state* type) (&-> this type) 2664)
|
||||
(set! (-> *backup-load-state* command-list) '())
|
||||
(set! (-> this command-list) arg0)
|
||||
0
|
||||
)
|
||||
|
||||
;; definition for method 19 of type load-state
|
||||
(defmethod restore-load-state-and-cleanup ((this load-state))
|
||||
(with-pp
|
||||
(execute-commands-up-to this 100000.0)
|
||||
(dotimes (gp-0 256)
|
||||
(when (-> this object-name gp-0)
|
||||
(let ((a0-3 (entity-by-name (-> this object-name gp-0))))
|
||||
(when a0-3
|
||||
(set! (-> a0-3 extra perm status) (the-as entity-perm-status (-> this object-status gp-0)))
|
||||
(if (-> a0-3 extra process)
|
||||
(kill! a0-3)
|
||||
)
|
||||
)
|
||||
)
|
||||
(set! (-> this object-name gp-0) #f)
|
||||
)
|
||||
)
|
||||
(let ((s5-0 (new 'stack 'load-state))
|
||||
(gp-1 (-> *load-state* update-callback))
|
||||
)
|
||||
(mem-copy! (&-> s5-0 type) (&-> *load-state* type) 2664)
|
||||
(mem-copy! (&-> this type) (&-> *backup-load-state* type) 2664)
|
||||
(when (!= (-> pp type) scene-player)
|
||||
(dotimes (s4-1 10)
|
||||
(mem-copy! (the-as pointer (-> *load-state* want s4-1)) (the-as pointer (-> s5-0 want s4-1)) 16)
|
||||
)
|
||||
(dotimes (v1-34 3)
|
||||
(set! (-> *load-state* want-sound v1-34 name) (-> s5-0 want-sound v1-34 name))
|
||||
(set! (-> *load-state* want-sound v1-34 mode) (-> s5-0 want-sound v1-34 mode))
|
||||
)
|
||||
)
|
||||
(dotimes (s4-2 10)
|
||||
(mem-copy! (the-as pointer (-> *load-state* want-exp s4-2)) (the-as pointer (-> s5-0 want-exp s4-2)) 16)
|
||||
(mem-copy! (the-as pointer (-> *load-state* target s4-2)) (the-as pointer (-> s5-0 target s4-2)) 16)
|
||||
)
|
||||
(dotimes (v1-47 6)
|
||||
(set! (-> *load-state* want-exp-sound v1-47 name) (-> s5-0 want-exp-sound v1-47 name))
|
||||
(set! (-> *load-state* want-exp-sound v1-47 mode) (-> s5-0 want-exp-sound v1-47 mode))
|
||||
(set! (-> *load-state* target-sound v1-47 name) (-> s5-0 target-sound v1-47 name))
|
||||
(set! (-> *load-state* target-sound v1-47 mode) (-> s5-0 target-sound v1-47 mode))
|
||||
)
|
||||
(set! (-> *load-state* update-callback) gp-1)
|
||||
)
|
||||
(add-borrow-levels *load-state*)
|
||||
0
|
||||
)
|
||||
)
|
||||
|
||||
;; definition for method 20 of type load-state
|
||||
(defmethod restore-load-state ((this load-state))
|
||||
(dotimes (v1-0 256)
|
||||
(if (-> this object-name v1-0)
|
||||
(set! (-> this object-name v1-0) #f)
|
||||
)
|
||||
)
|
||||
(let ((s5-0 (new 'stack-no-clear 'inline-array 'level-buffer-state 10)))
|
||||
(dotimes (s4-0 10)
|
||||
((method-of-type level-buffer-state new) (the-as symbol (-> s5-0 s4-0)) level-buffer-state)
|
||||
)
|
||||
(let ((s4-1 (new 'stack-no-clear 'inline-array 'level-buffer-state 10)))
|
||||
(dotimes (s3-0 10)
|
||||
((method-of-type level-buffer-state new) (the-as symbol (-> s4-1 s3-0)) level-buffer-state)
|
||||
)
|
||||
(let ((s3-1 (-> *load-state* update-callback)))
|
||||
(dotimes (s2-0 10)
|
||||
(mem-copy! (the-as pointer (-> s5-0 s2-0)) (the-as pointer (-> *load-state* want-exp s2-0)) 16)
|
||||
(mem-copy! (the-as pointer (-> s4-1 s2-0)) (the-as pointer (-> *load-state* target s2-0)) 16)
|
||||
)
|
||||
(mem-copy! (&-> this type) (&-> *backup-load-state* type) 2664)
|
||||
(dotimes (gp-1 10)
|
||||
(mem-copy! (the-as pointer (-> *load-state* want-exp gp-1)) (the-as pointer (-> s5-0 gp-1)) 16)
|
||||
(mem-copy! (the-as pointer (-> *load-state* target gp-1)) (the-as pointer (-> s4-1 gp-1)) 16)
|
||||
)
|
||||
(set! (-> *load-state* update-callback) s3-1)
|
||||
)
|
||||
)
|
||||
)
|
||||
(add-borrow-levels *load-state*)
|
||||
0
|
||||
)
|
||||
|
||||
;; definition for method 17 of type load-state
|
||||
;; WARN: Return type mismatch int vs none.
|
||||
;; WARN: Function (method 17 load-state) has a return type of none, but the expression builder found a return statement.
|
||||
(defmethod execute-commands-up-to ((this load-state) (arg0 float))
|
||||
(with-pp
|
||||
(let ((s4-0 (new 'stack 'script-context (process->ppointer pp) pp (the-as vector #f))))
|
||||
(set! (-> s4-0 load-state) this)
|
||||
(while (not (null? (-> this command-list)))
|
||||
(let ((f0-0 (command-get-float (car (car (-> this command-list))) 0.0))
|
||||
(s3-0 (cdr (car (-> this command-list))))
|
||||
)
|
||||
(if (< arg0 f0-0)
|
||||
(return #f)
|
||||
)
|
||||
(if *display-load-commands*
|
||||
(format 0 "NOTICE: ~D: ~f: execute command ~A~%" (current-time) f0-0 s3-0)
|
||||
)
|
||||
(cond
|
||||
((pair? (car s3-0))
|
||||
(let ((a1-4 (car s3-0)))
|
||||
(while (not (null? s3-0))
|
||||
(eval! s4-0 (the-as pair a1-4))
|
||||
(set! s3-0 (cdr s3-0))
|
||||
(set! a1-4 (car s3-0))
|
||||
)
|
||||
)
|
||||
)
|
||||
(else
|
||||
(eval! s4-0 s3-0)
|
||||
)
|
||||
)
|
||||
)
|
||||
(set! (-> this command-list) (cdr (-> this command-list)))
|
||||
)
|
||||
)
|
||||
0
|
||||
(none)
|
||||
)
|
||||
)
|
||||
|
||||
;; failed to figure out what this is:
|
||||
(kmemopen global "load-state-struct")
|
||||
|
||||
;; definition for symbol *backup-load-state*, type load-state
|
||||
(define *backup-load-state* (new 'global 'load-state))
|
||||
|
||||
;; definition (perm) for symbol *load-state*, type load-state
|
||||
(define-perm *load-state* load-state (new 'global 'load-state))
|
||||
|
||||
;; failed to figure out what this is:
|
||||
(kmemclose)
|
||||
|
||||
|
||||
|
||||
|
||||
+1
-1
@@ -807,7 +807,7 @@
|
||||
;; definition of type sound-bank-state
|
||||
(deftype sound-bank-state (structure)
|
||||
((name symbol)
|
||||
(mode uint32)
|
||||
(mode sound-bank-mode)
|
||||
)
|
||||
:pack-me
|
||||
)
|
||||
|
||||
+1
-1
@@ -1409,7 +1409,7 @@
|
||||
(sound-bank-load (string->sound-name (symbol->string s5-0)) 4 10)
|
||||
(set! (-> *level* sound-bank (* gp-0 2) name) s5-0)
|
||||
)
|
||||
(set! (-> *level* sound-bank (* gp-0 2) mode) (the-as uint 4))
|
||||
(set! (-> *level* sound-bank (* gp-0 2) mode) (sound-bank-mode full))
|
||||
)
|
||||
|
||||
;; definition for function loader-test-command
|
||||
|
||||
+1
-5
@@ -247,7 +247,7 @@
|
||||
(with-pp
|
||||
(logclear! (-> this flags) (speech-channel-flag disable))
|
||||
(if (or (not (-> *setting-control* user-current speech-control))
|
||||
(level-group-method-28 *level*)
|
||||
(load-in-progress? *level*)
|
||||
(nonzero? (-> this id))
|
||||
)
|
||||
(logior! (-> this flags) (speech-channel-flag disable))
|
||||
@@ -626,7 +626,3 @@
|
||||
0
|
||||
(none)
|
||||
)
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
+4
-4
@@ -654,15 +654,15 @@
|
||||
)
|
||||
(dotimes (v1-107 3)
|
||||
(set! (-> *load-state* want-sound v1-107 name) (-> arg0 want-sound v1-107))
|
||||
(set! (-> *load-state* want-sound v1-107 mode) (the-as uint 1))
|
||||
(set! (-> *load-state* want-sound v1-107 mode) (sound-bank-mode unknown))
|
||||
)
|
||||
(load-state-method-21 *load-state*)
|
||||
(add-borrow-levels *load-state*)
|
||||
(when (not (string= (-> arg0 name) "default"))
|
||||
(while (begin
|
||||
(dotimes (s5-0 (-> arg0 want-count))
|
||||
(when (not (or (not (-> arg0 want s5-0 name))
|
||||
(not (-> arg0 want s5-0 display?))
|
||||
(= (level-group-method-26 *level* (-> arg0 want s5-0 name) (the-as int #f)) 'active)
|
||||
(= (status-of-level-and-borrows *level* (-> arg0 want s5-0 name) #f) 'active)
|
||||
)
|
||||
)
|
||||
(set! v1-126 #t)
|
||||
@@ -673,7 +673,7 @@
|
||||
(dotimes (s4-0 10)
|
||||
(when (not (or (not (-> s5-1 want s4-0 name))
|
||||
(not (-> s5-1 want s4-0 display?))
|
||||
(= (level-group-method-26 *level* (-> s5-1 want s4-0 name) (the-as int #f)) 'active)
|
||||
(= (status-of-level-and-borrows *level* (-> s5-1 want s4-0 name) #f) 'active)
|
||||
)
|
||||
)
|
||||
(set! v1-126 #t)
|
||||
|
||||
+2
-2
@@ -2950,7 +2950,7 @@
|
||||
(cond
|
||||
((and (or (demo?) (kiosk?))
|
||||
(or (= (-> arg0 current) 'select-kiosk-start) (= (-> arg0 current) 'select-kiosk-start-special))
|
||||
(= (level-group-method-26 *level* 'title (the-as int #f)) 'active)
|
||||
(= (status-of-level-and-borrows *level* 'title #f) 'active)
|
||||
)
|
||||
(send-event (handle->process (-> *game-info* controller 0)) 'control-spec (get-play-list-idx s5-1))
|
||||
(set-master-mode 'game)
|
||||
@@ -4204,7 +4204,7 @@
|
||||
)
|
||||
)
|
||||
(while (or (not (handle-command-list *gui-control* (gui-channel alert) (the-as gui-connection #f)))
|
||||
(= (level-group-method-26 *level* 'title (the-as int #f)) 'active)
|
||||
(= (status-of-level-and-borrows *level* 'title #f) 'active)
|
||||
)
|
||||
(suspend)
|
||||
)
|
||||
|
||||
@@ -117,7 +117,12 @@
|
||||
"tfrag-scissor-vu1-init-buf",
|
||||
"(method 9 drawable-tree-instance-tie)",
|
||||
// hud
|
||||
"(method 10 hud-sprite)"
|
||||
"(method 10 hud-sprite)",
|
||||
// level
|
||||
"(method 29 level)",
|
||||
"level-update-after-load",
|
||||
"(method 9 level)",
|
||||
"(method 11 level)"
|
||||
],
|
||||
|
||||
"skip_compile_states": {}
|
||||
|
||||
Reference in New Issue
Block a user