mirror of
https://github.com/open-goal/jak-project
synced 2026-08-22 07:04:29 -04:00
d/jak2: finish jetboard training mission (mostly) and scouts mission (#2090)
The things that aren't working right now: - returning the board (maybe cutscene related?) - draft until i see if this can be sorted out - seems to need streaming audio as well, the `scene-player` gets properly initialized from what i can tell - had to hack around the streaming audio parts.
This commit is contained in:
+118
-100
@@ -6923,39 +6923,39 @@
|
||||
(progress-locations-dig #x221)
|
||||
(progress-locations-underport #x222)
|
||||
(progress-locations-nest #x223)
|
||||
(text-x224 #x0224)
|
||||
(text-x225 #x0225)
|
||||
(text-x226 #x0226)
|
||||
(text-x227 #x0227)
|
||||
(text-x228 #x0228)
|
||||
(text-x229 #x0229)
|
||||
(text-x22a #x022a)
|
||||
(text-x22b #x022b)
|
||||
(text-x22c #x022c)
|
||||
(text-x22d #x022d)
|
||||
(gungame-red-prompt #x022e)
|
||||
(gungame-red-or-blue-prompt #x022f)
|
||||
(text-x230 #x0230)
|
||||
(gungame-yellow-prompt #x0231)
|
||||
(gungame-yellow-or-purple-prompt #x0232)
|
||||
(text-x233 #x0233)
|
||||
(text-x234 #x0234)
|
||||
(text-x235 #x0235)
|
||||
(text-x236 #x0236)
|
||||
(text-x237 #x0237)
|
||||
(text-x238 #x0238)
|
||||
(text-x239 #x0239)
|
||||
(text-x23a #x023a)
|
||||
(text-x23b #x023b)
|
||||
(text-x23c #x023c)
|
||||
(text-x23d #x023d)
|
||||
(text-x23e #x023e)
|
||||
(text-x23f #x023f)
|
||||
(text-x240 #x0240)
|
||||
(text-x241 #x0241)
|
||||
(text-x242 #x0242)
|
||||
(text-x243 #x0243)
|
||||
(text-x244 #x0244)
|
||||
(tutorial-jump #x0224)
|
||||
(tutorial-roll #x0225)
|
||||
(tutorial-double-jump #x0226)
|
||||
(tutorial-basic-attack #x0227)
|
||||
(tutorial-rolljump #x0228)
|
||||
(tutorial-ground-pound #x0229)
|
||||
(tutorial-high-jump #x022a)
|
||||
(gungame-tutorial-fire-button #x022b)
|
||||
(gungame-tutorial-put-red-away #x022c)
|
||||
(gungame-tutorial-take-red-out #x022d)
|
||||
(gungame-prompt-red #x022e)
|
||||
(gungame-prompt-red-or-blue #x022f)
|
||||
(gungame-tutorial-switch-to-yellow #x0230)
|
||||
(gungame-prompt-yellow #x0231)
|
||||
(gungame-prompt-yellow-or-purple #x0232)
|
||||
(gungame-tutorial-kick-combo #x0233)
|
||||
(gungame-tutorial-shoot-the-crates #x0234)
|
||||
(highscore-text-goal #x0235)
|
||||
(highscore-text-gold #x0236)
|
||||
(highscore-text-silver #x0237)
|
||||
(highscore-text-bronze #x0238)
|
||||
(board-tutorial-get-on-board #x0239)
|
||||
(board-tutorial-jump #x023a)
|
||||
(board-tutorial-duck-jump #x023b)
|
||||
(board-tutorial-boost-jump #x023c)
|
||||
(board-tutorial-grind #x023d)
|
||||
(board-tutorial-spin #x023e)
|
||||
(board-tutorial-flip #x023f)
|
||||
(board-tutorial-trick #x0240)
|
||||
(board-score-grind-and-trick #x0241)
|
||||
(board-score-activate-judge #x0242)
|
||||
(board-score-try-again #x0243) ;; TODO only for board?
|
||||
(board-score-return-to-garage #x0244)
|
||||
(text-x245 #x0245)
|
||||
(text-x246 #x0246)
|
||||
(text-x247 #x0247)
|
||||
@@ -9747,7 +9747,7 @@
|
||||
)
|
||||
)
|
||||
|
||||
|
||||
(declare-type actor-group inline-array-class)
|
||||
(deftype task-manager (process)
|
||||
((node-info game-task-node-info)
|
||||
(info task-manager-info)
|
||||
@@ -9772,8 +9772,8 @@
|
||||
(data-int8 int8 32)
|
||||
(data-int32 int32 32)
|
||||
(data-float float 32)
|
||||
(data-vector vector 32 :inline :offset-assert 800)
|
||||
(actor-group uint32 4 :offset-assert 1312)
|
||||
(data-vector vector 32 :inline :offset-assert 800 :score 100)
|
||||
(actor-group (pointer entity-actor) 4 :offset-assert 1312)
|
||||
(minimap uint32 8 :offset-assert 1328)
|
||||
(hud handle 4 :offset-assert 1360)
|
||||
(hud-timer handle :offset 1360)
|
||||
@@ -14920,9 +14920,9 @@
|
||||
(initialize-skeleton (_type_ skeleton-group pair) draw-control 14)
|
||||
(initialize-skeleton-by-name (_type_ string) draw-control 15)
|
||||
(apply-alignment (_type_ align-opts transformq vector) trsqv 16)
|
||||
(cleanup-for-death (_type_) none 17) ;; (do-joint-math! (_type_) none 17)
|
||||
(relocate-nav (_type_ int) none 18) ;; ( (_type_) none 18)
|
||||
(evaluate-joint-control (_type_) none 19) ;; (evaluate-joint-control (_type_) none 19)
|
||||
(cleanup-for-death (_type_) none 17)
|
||||
(relocate-nav (_type_ int) none 18)
|
||||
(evaluate-joint-control (_type_) none 19)
|
||||
)
|
||||
)
|
||||
|
||||
@@ -18654,7 +18654,16 @@
|
||||
(deftype collide-query-with-vec (structure)
|
||||
"A custom type added because of weirdness discovered in task-arrow::23"
|
||||
((cquery collide-query :inline)
|
||||
(vec vector :inline))
|
||||
(vec vector :inline)
|
||||
)
|
||||
)
|
||||
|
||||
(deftype collide-query-with-2vec (structure)
|
||||
"A custom type added because of weirdness discovered in krew-collection-item::22"
|
||||
((cquery collide-query :inline)
|
||||
(vec vector :inline)
|
||||
(vec2 vector :inline)
|
||||
)
|
||||
)
|
||||
|
||||
(deftype do-push-aways-work (structure)
|
||||
@@ -27970,7 +27979,7 @@
|
||||
|
||||
(deftype pilot-info (basic)
|
||||
((entity basic :offset-assert 4)
|
||||
(vehicle uint64 :offset-assert 8)
|
||||
(vehicle handle :offset-assert 8)
|
||||
(left-right-interp float :offset-assert 16)
|
||||
(front-back-interp float :offset-assert 20)
|
||||
(up-down-interp float :offset-assert 24)
|
||||
@@ -32380,7 +32389,7 @@
|
||||
(jump-debug-draw symbol :offset-assert 24)
|
||||
(move-to-ground symbol :offset-assert 28)
|
||||
(hover-if-no-ground symbol :offset-assert 32)
|
||||
(idle-anim-script (pointer uint32) :offset-assert 36) ;; TODO very likely WRONG, possible `script-form`s?
|
||||
(idle-anim-script (pointer uint32) :offset-assert 36) ;; TODO very likely WRONG, possible `script-form`s?
|
||||
(idle-anim int32 :offset-assert 40)
|
||||
(notice-anim int32 :offset-assert 44)
|
||||
(hostile-anim int32 :offset-assert 48)
|
||||
@@ -35849,9 +35858,10 @@
|
||||
|
||||
(deftype pegasus-path-info (structure)
|
||||
((num-data int32 :offset-assert 0)
|
||||
(path-data basic :offset-assert 4)
|
||||
(control-data uint32 :offset-assert 8)
|
||||
(path-data curve-control :offset-assert 4)
|
||||
(control-data (pointer float) :offset-assert 8)
|
||||
)
|
||||
:allow-misaligned
|
||||
:method-count-assert 9
|
||||
:size-assert #xc
|
||||
:flag-assert #x90000000c
|
||||
@@ -35864,7 +35874,7 @@
|
||||
(tangent vector :inline :offset-assert 560)
|
||||
(run-blend-interp float :offset-assert 576)
|
||||
(near-timer int32 :offset-assert 580)
|
||||
(far-time time-frame :offset-assert 584)
|
||||
(far-time time-frame :offset-assert 584)
|
||||
(y-offset float :offset-assert 592)
|
||||
(y-offset-desired float :offset-assert 596)
|
||||
(y-vel float :offset-assert 600)
|
||||
@@ -35872,11 +35882,11 @@
|
||||
(timeout uint64 :offset-assert 608)
|
||||
(ambient-possible uint64 :offset-assert 616)
|
||||
(ambient-expire uint64 :offset-assert 624)
|
||||
(can-run basic :offset-assert 632)
|
||||
(on-ground basic :offset-assert 636)
|
||||
(over-ground basic :offset-assert 640)
|
||||
(allow-idle basic :offset-assert 644)
|
||||
(path-info pegasus-path-info 20 :offset-assert 648)
|
||||
(can-run symbol :offset-assert 632)
|
||||
(on-ground symbol :offset-assert 636)
|
||||
(over-ground symbol :offset-assert 640)
|
||||
(allow-idle symbol :offset-assert 644)
|
||||
(path-info pegasus-path-info 20 :inline :offset-assert 648)
|
||||
(previous-path int32 :offset 968)
|
||||
(current-path int32 :offset 972)
|
||||
(num-paths int32 :offset 976)
|
||||
@@ -35887,22 +35897,23 @@
|
||||
:size-assert #x3e0
|
||||
:flag-assert #x8a036003e0
|
||||
(:methods
|
||||
(pegasus-method-137 () none 137)
|
||||
(pegasus-method-137 (_type_) none 137)
|
||||
)
|
||||
(:states
|
||||
pegasus-debug
|
||||
pegasus-tired)
|
||||
)
|
||||
|
||||
;; (define-extern *pegasus-enemy-info* enemy-info)
|
||||
;; (define-extern pegasus-draw-section function)
|
||||
;; (define-extern pegasus-show-runs function)
|
||||
;; (define-extern pegasus-rotate function)
|
||||
;; (define-extern pegasus-loop-on-same-path function)
|
||||
;; (define-extern pegasus-choose-path function)
|
||||
;; (define-extern pegasus-move function)
|
||||
;; (define-extern pegasus-calc-speed function)
|
||||
;; (define-extern pegasus-calc-anim-speed function)
|
||||
;; (define-extern pegasus-debug state)
|
||||
;; (define-extern pegasus-fly-code function)
|
||||
;; (define-extern pegasus-tired state)
|
||||
(define-extern *pegasus-enemy-info* enemy-info)
|
||||
(define-extern pegasus-draw-section (function float float rgba none :behavior pegasus))
|
||||
(define-extern pegasus-show-runs (function symbol :behavior pegasus))
|
||||
(define-extern pegasus-rotate (function symbol float none :behavior pegasus))
|
||||
(define-extern pegasus-loop-on-same-path (function none :behavior pegasus))
|
||||
(define-extern pegasus-choose-path (function symbol :behavior pegasus))
|
||||
(define-extern pegasus-move (function float symbol symbol none :behavior pegasus))
|
||||
(define-extern pegasus-calc-speed (function float float float float symbol :behavior pegasus))
|
||||
(define-extern pegasus-calc-anim-speed (function float :behavior pegasus))
|
||||
(define-extern pegasus-fly-code (function int none :behavior pegasus))
|
||||
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
;; wren ;;
|
||||
@@ -45210,19 +45221,39 @@
|
||||
;; skatea-obs ;;
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
|
||||
#|
|
||||
(deftype hoverboard-training-manager (process)
|
||||
()
|
||||
(
|
||||
(actor-group (pointer actor-group) :offset-assert 128)
|
||||
(actor-group-count int32 :offset-assert 132)
|
||||
(trick-type board-tricks :offset-assert 136)
|
||||
(board-picked-up symbol :offset-assert 140)
|
||||
(boost symbol :offset-assert 144)
|
||||
(grind symbol :offset-assert 148)
|
||||
(text symbol :offset-assert 152)
|
||||
(score float :offset-assert 156)
|
||||
(challenge-done symbol :offset-assert 160)
|
||||
(arrow handle :offset-assert 168) ;; task-arrow
|
||||
(minimap connection-minimap :offset-assert 176)
|
||||
(hud-score handle :offset-assert 184) ;; hud-score
|
||||
(hud-goal handle :offset-assert 192) ;; hud-goal
|
||||
(voicebox handle :offset-assert 200) ;; voice-box
|
||||
(last-sound-id sound-id :offset-assert 208)
|
||||
(combo-done? symbol :offset-assert 212)
|
||||
(task-gold uint16 :offset-assert 216)
|
||||
(task-silver uint16 :offset-assert 218)
|
||||
(task-bronze uint16 :offset-assert 220)
|
||||
(game-score uint8 :offset-assert 222)
|
||||
(training? symbol :offset-assert 224)
|
||||
(training-goal float :offset-assert 228)
|
||||
(egg-count int32 :offset-assert 232)
|
||||
(medal int32 :offset-assert 236)
|
||||
(gui-id sound-id :offset-assert 240)
|
||||
(hint-time time-frame :offset-assert 248)
|
||||
)
|
||||
:method-count-assert 31
|
||||
:size-assert #x100
|
||||
:flag-assert #x1f00800100
|
||||
;; Failed to read fields.
|
||||
(:methods
|
||||
(hoverboard-training-manager-method-9 () none 9)
|
||||
(hoverboard-training-manager-method-10 () none 10)
|
||||
(hoverboard-training-manager-method-11 () none 11)
|
||||
(hoverboard-training-manager-method-12 () none 12)
|
||||
(hoverboard-training-manager-method-13 () none 13)
|
||||
(wait-for-pickup () _type_ :state 14)
|
||||
(wait-for-pickup-training () _type_ :state 15)
|
||||
(wait-for-board () _type_ :state 16)
|
||||
@@ -45237,30 +45268,26 @@
|
||||
(game () _type_ :state 25)
|
||||
(idle () _type_ :state 26)
|
||||
(idle-training () _type_ :state 27)
|
||||
(hoverboard-training-manager-method-28 () none 28)
|
||||
(hoverboard-training-manager-method-29 () none 29)
|
||||
(hoverboard-training-manager-method-30 () none 30)
|
||||
(render-text (_type_ game-text-id) float 28)
|
||||
(hoverboard-training-manager-method-29 (_type_) none 29)
|
||||
(hoverboard-training-manager-method-30 (_type_) none 30)
|
||||
)
|
||||
)
|
||||
|#
|
||||
|
||||
#|
|
||||
(deftype skate-training-ramp (process-focusable)
|
||||
((onoff basic :offset-assert 200)
|
||||
((onoff symbol :offset-assert 204)
|
||||
)
|
||||
:method-count-assert 29
|
||||
:size-assert #xd0
|
||||
:flag-assert #x1d005000d0
|
||||
(:methods
|
||||
(idle () _type_ :state 27)
|
||||
(skate-training-ramp-method-28 () none 28)
|
||||
(skate-training-ramp-method-28 (_type_) collide-shape-moving 28)
|
||||
)
|
||||
)
|
||||
|#
|
||||
|
||||
#|
|
||||
(deftype skate-gate (process-focusable)
|
||||
((onoff basic :offset-assert 200)
|
||||
((onoff symbol :offset-assert 204)
|
||||
)
|
||||
:method-count-assert 30
|
||||
:size-assert #xd0
|
||||
@@ -45268,39 +45295,32 @@
|
||||
(:methods
|
||||
(idle () _type_ :state 27)
|
||||
(open () _type_ :state 28)
|
||||
(open () _type_ :state 29)
|
||||
(skate-gate-method-29 (_type_) collide-shape-moving 29)
|
||||
)
|
||||
)
|
||||
|#
|
||||
|
||||
#|
|
||||
(deftype skatea-jump-pad (bouncer)
|
||||
()
|
||||
:method-count-assert 25
|
||||
:size-assert #xd4
|
||||
:flag-assert #x19006000d4
|
||||
(:methods
|
||||
)
|
||||
)
|
||||
|#
|
||||
|
||||
#|
|
||||
(deftype skatea-floating-ring (process-focusable)
|
||||
((pos-y float :offset-assert 200)
|
||||
(offset float :offset-assert 204)
|
||||
((pos-y float :offset-assert 204)
|
||||
(offset float :offset-assert 208)
|
||||
)
|
||||
:method-count-assert 29
|
||||
:size-assert #xd4
|
||||
:flag-assert #x1d006000d4
|
||||
(:methods
|
||||
(idle () _type_ :state 27)
|
||||
(skatea-floating-ring-method-28 () none 28)
|
||||
(skatea-floating-ring-method-28 (_type_) none 28)
|
||||
)
|
||||
)
|
||||
|#
|
||||
|
||||
;; (define-extern trick-type-trick? function)
|
||||
;; (define-extern hoverboard-training-manager-event-handler function)
|
||||
(define-extern trick-type-trick? (function board-tricks symbol))
|
||||
(define-extern hoverboard-training-manager-event-handler (function process int symbol event-message-block hoverboard-training-manager :behavior hoverboard-training-manager))
|
||||
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
;; ctyinda-part ;;
|
||||
@@ -46773,7 +46793,7 @@
|
||||
(training-manager-method-27 (_type_ (array tpath-info)) symbol 27)
|
||||
(training-manager-method-28 (_type_) none 28)
|
||||
(training-manager-method-29 (_type_ vector) vector 29)
|
||||
(training-manager-method-30 (_type_ game-text-id) float 30)
|
||||
(render-text (_type_ game-text-id) float 30)
|
||||
(training-manager-method-31 (_type_) none 31)
|
||||
(training-manager-method-32 (_type_) none 32)
|
||||
)
|
||||
@@ -51936,7 +51956,6 @@
|
||||
;; collection-task ;;
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
|
||||
#|
|
||||
(deftype krew-collection-item (process-drawable)
|
||||
()
|
||||
:method-count-assert 23
|
||||
@@ -51945,13 +51964,12 @@
|
||||
(:methods
|
||||
(idle () _type_ :state 20)
|
||||
(die () _type_ :state 21)
|
||||
(krew-collection-item-method-22 () none 22)
|
||||
(find-ground (_type_) symbol 22)
|
||||
)
|
||||
)
|
||||
|#
|
||||
|
||||
;; (define-extern krew-collection-item-init-by-other function)
|
||||
;; (define-extern krew-collection-item-spawn function)
|
||||
(define-extern krew-collection-item-init-by-other (function vector krew-collection-item :behavior krew-collection-item))
|
||||
(define-extern krew-collection-item-spawn (function process vector krew-collection-item))
|
||||
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
;; ctyasha-obs ;;
|
||||
|
||||
@@ -658,5 +658,18 @@
|
||||
[9, "(function none :behavior target)"],
|
||||
[18, "(function surface object surface int none :behavior target)"],
|
||||
[19, "(function surface object surface int none :behavior target)"]
|
||||
],
|
||||
"collection-task": [
|
||||
[0, "(function object :behavior task-manager)"],
|
||||
[1, "(function object :behavior task-manager)"],
|
||||
[2, "(function object :behavior task-manager)"],
|
||||
[3, "(function object :behavior task-manager)"],
|
||||
[4, "(function object :behavior task-manager)"],
|
||||
[5, "(function object :behavior task-manager)"]
|
||||
],
|
||||
"pegasus": [
|
||||
[0, "(function none)"],
|
||||
[1, "(function none :behavior task-manager)"],
|
||||
[2, "(function symbol :behavior task-manager)"]
|
||||
]
|
||||
}
|
||||
|
||||
@@ -511,23 +511,40 @@
|
||||
"auto-save-post": [[158, 1]],
|
||||
"(method 30 training-manager)": [[53, 0]],
|
||||
"(trans course training-manager)": [
|
||||
[54, 1],
|
||||
[89, 1],
|
||||
[124, 1],
|
||||
[155, 1],
|
||||
[195, 1],
|
||||
[230, 1],
|
||||
[261, 1],
|
||||
[307, 1],
|
||||
[338, 1],
|
||||
[374, 1],
|
||||
[409, 1],
|
||||
[444, 1],
|
||||
[479, 1],
|
||||
[510, 1]
|
||||
[54, 0],
|
||||
[89, 0],
|
||||
[124, 0],
|
||||
[155, 0],
|
||||
[195, 0],
|
||||
[230, 0],
|
||||
[261, 0],
|
||||
[307, 0],
|
||||
[338, 0],
|
||||
[374, 0],
|
||||
[409, 0],
|
||||
[444, 0],
|
||||
[479, 0],
|
||||
[510, 0]
|
||||
],
|
||||
"(method 17 hud-goal)": [[71, 0]],
|
||||
"(method 15 hud-miss)": [[44, 0]]
|
||||
"(method 15 hud-miss)": [[44, 0]],
|
||||
"(method 28 hoverboard-training-manager)": [[53, 0]],
|
||||
"(method 29 hoverboard-training-manager)": [
|
||||
[48, 0],
|
||||
[83, 0],
|
||||
[118, 0],
|
||||
[153, 0],
|
||||
[184, 0],
|
||||
[224, 0],
|
||||
[259, 0],
|
||||
[294, 0],
|
||||
[325, 0],
|
||||
[365, 0],
|
||||
[400, 0],
|
||||
[431, 0],
|
||||
[477, 0],
|
||||
[508, 0]
|
||||
]
|
||||
},
|
||||
|
||||
"mips2c_functions_by_name": [
|
||||
|
||||
@@ -55,7 +55,7 @@
|
||||
// "DGO/LPRSNCST.DGO",
|
||||
// "DGO/SWB.DGO",
|
||||
// "DGO/LPOWER.DGO",
|
||||
// "DGO/FOB.DGO",
|
||||
"DGO/FOB.DGO",
|
||||
"DGO/CIB.DGO",
|
||||
// "DGO/LSHUTTLE.DGO",
|
||||
// "DGO/LJAKDAX.DGO",
|
||||
@@ -151,7 +151,7 @@
|
||||
"DGO/CWI.DGO",
|
||||
// "DGO/CTYKORA.DGO",
|
||||
"DGO/RUI.DGO",
|
||||
// "DGO/LSACK.DGO",
|
||||
"DGO/LSACK.DGO",
|
||||
// "DGO/CTYASHA.DGO",
|
||||
// "DGO/LPRTRACE.DGO",
|
||||
"DGO/LWIDEA.DGO",
|
||||
@@ -185,23 +185,28 @@
|
||||
"streamed_audio_file_names": [],
|
||||
|
||||
"levels_to_extract": [
|
||||
"PRI.DGO",
|
||||
"CIB.DGO",
|
||||
"CTA.DGO",
|
||||
"CTB.DGO",
|
||||
"CWI.DGO",
|
||||
"DMI.DGO",
|
||||
"FOB.DGO",
|
||||
"FOR.DGO",
|
||||
"FEA.DGO",
|
||||
"FEB.DGO",
|
||||
"GGA.DGO",
|
||||
"HIDEOUT.DGO",
|
||||
"KIOSK.DGO",
|
||||
"LDJAKBRN.DGO",
|
||||
"LWIDEA.DGO",
|
||||
"LWIDEB.DGO",
|
||||
"LWIDEC.DGO",
|
||||
"FEA.DGO",
|
||||
"FEB.DGO",
|
||||
|
||||
"LDJAKBRN.DGO",
|
||||
"HIDEOUT.DGO",
|
||||
"KIOSK.DGO",
|
||||
"DMI.DGO",
|
||||
"LSACK.DGO",
|
||||
"MTN.DGO",
|
||||
"PRI.DGO",
|
||||
"RUI.DGO",
|
||||
"VI1.DGO",
|
||||
"CIB.DGO"
|
||||
"SKA.DGO",
|
||||
"STA.DGO",
|
||||
"VI1.DGO"
|
||||
]
|
||||
}
|
||||
|
||||
@@ -829,5 +829,30 @@
|
||||
["L578", "attack-info"]
|
||||
],
|
||||
"mech": [["L106", "attack-info"]],
|
||||
"target-mech": [["L210", "attack-info"]]
|
||||
"target-mech": [["L210", "attack-info"]],
|
||||
"skatea-obs": [
|
||||
["L556", "vector"],
|
||||
["L542", "vector"],
|
||||
["L538", "vector"],
|
||||
["L525", "vector"],
|
||||
["L518", "vector"],
|
||||
["L516", "vector"]
|
||||
],
|
||||
"collection-task": [
|
||||
["L70", "vector"],
|
||||
["L69", "vector"],
|
||||
["L68", "vector"],
|
||||
["L67", "vector"],
|
||||
["L66", "vector"],
|
||||
["L65", "vector"],
|
||||
["L64", "vector"],
|
||||
["L63", "vector"],
|
||||
["L62", "vector"],
|
||||
["L61", "vector"],
|
||||
["L60", "vector"],
|
||||
["L59", "vector"],
|
||||
["L58", "vector"],
|
||||
["L57", "vector"],
|
||||
["L56", "vector"]
|
||||
]
|
||||
}
|
||||
|
||||
@@ -1302,5 +1302,8 @@
|
||||
[672, "sphere"]
|
||||
],
|
||||
"(code target-mech-carry-pickup)": [[16, "event-message-block"]],
|
||||
"(trans target-mech-carry-drag)": [[560, "sphere"]]
|
||||
"(trans target-mech-carry-drag)": [[560, "sphere"]],
|
||||
"(method 22 krew-collection-item)": [[16, "collide-query-with-2vec"]],
|
||||
"(code idle krew-collection-item)": [[64, "vector"]],
|
||||
"pegasus-fly-code": [[96, "vector"]]
|
||||
}
|
||||
|
||||
@@ -5716,5 +5716,45 @@
|
||||
[28, "v0", "sound-rpc-set-param"]
|
||||
],
|
||||
"(trans target-mech-carry-drag)": [[73, "v1", "sphere"]],
|
||||
"target-mech-carry-update": [[50, "v1", "sphere"]]
|
||||
"target-mech-carry-update": [[50, "v1", "sphere"]],
|
||||
"(code idle hoverboard-training-manager)": [
|
||||
[[162, 169], "v1", "handle"],
|
||||
[337, "s5", "process-drawable"],
|
||||
[[68, 248], "gp", "handle"],
|
||||
[[266, 384], "gp", "handle"]
|
||||
],
|
||||
"(code idle-training hoverboard-training-manager)": [
|
||||
[56, "gp", "handle"],
|
||||
[175, "s5", "process-drawable"],
|
||||
[[104, 219], "gp", "handle"]
|
||||
],
|
||||
"(method 10 hoverboard-training-manager)": [
|
||||
[19, "t9", "(function process none)"]
|
||||
],
|
||||
"(code fire skatea-jump-pad)": [[59, "t9", "(function none)"]],
|
||||
"(method 29 hoverboard-training-manager)": [[[18, 491], "gp", "hud-goal"]],
|
||||
"hoverboard-training-manager-event-handler": [
|
||||
[[32, 72], "gp", "(pointer board-tricks)"],
|
||||
[12, "v1", "float"],
|
||||
[25, "v1", "float"]
|
||||
],
|
||||
"(method 11 hoverboard-training-manager)": [["_stack_", 16, "res-tag"]],
|
||||
"(trans idle krew-collection-item)": [
|
||||
[28, "a1", "process-drawable"],
|
||||
[29, "a0", "collide-shape"]
|
||||
],
|
||||
"(method 56 pegasus)": [[[5, 10], "v1", "attack-info"]],
|
||||
"(post idle pegasus)": [[11, "t9", "(function none)"]],
|
||||
"(code notice pegasus)": [
|
||||
[53, "v1", "art-joint-anim"],
|
||||
[121, "v1", "art-joint-anim"]
|
||||
],
|
||||
"(code active pegasus)": [[28, "v1", "art-joint-anim"]],
|
||||
"pegasus-fly-code": [
|
||||
[386, "v1", "float"],
|
||||
[413, "v1", "float"]
|
||||
],
|
||||
"(code die pegasus)": [[45, "v1", "art-joint-anim"]],
|
||||
"pegasus-choose-path": [[114, "v1", "float"]],
|
||||
"(method 115 pegasus)": [["_stack_", 16, "res-tag"]]
|
||||
}
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
|
||||
// if you want to filter to only some object names.
|
||||
// it will make the decompiler much faster.
|
||||
"allowed_objects": [],
|
||||
"allowed_objects": ["pegasus"],
|
||||
"banned_objects": ["texture-anim-tables", "traffic-engine"],
|
||||
|
||||
////////////////////////////
|
||||
|
||||
@@ -748,6 +748,11 @@ const std::unordered_map<
|
||||
{{"data", ArrayFieldDecompMeta(TypeSpec("int8"),
|
||||
1,
|
||||
ArrayFieldDecompMeta::Kind::REF_TO_INTEGER_ARR)}}},
|
||||
{"enemy-info",
|
||||
{{"idle-anim-script",
|
||||
ArrayFieldDecompMeta(TypeSpec("uint32"),
|
||||
4,
|
||||
ArrayFieldDecompMeta::Kind::REF_TO_INTEGER_ARR)}}},
|
||||
{"nav-enemy-info",
|
||||
{{"idle-anim-script",
|
||||
ArrayFieldDecompMeta(TypeSpec("uint32"),
|
||||
|
||||
@@ -122,6 +122,11 @@ void OpenGLRenderer::init_bucket_renderers_jak2() {
|
||||
init_bucket_renderer<Tie3>("tie-l3-tfrag", BucketCategory::TIE, BucketId::TIE_L3_TFRAG, 3);
|
||||
init_bucket_renderer<Merc2>("merc-l3-tfrag", BucketCategory::MERC, BucketId::MERC_L3_TFRAG);
|
||||
// 50
|
||||
init_bucket_renderer<TextureUploadHandler>("tex-l4-tfrag", BucketCategory::TEX,
|
||||
BucketId::TEX_L4_TFRAG);
|
||||
init_bucket_renderer<TFragment>("tfrag-l4-tfrag", BucketCategory::TFRAG, BucketId::TFRAG_L4_TFRAG,
|
||||
std::vector{tfrag3::TFragmentTreeKind::NORMAL}, false, 3);
|
||||
init_bucket_renderer<Tie3>("tie-l4-tfrag", BucketCategory::TIE, BucketId::TIE_L4_TFRAG, 3);
|
||||
// 60
|
||||
// 70
|
||||
init_bucket_renderer<TextureUploadHandler>("tex-l0-shrub", BucketCategory::TEX,
|
||||
@@ -139,7 +144,10 @@ void OpenGLRenderer::init_bucket_renderers_jak2() {
|
||||
init_bucket_renderer<TextureUploadHandler>("tex-l3-shrub", BucketCategory::TEX,
|
||||
BucketId::TEX_L3_SHRUB);
|
||||
init_bucket_renderer<Shrub>("shrub-l3-shrub", BucketCategory::SHRUB, BucketId::SHRUB_L3_SHRUB);
|
||||
init_bucket_renderer<TextureUploadHandler>("tex-l4-shrub", BucketCategory::TEX,
|
||||
BucketId::TEX_L4_SHRUB);
|
||||
// 110
|
||||
init_bucket_renderer<Shrub>("shrub-l4-shrub", BucketCategory::SHRUB, BucketId::SHRUB_L4_SHRUB);
|
||||
// 120
|
||||
init_bucket_renderer<TextureUploadHandler>("tex-l0-alpha", BucketCategory::TEX,
|
||||
BucketId::TEX_L0_ALPHA);
|
||||
@@ -174,10 +182,15 @@ void OpenGLRenderer::init_bucket_renderers_jak2() {
|
||||
init_bucket_renderer<TextureUploadHandler>("tex-l3-pris", BucketCategory::TEX,
|
||||
BucketId::TEX_L3_PRIS);
|
||||
// 210
|
||||
init_bucket_renderer<TextureUploadHandler>("tex-l4-pris", BucketCategory::TEX,
|
||||
BucketId::TEX_L4_PRIS);
|
||||
init_bucket_renderer<Merc2>("merc-l4-pris", BucketCategory::MERC, BucketId::MERC_L4_PRIS);
|
||||
// 220
|
||||
init_bucket_renderer<TextureUploadHandler>("tex-lcom-pris", BucketCategory::TEX,
|
||||
BucketId::TEX_LCOM_PRIS);
|
||||
init_bucket_renderer<Merc2>("merc-lcom-pris", BucketCategory::MERC, BucketId::MERC_LCOM_PRIS);
|
||||
init_bucket_renderer<TextureUploadHandler>("tex-l1-pris2", BucketCategory::TEX,
|
||||
BucketId::TEX_L1_PRIS2);
|
||||
// 230
|
||||
// 240
|
||||
// 250
|
||||
@@ -191,6 +204,9 @@ void OpenGLRenderer::init_bucket_renderers_jak2() {
|
||||
init_bucket_renderer<TextureUploadHandler>("tex-l1-water", BucketCategory::TEX,
|
||||
BucketId::TEX_L1_WATER);
|
||||
init_bucket_renderer<Merc2>("merc-l1-water", BucketCategory::MERC, BucketId::MERC_L1_WATER);
|
||||
init_bucket_renderer<TFragment>("tfrag-w-l1-alpha", BucketCategory::TFRAG,
|
||||
BucketId::TFRAG_W_L1_WATER,
|
||||
std::vector{tfrag3::TFragmentTreeKind::WATER}, false, 0);
|
||||
|
||||
// 270
|
||||
init_bucket_renderer<TextureUploadHandler>("tex-l2-water", BucketCategory::TEX,
|
||||
@@ -199,6 +215,9 @@ void OpenGLRenderer::init_bucket_renderers_jak2() {
|
||||
init_bucket_renderer<TextureUploadHandler>("tex-l3-water", BucketCategory::TEX,
|
||||
BucketId::TEX_L3_WATER);
|
||||
// 280
|
||||
init_bucket_renderer<TextureUploadHandler>("tex-l4-water", BucketCategory::TEX,
|
||||
BucketId::TEX_L4_WATER);
|
||||
init_bucket_renderer<Merc2>("merc-l4-water", BucketCategory::MERC, BucketId::MERC_L4_WATER);
|
||||
// 290
|
||||
// 300
|
||||
init_bucket_renderer<TextureUploadHandler>("tex-lcom-water", BucketCategory::TEX,
|
||||
|
||||
@@ -100,6 +100,9 @@ enum class BucketId {
|
||||
TFRAG_L3_TFRAG = 41,
|
||||
TIE_L3_TFRAG = 42,
|
||||
MERC_L3_TFRAG = 47,
|
||||
TEX_L4_TFRAG = 51,
|
||||
TFRAG_L4_TFRAG = 52,
|
||||
TIE_L4_TFRAG = 53,
|
||||
TEX_L0_SHRUB = 73,
|
||||
SHRUB_L0_SHRUB = 74,
|
||||
TEX_L1_SHRUB = 82,
|
||||
@@ -108,6 +111,8 @@ enum class BucketId {
|
||||
SHRUB_L2_SHRUB = 92,
|
||||
TEX_L3_SHRUB = 100,
|
||||
SHRUB_L3_SHRUB = 101,
|
||||
TEX_L4_SHRUB = 109,
|
||||
SHRUB_L4_SHRUB = 110,
|
||||
TEX_L0_ALPHA = 127,
|
||||
TFRAG_T_L0_ALPHA = 128,
|
||||
TEX_L1_ALPHA = 137,
|
||||
@@ -122,16 +127,22 @@ enum class BucketId {
|
||||
TEX_L2_PRIS = 204,
|
||||
MERC_L2_PRIS = 205,
|
||||
TEX_L3_PRIS = 208,
|
||||
TEX_L4_PRIS = 212,
|
||||
MERC_L4_PRIS = 213,
|
||||
TEX_LCOM_PRIS = 220,
|
||||
MERC_LCOM_PRIS = 221,
|
||||
TEX_L1_PRIS2 = 228,
|
||||
TEX_L0_WATER = 252,
|
||||
MERC_L0_WATER = 253,
|
||||
TFRAG_W_L0_WATER = 255,
|
||||
TEX_L1_WATER = 261,
|
||||
MERC_L1_WATER = 262,
|
||||
TFRAG_W_L1_WATER = 264,
|
||||
TEX_L2_WATER = 270,
|
||||
MERC_L2_WATER = 271,
|
||||
TEX_L3_WATER = 279,
|
||||
TEX_L4_WATER = 288,
|
||||
MERC_L4_WATER = 289,
|
||||
TEX_LCOM_WATER = 306,
|
||||
MERC_LCOM_WATER = 307,
|
||||
TEX_LCOM_SKY_POST = 309,
|
||||
|
||||
@@ -106,8 +106,8 @@ s32 SFXGrain_LfoSettings::execute(blocksound_handler& handler) {
|
||||
lfo.m_next_step = m_lfop.start_offset << 16;
|
||||
}
|
||||
|
||||
lg::info("starting LFO type {} for {}", magic_enum::enum_name(lfo.m_type),
|
||||
magic_enum::enum_name(lfo.m_target));
|
||||
// lg::info("starting LFO type {} for {}", magic_enum::enum_name(lfo.m_type),
|
||||
// magic_enum::enum_name(lfo.m_target));
|
||||
lfo.init();
|
||||
} else {
|
||||
lfo.m_type = lfo_type::OFF;
|
||||
|
||||
@@ -11,6 +11,14 @@
|
||||
(vec vector :inline))
|
||||
)
|
||||
|
||||
(deftype collide-query-with-2vec (structure)
|
||||
"A custom type added because of weirdness discovered in krew-collection-item::22"
|
||||
((cquery collide-query :inline)
|
||||
(vec vector :inline)
|
||||
(vec2 vector :inline)
|
||||
)
|
||||
)
|
||||
|
||||
;; this is some vif setup stuff that was in jak 1 as well - some code in collide-cache
|
||||
;; uses VIF's unpack/upload to modify collision data. This gets ported to c++, just
|
||||
;; keeping it here for reference.
|
||||
|
||||
@@ -19,9 +19,10 @@
|
||||
:flag-assert #x900000010
|
||||
)
|
||||
|
||||
|
||||
(deftype pilot-info (basic)
|
||||
((entity basic :offset-assert 4)
|
||||
(vehicle uint64 :offset-assert 8)
|
||||
(vehicle handle :offset-assert 8)
|
||||
(left-right-interp float :offset-assert 16)
|
||||
(front-back-interp float :offset-assert 20)
|
||||
(up-down-interp float :offset-assert 24)
|
||||
@@ -47,4 +48,4 @@
|
||||
:method-count-assert 9
|
||||
:size-assert #x120
|
||||
:flag-assert #x900000120
|
||||
)
|
||||
)
|
||||
|
||||
@@ -3425,7 +3425,7 @@
|
||||
:borrow '()
|
||||
:open? #f
|
||||
:on-close #f
|
||||
:description (game-text-id text-x244)
|
||||
:description (game-text-id board-score-return-to-garage)
|
||||
)
|
||||
(new 'static 'game-task-node-info
|
||||
:level 'stadium
|
||||
|
||||
@@ -254,6 +254,10 @@
|
||||
;; NOTE - for progress
|
||||
(define-extern restart-mission (function int))
|
||||
|
||||
(declare-type game-task-node-info basic)
|
||||
(declare-type task-manager process)
|
||||
(define-extern task-manager-init-by-other (function game-task-node-info symbol object :behavior task-manager))
|
||||
|
||||
;; DECOMP BEGINS
|
||||
|
||||
(defun-debug game-task->string ((arg0 game-task))
|
||||
@@ -1442,37 +1446,37 @@
|
||||
|
||||
|
||||
(deftype task-manager (process)
|
||||
((node-info game-task-node-info :offset-assert 128)
|
||||
(info task-manager-info :offset-assert 132)
|
||||
(lev-name symbol :offset-assert 136)
|
||||
(fail-on-death? symbol :offset-assert 140)
|
||||
(fail-now symbol :offset-assert 144)
|
||||
(retry-now symbol :offset-assert 148)
|
||||
(allow-fail symbol :offset-assert 152)
|
||||
(state-time time-frame :offset-assert 160)
|
||||
(count int16 :offset-assert 168)
|
||||
(max-count int16 :offset-assert 170)
|
||||
(sub-state uint32 :offset-assert 172)
|
||||
(slave handle 32 :offset-assert 176)
|
||||
(arrow handle :offset-assert 432)
|
||||
(link uint32 :offset-assert 440)
|
||||
(start-time time-frame :offset-assert 448)
|
||||
(total-time time-frame :offset-assert 456)
|
||||
(beep-time time-frame :offset-assert 464)
|
||||
(time-limit time-frame :offset-assert 472)
|
||||
(begin-pos vector :inline :offset-assert 480)
|
||||
(end-pos vector :inline :offset-assert 496)
|
||||
(data-int8 int8 32 :offset-assert 512)
|
||||
(data-int32 int32 32 :offset-assert 544)
|
||||
(data-float float 32 :offset-assert 672)
|
||||
(data-vector vector 32 :inline :offset-assert 800)
|
||||
(actor-group uint32 4 :offset-assert 1312)
|
||||
(minimap uint32 8 :offset-assert 1328)
|
||||
(hud handle 4 :offset-assert 1360)
|
||||
(hud-timer handle :offset 1360)
|
||||
(hud-counter handle :offset 1368)
|
||||
(sound-id sound-id 4 :offset-assert 1392)
|
||||
(intro-time time-frame :offset-assert 1408)
|
||||
((node-info game-task-node-info :offset-assert 128)
|
||||
(info task-manager-info :offset-assert 132)
|
||||
(lev-name symbol :offset-assert 136)
|
||||
(fail-on-death? symbol :offset-assert 140)
|
||||
(fail-now symbol :offset-assert 144)
|
||||
(retry-now symbol :offset-assert 148)
|
||||
(allow-fail symbol :offset-assert 152)
|
||||
(state-time time-frame :offset-assert 160)
|
||||
(count int16 :offset-assert 168)
|
||||
(max-count int16 :offset-assert 170)
|
||||
(sub-state uint32 :offset-assert 172)
|
||||
(slave handle 32 :offset-assert 176)
|
||||
(arrow handle :offset-assert 432)
|
||||
(link uint32 :offset-assert 440)
|
||||
(start-time time-frame :offset-assert 448)
|
||||
(total-time time-frame :offset-assert 456)
|
||||
(beep-time time-frame :offset-assert 464)
|
||||
(time-limit time-frame :offset-assert 472)
|
||||
(begin-pos vector :inline :offset-assert 480)
|
||||
(end-pos vector :inline :offset-assert 496)
|
||||
(data-int8 int8 32 :offset-assert 512)
|
||||
(data-int32 int32 32 :offset-assert 544)
|
||||
(data-float float 32 :offset-assert 672)
|
||||
(data-vector vector 32 :inline :offset-assert 800)
|
||||
(actor-group (pointer entity-actor) 4 :offset-assert 1312)
|
||||
(minimap uint32 8 :offset-assert 1328)
|
||||
(hud handle 4 :offset-assert 1360)
|
||||
(hud-timer handle :offset 1360)
|
||||
(hud-counter handle :offset 1368)
|
||||
(sound-id sound-id 4 :offset-assert 1392)
|
||||
(intro-time time-frame :offset-assert 1408)
|
||||
)
|
||||
:heap-base #x510
|
||||
:method-count-assert 23
|
||||
@@ -1510,6 +1514,3 @@
|
||||
|
||||
(define *traffic-engine* (the-as object #f))
|
||||
|
||||
|
||||
(define-extern task-manager-init-by-other (function game-task-node-info symbol object :behavior task-manager))
|
||||
|
||||
|
||||
@@ -1904,7 +1904,7 @@
|
||||
(set! (-> obj minimap v1-8) (the-as uint #f))
|
||||
)
|
||||
(countdown (v1-11 4)
|
||||
(set! (-> obj actor-group v1-11) (the-as uint #f))
|
||||
(set! (-> obj actor-group v1-11) (the-as (pointer entity-actor) #f))
|
||||
)
|
||||
(set! (-> obj fail-now) #f)
|
||||
(set! (-> obj retry-now) #f)
|
||||
|
||||
@@ -742,7 +742,7 @@
|
||||
(gp-1 (clear (-> obj strings 1 text)))
|
||||
(s4-0 "~S")
|
||||
)
|
||||
(format (clear *temp-string*) (lookup-text! *common-text* (game-text-id text-x235) #f))
|
||||
(format (clear *temp-string*) (lookup-text! *common-text* (game-text-id highscore-text-goal) #f))
|
||||
(s5-0 gp-1 s4-0 *temp-string*)
|
||||
)
|
||||
0
|
||||
|
||||
@@ -328,39 +328,39 @@
|
||||
(progress-locations-dig #x221)
|
||||
(progress-locations-underport #x222)
|
||||
(progress-locations-nest #x223)
|
||||
(text-x224 #x0224)
|
||||
(text-x225 #x0225)
|
||||
(text-x226 #x0226)
|
||||
(text-x227 #x0227)
|
||||
(text-x228 #x0228)
|
||||
(text-x229 #x0229)
|
||||
(text-x22a #x022a)
|
||||
(text-x22b #x022b)
|
||||
(text-x22c #x022c)
|
||||
(text-x22d #x022d)
|
||||
(gungame-red-prompt #x022e)
|
||||
(gungame-red-or-blue-prompt #x022f)
|
||||
(text-x230 #x0230)
|
||||
(gungame-yellow-prompt #x0231)
|
||||
(gungame-yellow-or-purple-prompt #x0232)
|
||||
(text-x233 #x0233)
|
||||
(text-x234 #x0234)
|
||||
(text-x235 #x0235)
|
||||
(text-x236 #x0236)
|
||||
(text-x237 #x0237)
|
||||
(text-x238 #x0238)
|
||||
(text-x239 #x0239)
|
||||
(text-x23a #x023a)
|
||||
(text-x23b #x023b)
|
||||
(text-x23c #x023c)
|
||||
(text-x23d #x023d)
|
||||
(text-x23e #x023e)
|
||||
(text-x23f #x023f)
|
||||
(text-x240 #x0240)
|
||||
(text-x241 #x0241)
|
||||
(text-x242 #x0242)
|
||||
(text-x243 #x0243)
|
||||
(text-x244 #x0244)
|
||||
(tutorial-jump #x0224)
|
||||
(tutorial-roll #x0225)
|
||||
(tutorial-double-jump #x0226)
|
||||
(tutorial-basic-attack #x0227)
|
||||
(tutorial-rolljump #x0228)
|
||||
(tutorial-ground-pound #x0229)
|
||||
(tutorial-high-jump #x022a)
|
||||
(gungame-tutorial-fire-button #x022b)
|
||||
(gungame-tutorial-put-red-away #x022c)
|
||||
(gungame-tutorial-take-red-out #x022d)
|
||||
(gungame-prompt-red #x022e)
|
||||
(gungame-prompt-red-or-blue #x022f)
|
||||
(gungame-tutorial-switch-to-yellow #x0230)
|
||||
(gungame-prompt-yellow #x0231)
|
||||
(gungame-prompt-yellow-or-purple #x0232)
|
||||
(gungame-tutorial-kick-combo #x0233)
|
||||
(gungame-tutorial-shoot-the-crates #x0234)
|
||||
(highscore-text-goal #x0235)
|
||||
(highscore-text-gold #x0236)
|
||||
(highscore-text-silver #x0237)
|
||||
(highscore-text-bronze #x0238)
|
||||
(board-tutorial-get-on-board #x0239)
|
||||
(board-tutorial-jump #x023a)
|
||||
(board-tutorial-duck-jump #x023b)
|
||||
(board-tutorial-boost-jump #x023c)
|
||||
(board-tutorial-grind #x023d)
|
||||
(board-tutorial-spin #x023e)
|
||||
(board-tutorial-flip #x023f)
|
||||
(board-tutorial-trick #x0240)
|
||||
(board-score-grind-and-trick #x0241)
|
||||
(board-score-activate-judge #x0242)
|
||||
(board-score-try-again #x0243) ;; TODO only for board?
|
||||
(board-score-return-to-garage #x0244)
|
||||
(text-x245 #x0245)
|
||||
(text-x246 #x0246)
|
||||
(text-x247 #x0247)
|
||||
|
||||
+18
-23
@@ -2090,20 +2090,15 @@
|
||||
;; ;; FOB
|
||||
;; ;;;;;;;;;;;;;;;;;;;;;
|
||||
|
||||
;; (cgo "FOB.DGO" "fob.gd")
|
||||
(cgo "FOB.DGO" "fob.gd")
|
||||
|
||||
;; (copy-textures 2280 2574 2281 3262 3417)
|
||||
(copy-textures 2280 2574 2281 3262 3417)
|
||||
|
||||
;; (copy-gos
|
||||
;; "youngsamos-forestb+0-ag"
|
||||
;; "daxter-highres-ag"
|
||||
;; "youngsamos-highres-ag"
|
||||
;; "jak-highres-ag"
|
||||
;; "crimson-guard-hover-ag"
|
||||
;; "transport-ag"
|
||||
;; "life-seed-ag"
|
||||
;; "forestb-vis"
|
||||
;; )
|
||||
(copy-gos
|
||||
"youngsamos-forestb+0-ag"
|
||||
"youngsamos-highres-ag"
|
||||
"forestb-vis"
|
||||
)
|
||||
|
||||
;; ;;;;;;;;;;;;;;;;;;;;;
|
||||
;; ;; FOR
|
||||
@@ -3066,20 +3061,20 @@
|
||||
;; ;; LSACK
|
||||
;; ;;;;;;;;;;;;;;;;;;;;;
|
||||
|
||||
;; (cgo "LSACK.DGO" "lsack.gd")
|
||||
(cgo "LSACK.DGO" "lsack.gd")
|
||||
|
||||
;; (goal-src-sequence
|
||||
;; ""
|
||||
;; :deps ("$OUT/obj/los-control.o")
|
||||
;; "levels/city/misc/collection_task/collection-task.gc"
|
||||
;; )
|
||||
(goal-src-sequence
|
||||
""
|
||||
:deps ("$OUT/obj/los-control.o")
|
||||
"levels/city/misc/collection_task/collection-task.gc"
|
||||
)
|
||||
|
||||
;; (copy-textures 2605)
|
||||
(copy-textures 2605)
|
||||
|
||||
;; (copy-gos
|
||||
;; "krew-moneybag-ag"
|
||||
;; "lsack"
|
||||
;; )
|
||||
(copy-gos
|
||||
"krew-moneybag-ag"
|
||||
"lsack"
|
||||
)
|
||||
|
||||
;; ;;;;;;;;;;;;;;;;;;;;;
|
||||
;; ;; LSAMERGD
|
||||
|
||||
@@ -7,3 +7,373 @@
|
||||
|
||||
;; DECOMP BEGINS
|
||||
|
||||
(defmethod draw hud-moneybag ((obj hud-moneybag))
|
||||
(set-hud-piece-position!
|
||||
(the-as hud-sprite (-> obj sprites))
|
||||
(the int (+ 462.0 (* 130.0 (-> obj offset))))
|
||||
210
|
||||
)
|
||||
(format (clear (-> obj strings 0 text)) "~D" (-> obj values 0 current))
|
||||
(set-as-offset-from! (the-as hud-sprite (-> obj strings 0 pos)) (the-as vector4w (-> obj sprites)) -25 25)
|
||||
((method-of-type hud draw) obj)
|
||||
0
|
||||
(none)
|
||||
)
|
||||
|
||||
(defmethod update-values hud-moneybag ((obj hud-moneybag))
|
||||
(set! (-> obj values 0 target) (the int (-> *game-info* counter)))
|
||||
((method-of-type hud update-values) obj)
|
||||
0
|
||||
(none)
|
||||
)
|
||||
|
||||
(defmethod init-callback hud-moneybag ((obj hud-moneybag))
|
||||
(set! (-> obj level) (level-get *level* 'ctywide))
|
||||
(set! (-> obj gui-id)
|
||||
(add-process *gui-control* obj (gui-channel hud-middle-right) (gui-action hidden) (-> obj name) 81920.0 0)
|
||||
)
|
||||
(logior! (-> obj flags) (hud-flags show))
|
||||
(set! (-> obj sprites 0 tex) (lookup-texture-by-id (new 'static 'texture-id :index #x7 :page #x679)))
|
||||
(set! (-> obj sprites 0 flags) (the-as uint 4))
|
||||
(set! (-> obj sprites 0 scale-x) 1.2)
|
||||
(set! (-> obj sprites 0 scale-y) 1.2)
|
||||
(alloc-string-if-needed obj 0)
|
||||
(set! (-> obj strings 0 scale) 0.6)
|
||||
(set! (-> obj strings 0 flags) (font-flags kerning middle large))
|
||||
0
|
||||
(none)
|
||||
)
|
||||
|
||||
(defskelgroup skel-krew-collection-item krew-moneybag 0 3
|
||||
((1 (meters 999999)))
|
||||
:bounds (static-spherem 0 0 0 4)
|
||||
:shadow 2
|
||||
)
|
||||
|
||||
(deftype krew-collection-item (process-drawable)
|
||||
()
|
||||
:heap-base #x50
|
||||
:method-count-assert 23
|
||||
:size-assert #xc8
|
||||
:flag-assert #x17005000c8
|
||||
(:methods
|
||||
(idle () _type_ :state 20)
|
||||
(die () _type_ :state 21)
|
||||
(find-ground (_type_) symbol 22)
|
||||
)
|
||||
)
|
||||
|
||||
|
||||
(defmethod find-ground krew-collection-item ((obj krew-collection-item))
|
||||
(let ((s4-0 #f))
|
||||
(let ((gp-0 (new 'stack-no-clear 'collide-query-with-2vec)))
|
||||
(set! (-> gp-0 vec quad) (-> obj root trans quad))
|
||||
(set! (-> gp-0 cquery start-pos quad) (-> gp-0 vec quad))
|
||||
(vector-reset! (-> gp-0 vec2))
|
||||
(set! (-> gp-0 vec2 y) 1.0)
|
||||
(set-vector! (-> gp-0 cquery move-dist) 0.0 -40960.0 0.0 1.0)
|
||||
(let ((v1-5 (-> gp-0 cquery)))
|
||||
(set! (-> v1-5 radius) 1024.0)
|
||||
(set! (-> v1-5 collide-with) (collide-spec backgnd))
|
||||
(set! (-> v1-5 ignore-process0) #f)
|
||||
(set! (-> v1-5 ignore-process1) #f)
|
||||
(set! (-> v1-5 ignore-pat) (new 'static 'pat-surface :noentity #x1 :nojak #x1 :probe #x1 :noendlessfall #x1))
|
||||
(set! (-> v1-5 action-mask) (collide-action solid))
|
||||
)
|
||||
(let ((f0-6 (fill-and-probe-using-line-sphere *collide-cache* (-> gp-0 cquery))))
|
||||
(when (>= f0-6 0.0)
|
||||
(vector+float*! (-> gp-0 vec) (-> gp-0 cquery start-pos) (-> gp-0 cquery move-dist) f0-6)
|
||||
(set! (-> gp-0 vec2 quad) (-> gp-0 cquery best-other-tri normal quad))
|
||||
(set! (-> gp-0 vec y) (+ 4915.2 (-> gp-0 vec y)))
|
||||
(set! s4-0 #t)
|
||||
(format #t "krew-collection-item::find-ground: ground y ~M~%" (-> gp-0 vec y))
|
||||
)
|
||||
)
|
||||
(set! (-> obj root trans quad) (-> gp-0 vec quad))
|
||||
(forward-up-nopitch->quaternion (-> obj root quat) (new 'static 'vector :z 1.0 :w 1.0) (-> gp-0 vec2))
|
||||
)
|
||||
s4-0
|
||||
)
|
||||
)
|
||||
|
||||
(defstate idle (krew-collection-item)
|
||||
:virtual #t
|
||||
:trans (behavior ()
|
||||
(let ((v1-0 *target*)
|
||||
(gp-0 (new 'stack-no-clear 'vector))
|
||||
)
|
||||
(when v1-0
|
||||
(set! (-> gp-0 quad) (-> v1-0 control trans quad))
|
||||
(set! (-> gp-0 w) 4096.0)
|
||||
(when (logtest? (focus-status pilot) (-> v1-0 focus-status))
|
||||
(let ((a1-4 (handle->process (-> v1-0 pilot vehicle))))
|
||||
(set! (-> gp-0 quad)
|
||||
(-> (the-as collide-shape (-> (the-as process-drawable a1-4) root)) root-prim prim-core world-sphere quad)
|
||||
)
|
||||
)
|
||||
)
|
||||
(let ((f0-1 (vector-vector-distance-squared (-> self root trans) gp-0))
|
||||
(f1-1 (+ 12288.0 (-> gp-0 w)))
|
||||
)
|
||||
(when (>= (* f1-1 f1-1) f0-1)
|
||||
(sound-play "skill-pickup")
|
||||
(set! (-> *game-info* counter) (+ -1.0 (-> *game-info* counter)))
|
||||
(go-virtual die)
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
(none)
|
||||
)
|
||||
:code (behavior ()
|
||||
(let ((gp-0 (new 'stack-no-clear 'task-arrow-params)))
|
||||
(let ((v1-0 (new 'stack-no-clear 'vector)))
|
||||
(set! (-> v1-0 quad) (-> self root trans quad))
|
||||
(set! (-> v1-0 y) (+ -6144.0 (-> v1-0 y)))
|
||||
(set! (-> gp-0 pos quad) (-> v1-0 quad))
|
||||
)
|
||||
(quaternion-identity! (-> gp-0 quat))
|
||||
(set! (-> gp-0 flags) (task-arrow-flags))
|
||||
(set! (-> gp-0 map-icon) (the-as uint 15))
|
||||
(task-arrow-spawn gp-0 (the-as task-arrow self))
|
||||
)
|
||||
(until #f
|
||||
(ja-no-eval :group! (ja-group)
|
||||
:num! (seek! (the float (+ (-> (ja-group) frames num-frames) -1)))
|
||||
:frame-num 0.0
|
||||
)
|
||||
(until (ja-done? 0)
|
||||
(suspend)
|
||||
(ja :num! (seek!))
|
||||
)
|
||||
)
|
||||
#f
|
||||
(none)
|
||||
)
|
||||
:post (the-as (function none :behavior krew-collection-item) ja-post)
|
||||
)
|
||||
|
||||
(defstate die (krew-collection-item)
|
||||
:virtual #t
|
||||
:code (behavior ()
|
||||
(cleanup-for-death self)
|
||||
(none)
|
||||
)
|
||||
)
|
||||
|
||||
;; WARN: Return type mismatch object vs krew-collection-item.
|
||||
(defbehavior krew-collection-item-init-by-other krew-collection-item ((arg0 vector))
|
||||
(set! (-> self level) (level-get *level* 'lsack))
|
||||
(set! (-> self root) (new 'process 'trsqv))
|
||||
(set! (-> self root trans quad) (-> arg0 quad))
|
||||
(quaternion-identity! (-> self root quat))
|
||||
(set-vector! (-> self root scale) 3.0 3.0 3.0 1.0)
|
||||
(initialize-skeleton
|
||||
self
|
||||
(the-as
|
||||
skeleton-group
|
||||
(art-group-get-by-name *level* "skel-krew-collection-item" (the-as (pointer uint32) #f))
|
||||
)
|
||||
(the-as pair 0)
|
||||
)
|
||||
(if (-> self draw shadow)
|
||||
(set! (-> self draw shadow-ctrl)
|
||||
(new 'process 'shadow-control -12288.0 12288.0 614400.0 (shadow-flags shdf00 shdf04) 245760.0)
|
||||
)
|
||||
)
|
||||
(the-as krew-collection-item (go-virtual idle))
|
||||
)
|
||||
|
||||
;; WARN: Return type mismatch process vs krew-collection-item.
|
||||
(defun krew-collection-item-spawn ((arg0 process) (arg1 vector))
|
||||
(let ((gp-0 (the-as process #f)))
|
||||
(let ((v1-1 (process-spawn krew-collection-item arg1 :to arg0)))
|
||||
(if v1-1
|
||||
(set! gp-0 (-> v1-1 0))
|
||||
)
|
||||
)
|
||||
(the-as krew-collection-item gp-0)
|
||||
)
|
||||
)
|
||||
|
||||
(set-subtask-hook!
|
||||
*game-info*
|
||||
73
|
||||
0
|
||||
(lambda :behavior task-manager
|
||||
()
|
||||
(set! (-> self begin-pos quad) (-> (new 'static 'vector :x -245760.0 :y 45056.0 :z 5468160.0 :w 1.0) quad))
|
||||
(set-setting! 'exclusive-task #f 0 (-> self node-info task))
|
||||
(let ((gp-0 *traffic-manager*)
|
||||
(s5-0 (new 'stack 'traffic-object-spawn-params))
|
||||
)
|
||||
(set! (-> s5-0 position quad) (-> self begin-pos quad))
|
||||
(quaternion-axis-angle! (-> s5-0 rotation) 0.0 1.0 0.0 16384.0)
|
||||
(set! (-> s5-0 object-type) (the-as uint 13))
|
||||
(set! (-> s5-0 behavior) (the-as uint 0))
|
||||
(set! (-> s5-0 id) (the-as uint 0))
|
||||
(set! (-> s5-0 proc) #f)
|
||||
(send-event gp-0 'spawn-object s5-0)
|
||||
)
|
||||
(set! (-> self start-time) 0)
|
||||
(set! (-> self count) -1)
|
||||
(set! (-> self max-count) 14)
|
||||
(set! (-> self data-vector 0 quad)
|
||||
(-> (new 'static 'vector :x 1282048.0 :y 37925.273 :z 5492736.0 :w 1.0) quad)
|
||||
)
|
||||
(set! (-> self data-vector 1 quad)
|
||||
(-> (new 'static 'vector :x 2392064.0 :y 23235.379 :z 5980160.0 :w 1.0) quad)
|
||||
)
|
||||
(set! (-> self data-vector 2 quad)
|
||||
(-> (new 'static 'vector :x 3231744.0 :y 38680.984 :z 4788224.0 :w 1.0) quad)
|
||||
)
|
||||
(set! (-> self data-vector 3 quad)
|
||||
(-> (new 'static 'vector :x 3829760.0 :y 38680.984 :z 3682304.0 :w 1.0) quad)
|
||||
)
|
||||
(set! (-> self data-vector 4 quad)
|
||||
(-> (new 'static 'vector :x 4325376.0 :y 38680.984 :z 2564096.0 :w 1.0) quad)
|
||||
)
|
||||
(set! (-> self data-vector 5 quad)
|
||||
(-> (new 'static 'vector :x 4014080.0 :y 38680.984 :z 1822720.0 :w 1.0) quad)
|
||||
)
|
||||
(set! (-> self data-vector 6 quad)
|
||||
(-> (new 'static 'vector :x 3698688.0 :y 38680.984 :z 1728512.0 :w 1.0) quad)
|
||||
)
|
||||
(set! (-> self data-vector 7 quad)
|
||||
(-> (new 'static 'vector :x 3792896.0 :y 38680.984 :z 2387968.0 :w 1.0) quad)
|
||||
)
|
||||
(set! (-> self data-vector 8 quad)
|
||||
(-> (new 'static 'vector :x 4616192.0 :y 38680.984 :z 2863104.0 :w 1.0) quad)
|
||||
)
|
||||
(set! (-> self data-vector 9 quad)
|
||||
(-> (new 'static 'vector :x 3633152.0 :y 38680.984 :z 3477504.0 :w 1.0) quad)
|
||||
)
|
||||
(set! (-> self data-vector 10 quad)
|
||||
(-> (new 'static 'vector :x 3993600.0 :y 38680.984 :z 4378624.0 :w 1.0) quad)
|
||||
)
|
||||
(set! (-> self data-vector 11 quad)
|
||||
(-> (new 'static 'vector :x 3112960.0 :y 23472.947 :z 5390336.0 :w 1.0) quad)
|
||||
)
|
||||
(set! (-> self data-vector 12 quad)
|
||||
(-> (new 'static 'vector :x 1789952.0 :y 37616.027 :z 5455872.0 :w 1.0) quad)
|
||||
)
|
||||
(set! (-> self data-vector 13 quad)
|
||||
(-> (new 'static 'vector :x 237568.0 :y 37541.477 :z 5439488.0 :w 1.0) quad)
|
||||
)
|
||||
(set! (-> self data-int32 0) #x2904)
|
||||
(set! (-> self data-int32 1) 9000)
|
||||
(set! (-> self data-int32 2) 9000)
|
||||
(set! (-> self data-int32 3) 9000)
|
||||
(set! (-> self data-int32 4) 9000)
|
||||
(set! (-> self data-int32 5) 9000)
|
||||
(set! (-> self data-int32 6) 3000)
|
||||
(set! (-> self data-int32 7) 6000)
|
||||
(set! (-> self data-int32 8) 9000)
|
||||
(set! (-> self data-int32 9) 9000)
|
||||
(set! (-> self data-int32 10) 9000)
|
||||
(set! (-> self data-int32 11) 9000)
|
||||
(set! (-> self data-int32 12) 7500)
|
||||
(set! (-> self data-int32 13) 7500)
|
||||
(let ((f0-1 (the float (-> self max-count))))
|
||||
(set! (-> *game-info* counter) f0-1)
|
||||
(the-as object f0-1)
|
||||
)
|
||||
)
|
||||
)
|
||||
|
||||
(set-subtask-hook!
|
||||
*game-info*
|
||||
73
|
||||
1
|
||||
(lambda :behavior task-manager () (send-event *traffic-manager* 'restore-default-settings))
|
||||
)
|
||||
|
||||
(set-subtask-hook!
|
||||
*game-info*
|
||||
73
|
||||
2
|
||||
(lambda :behavior task-manager
|
||||
()
|
||||
(check-time self)
|
||||
(when (>= (-> self count) 0)
|
||||
(cond
|
||||
((handle->process (-> self slave 0))
|
||||
#f
|
||||
)
|
||||
(else
|
||||
(let ((gp-0 (-> self count)))
|
||||
(cond
|
||||
((< gp-0 (-> self max-count))
|
||||
(let ((a0-6 (krew-collection-item-spawn self (-> self data-vector gp-0))))
|
||||
(when a0-6
|
||||
(set! (-> self slave 0) (process->handle a0-6))
|
||||
(set! (-> self time-limit) (the-as time-frame (-> self data-int32 gp-0)))
|
||||
(set! (-> self start-time) (-> self clock frame-counter))
|
||||
(let ((v0-1 (the-as object (+ (-> self count) 1))))
|
||||
(set! (-> self count) (the-as int v0-1))
|
||||
v0-1
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
(else
|
||||
(go-virtual complete)
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
|
||||
(set-subtask-hook!
|
||||
*game-info*
|
||||
73
|
||||
3
|
||||
(lambda :behavior task-manager
|
||||
()
|
||||
(local-vars (v1-2 symbol))
|
||||
(until (or v1-2 (and *target* (logtest? (focus-status pilot) (-> *target* focus-status))))
|
||||
(suspend)
|
||||
(let ((f0-0 122880.0))
|
||||
(set! v1-2 (< (* f0-0 f0-0) (vector-vector-distance-squared (-> self begin-pos) (target-pos 0))))
|
||||
)
|
||||
)
|
||||
(set-setting! 'airlock #f 0 0)
|
||||
(set! (-> self count) 0)
|
||||
(set! (-> self hud-counter)
|
||||
(ppointer->handle (process-spawn hud-moneybag :init hud-init-by-other :to *target*))
|
||||
)
|
||||
(send-event *traffic-manager* 'set-target-level #x3f800000)
|
||||
(set! (-> self state-time) (-> self clock frame-counter))
|
||||
(while (< (- (-> self clock frame-counter) (-> self state-time)) (seconds 5))
|
||||
(suspend)
|
||||
)
|
||||
(send-event *traffic-manager* 'set-alert-level 2)
|
||||
(send-event *traffic-manager* 'set-alert-duration #xa4cb80)
|
||||
)
|
||||
)
|
||||
|
||||
(set-subtask-hook!
|
||||
*game-info*
|
||||
73
|
||||
5
|
||||
(lambda :behavior task-manager () (the-as object (kill-all-children self)))
|
||||
)
|
||||
|
||||
(set-subtask-hook!
|
||||
*game-info*
|
||||
73
|
||||
4
|
||||
(lambda :behavior task-manager
|
||||
()
|
||||
(send-event *traffic-manager* 'decrease-alert-level 0)
|
||||
(send-event *traffic-manager* 'set-alert-duration 9000)
|
||||
(set! (-> self state-time) (-> self clock frame-counter))
|
||||
(while (< (- (-> self clock frame-counter) (-> self state-time)) (seconds 2))
|
||||
(suspend)
|
||||
)
|
||||
(the-as object (talker-spawn-func (-> *talker-speech* 88) *entity-pool* (target-pos 0) (the-as region #f)))
|
||||
)
|
||||
)
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -75,7 +75,7 @@
|
||||
(training-manager-method-27 (_type_ (array tpath-info)) symbol 27)
|
||||
(training-manager-method-28 (_type_) none 28)
|
||||
(training-manager-method-29 (_type_ vector) vector 29)
|
||||
(training-manager-method-30 (_type_ game-text-id) float 30)
|
||||
(render-text (_type_ game-text-id) float 30)
|
||||
(training-manager-method-31 (_type_) none 31)
|
||||
(training-manager-method-32 (_type_) none 32)
|
||||
)
|
||||
@@ -214,7 +214,7 @@
|
||||
(none)
|
||||
)
|
||||
|
||||
(defmethod training-manager-method-30 training-manager ((obj training-manager) (arg0 game-text-id))
|
||||
(defmethod render-text training-manager ((obj training-manager) (arg0 game-text-id))
|
||||
(when (= (get-status *gui-control* (-> obj gui-id)) (gui-status active))
|
||||
(let ((s5-1 (new
|
||||
'stack
|
||||
@@ -282,7 +282,7 @@
|
||||
(suspend)
|
||||
)
|
||||
(until (cpad-pressed? 0 r1)
|
||||
(training-manager-method-30 self (game-text-id text-x22b))
|
||||
(render-text self (game-text-id gungame-tutorial-fire-button))
|
||||
(suspend)
|
||||
)
|
||||
(set! (-> self last-sound-id)
|
||||
@@ -302,7 +302,7 @@
|
||||
)
|
||||
(when *target*
|
||||
(while (logtest? (focus-status gun) (-> *target* focus-status))
|
||||
(training-manager-method-30 self (game-text-id text-x22c))
|
||||
(render-text self (game-text-id gungame-tutorial-put-red-away))
|
||||
(suspend)
|
||||
)
|
||||
)
|
||||
@@ -316,7 +316,7 @@
|
||||
(suspend)
|
||||
)
|
||||
(while (or (not *target*) (zero? (logand (focus-status gun) (-> *target* focus-status))))
|
||||
(training-manager-method-30 self (game-text-id text-x22d))
|
||||
(render-text self (game-text-id gungame-tutorial-take-red-out))
|
||||
(suspend)
|
||||
)
|
||||
(set! (-> self last-sound-id)
|
||||
@@ -334,7 +334,7 @@
|
||||
)
|
||||
(let ((gp-2 (training-manager-method-26 self)))
|
||||
(while (= (training-manager-method-26 self) gp-2)
|
||||
(training-manager-method-30 self (game-text-id text-x234))
|
||||
(render-text self (game-text-id gungame-tutorial-shoot-the-crates))
|
||||
(suspend)
|
||||
)
|
||||
)
|
||||
@@ -492,7 +492,7 @@
|
||||
)
|
||||
a1-1
|
||||
)
|
||||
(training-manager-method-30 self (game-text-id gungame-red-prompt))
|
||||
(render-text self (game-text-id gungame-prompt-red))
|
||||
)
|
||||
)
|
||||
)
|
||||
@@ -613,7 +613,7 @@
|
||||
)
|
||||
a1-2
|
||||
)
|
||||
(training-manager-method-30 self (game-text-id gungame-yellow-prompt))
|
||||
(render-text self (game-text-id gungame-prompt-yellow))
|
||||
)
|
||||
)
|
||||
)
|
||||
@@ -876,8 +876,8 @@
|
||||
)
|
||||
)
|
||||
(if (logtest? (-> *game-info* secrets) (game-secrets gungame-blue))
|
||||
(training-manager-method-30 self (game-text-id gungame-red-or-blue-prompt))
|
||||
(training-manager-method-30 self (game-text-id gungame-red-prompt))
|
||||
(render-text self (game-text-id gungame-prompt-red-or-blue))
|
||||
(render-text self (game-text-id gungame-prompt-red))
|
||||
)
|
||||
(b! #t cfg-30 :delay (nop!))
|
||||
(label cfg-19)
|
||||
@@ -896,8 +896,8 @@
|
||||
(task-node-closed? (game-task-node city-yellow-gun-training-resolution))
|
||||
)
|
||||
(if (logtest? (-> *game-info* secrets) (game-secrets gungame-dark))
|
||||
(training-manager-method-30 self (game-text-id gungame-yellow-or-purple-prompt))
|
||||
(training-manager-method-30 self (game-text-id gungame-yellow-prompt))
|
||||
(render-text self (game-text-id gungame-prompt-yellow-or-purple))
|
||||
(render-text self (game-text-id gungame-prompt-yellow))
|
||||
)
|
||||
)
|
||||
)
|
||||
@@ -1019,7 +1019,7 @@
|
||||
)
|
||||
(let ((gp-2 (-> *game-info* gun-type)))
|
||||
(until (!= gp-2 (-> *game-info* gun-type))
|
||||
(training-manager-method-30 self (game-text-id text-x230))
|
||||
(render-text self (game-text-id gungame-tutorial-switch-to-yellow))
|
||||
(suspend)
|
||||
)
|
||||
)
|
||||
@@ -1042,7 +1042,7 @@
|
||||
)
|
||||
)
|
||||
(until #f
|
||||
(training-manager-method-30 self (game-text-id text-x233))
|
||||
(render-text self (game-text-id gungame-tutorial-kick-combo))
|
||||
(suspend)
|
||||
(when (and (not (handle->process (-> self dummies 0))) (not (handle->process (-> self dummies 1))))
|
||||
#t
|
||||
@@ -1274,15 +1274,7 @@
|
||||
(gp-1 (the-as hud (clear (-> (the-as hud gp-0) strings 1 text))))
|
||||
(s4-0 "~S")
|
||||
)
|
||||
(let* ((s3-0 format)
|
||||
(s2-0 (clear *temp-string*))
|
||||
(a0-7 *common-text*)
|
||||
(t9-4 (method-of-object a0-7 lookup-text!))
|
||||
(a1-2 566)
|
||||
(a2-0 #f)
|
||||
)
|
||||
(s3-0 s2-0 (t9-4 a0-7 (the-as game-text-id a1-2) a2-0) (the-as none a2-0))
|
||||
)
|
||||
(format (clear *temp-string*) (lookup-text! *common-text* (game-text-id highscore-text-gold) #f))
|
||||
(s5-1 gp-1 s4-0 *temp-string*)
|
||||
)
|
||||
)
|
||||
@@ -1292,15 +1284,7 @@
|
||||
(gp-2 (the-as hud (clear (-> (the-as hud gp-0) strings 1 text))))
|
||||
(s4-1 "~S")
|
||||
)
|
||||
(let* ((s3-1 format)
|
||||
(s2-1 (clear *temp-string*))
|
||||
(a0-12 *common-text*)
|
||||
(t9-9 (method-of-object a0-12 lookup-text!))
|
||||
(a1-5 566)
|
||||
(a2-2 #f)
|
||||
)
|
||||
(s3-1 s2-1 (t9-9 a0-12 (the-as game-text-id a1-5) a2-2) (the-as none a2-2))
|
||||
)
|
||||
(format (clear *temp-string*) (lookup-text! *common-text* (game-text-id highscore-text-gold) #f))
|
||||
(s5-2 gp-2 s4-1 *temp-string*)
|
||||
)
|
||||
)
|
||||
@@ -1310,15 +1294,7 @@
|
||||
(gp-3 (the-as hud (clear (-> (the-as hud gp-0) strings 1 text))))
|
||||
(s4-2 "~S")
|
||||
)
|
||||
(let* ((s3-2 format)
|
||||
(s2-2 (clear *temp-string*))
|
||||
(a0-17 *common-text*)
|
||||
(t9-14 (method-of-object a0-17 lookup-text!))
|
||||
(a1-8 567)
|
||||
(a2-4 #f)
|
||||
)
|
||||
(s3-2 s2-2 (t9-14 a0-17 (the-as game-text-id a1-8) a2-4) (the-as none a2-4))
|
||||
)
|
||||
(format (clear *temp-string*) (lookup-text! *common-text* (game-text-id highscore-text-silver) #f))
|
||||
(s5-3 gp-3 s4-2 *temp-string*)
|
||||
)
|
||||
)
|
||||
@@ -1328,15 +1304,7 @@
|
||||
(gp-4 (the-as hud (clear (-> (the-as hud gp-0) strings 1 text))))
|
||||
(s4-3 "~S")
|
||||
)
|
||||
(let* ((s3-3 format)
|
||||
(s2-3 (clear *temp-string*))
|
||||
(a0-22 *common-text*)
|
||||
(t9-19 (method-of-object a0-22 lookup-text!))
|
||||
(a1-11 568)
|
||||
(a2-6 #f)
|
||||
)
|
||||
(s3-3 s2-3 (t9-19 a0-22 (the-as game-text-id a1-11) a2-6) (the-as none a2-6))
|
||||
)
|
||||
(format (clear *temp-string*) (lookup-text! *common-text* (game-text-id highscore-text-bronze) #f))
|
||||
(s5-4 gp-4 s4-3 *temp-string*)
|
||||
)
|
||||
)
|
||||
@@ -1350,15 +1318,7 @@
|
||||
(gp-5 (the-as hud (clear (-> (the-as hud gp-0) strings 1 text))))
|
||||
(s4-4 "~S")
|
||||
)
|
||||
(let* ((s3-4 format)
|
||||
(s2-4 (clear *temp-string*))
|
||||
(a0-28 *common-text*)
|
||||
(t9-25 (method-of-object a0-28 lookup-text!))
|
||||
(a1-14 566)
|
||||
(a2-8 #f)
|
||||
)
|
||||
(s3-4 s2-4 (t9-25 a0-28 (the-as game-text-id a1-14) a2-8) (the-as none a2-8))
|
||||
)
|
||||
(format (clear *temp-string*) (lookup-text! *common-text* (game-text-id highscore-text-gold) #f))
|
||||
(s5-5 gp-5 s4-4 *temp-string*)
|
||||
)
|
||||
)
|
||||
@@ -1368,15 +1328,7 @@
|
||||
(gp-6 (the-as hud (clear (-> (the-as hud gp-0) strings 1 text))))
|
||||
(s4-5 "~S")
|
||||
)
|
||||
(let* ((s3-5 format)
|
||||
(s2-5 (clear *temp-string*))
|
||||
(a0-33 *common-text*)
|
||||
(t9-30 (method-of-object a0-33 lookup-text!))
|
||||
(a1-17 567)
|
||||
(a2-10 #f)
|
||||
)
|
||||
(s3-5 s2-5 (t9-30 a0-33 (the-as game-text-id a1-17) a2-10) (the-as none a2-10))
|
||||
)
|
||||
(format (clear *temp-string*) (lookup-text! *common-text* (game-text-id highscore-text-silver) #f))
|
||||
(s5-6 gp-6 s4-5 *temp-string*)
|
||||
)
|
||||
)
|
||||
@@ -1386,15 +1338,7 @@
|
||||
(gp-7 (the-as hud (clear (-> (the-as hud gp-0) strings 1 text))))
|
||||
(s4-6 "~S")
|
||||
)
|
||||
(let* ((s3-6 format)
|
||||
(s2-6 (clear *temp-string*))
|
||||
(a0-38 *common-text*)
|
||||
(t9-35 (method-of-object a0-38 lookup-text!))
|
||||
(a1-20 567)
|
||||
(a2-12 #f)
|
||||
)
|
||||
(s3-6 s2-6 (t9-35 a0-38 (the-as game-text-id a1-20) a2-12) (the-as none a2-12))
|
||||
)
|
||||
(format (clear *temp-string*) (lookup-text! *common-text* (game-text-id highscore-text-silver) #f))
|
||||
(s5-7 gp-7 s4-6 *temp-string*)
|
||||
)
|
||||
)
|
||||
@@ -1410,15 +1354,7 @@
|
||||
(gp-8 (the-as hud (clear (-> (the-as hud gp-0) strings 1 text))))
|
||||
(s4-7 "~S")
|
||||
)
|
||||
(let* ((s3-7 format)
|
||||
(s2-7 (clear *temp-string*))
|
||||
(a0-45 *common-text*)
|
||||
(t9-42 (method-of-object a0-45 lookup-text!))
|
||||
(a1-23 566)
|
||||
(a2-14 #f)
|
||||
)
|
||||
(s3-7 s2-7 (t9-42 a0-45 (the-as game-text-id a1-23) a2-14) (the-as none a2-14))
|
||||
)
|
||||
(format (clear *temp-string*) (lookup-text! *common-text* (game-text-id highscore-text-gold) #f))
|
||||
(s5-8 gp-8 s4-7 *temp-string*)
|
||||
)
|
||||
)
|
||||
@@ -1428,15 +1364,7 @@
|
||||
(gp-9 (the-as hud (clear (-> (the-as hud gp-0) strings 1 text))))
|
||||
(s4-8 "~S")
|
||||
)
|
||||
(let* ((s3-8 format)
|
||||
(s2-8 (clear *temp-string*))
|
||||
(a0-50 *common-text*)
|
||||
(t9-47 (method-of-object a0-50 lookup-text!))
|
||||
(a1-26 566)
|
||||
(a2-16 #f)
|
||||
)
|
||||
(s3-8 s2-8 (t9-47 a0-50 (the-as game-text-id a1-26) a2-16) (the-as none a2-16))
|
||||
)
|
||||
(format (clear *temp-string*) (lookup-text! *common-text* (game-text-id highscore-text-gold) #f))
|
||||
(s5-9 gp-9 s4-8 *temp-string*)
|
||||
)
|
||||
)
|
||||
@@ -1448,15 +1376,7 @@
|
||||
(gp-10 (the-as hud (clear (-> (the-as hud gp-0) strings 1 text))))
|
||||
(s4-9 "~S")
|
||||
)
|
||||
(let* ((s3-9 format)
|
||||
(s2-9 (clear *temp-string*))
|
||||
(a0-55 *common-text*)
|
||||
(t9-52 (method-of-object a0-55 lookup-text!))
|
||||
(a1-29 566)
|
||||
(a2-18 #f)
|
||||
)
|
||||
(s3-9 s2-9 (t9-52 a0-55 (the-as game-text-id a1-29) a2-18) (the-as none a2-18))
|
||||
)
|
||||
(format (clear *temp-string*) (lookup-text! *common-text* (game-text-id highscore-text-gold) #f))
|
||||
(s5-10 gp-10 s4-9 *temp-string*)
|
||||
)
|
||||
)
|
||||
@@ -1466,15 +1386,7 @@
|
||||
(gp-11 (the-as hud (clear (-> (the-as hud gp-0) strings 1 text))))
|
||||
(s4-10 "~S")
|
||||
)
|
||||
(let* ((s3-10 format)
|
||||
(s2-10 (clear *temp-string*))
|
||||
(a0-60 *common-text*)
|
||||
(t9-57 (method-of-object a0-60 lookup-text!))
|
||||
(a1-32 566)
|
||||
(a2-20 #f)
|
||||
)
|
||||
(s3-10 s2-10 (t9-57 a0-60 (the-as game-text-id a1-32) a2-20) (the-as none a2-20))
|
||||
)
|
||||
(format (clear *temp-string*) (lookup-text! *common-text* (game-text-id highscore-text-gold) #f))
|
||||
(s5-11 gp-11 s4-10 *temp-string*)
|
||||
)
|
||||
)
|
||||
@@ -1484,15 +1396,7 @@
|
||||
(gp-12 (the-as hud (clear (-> (the-as hud gp-0) strings 1 text))))
|
||||
(s4-11 "~S")
|
||||
)
|
||||
(let* ((s3-11 format)
|
||||
(s2-11 (clear *temp-string*))
|
||||
(a0-65 *common-text*)
|
||||
(t9-62 (method-of-object a0-65 lookup-text!))
|
||||
(a1-35 567)
|
||||
(a2-22 #f)
|
||||
)
|
||||
(s3-11 s2-11 (t9-62 a0-65 (the-as game-text-id a1-35) a2-22) (the-as none a2-22))
|
||||
)
|
||||
(format (clear *temp-string*) (lookup-text! *common-text* (game-text-id highscore-text-silver) #f))
|
||||
(s5-12 gp-12 s4-11 *temp-string*)
|
||||
)
|
||||
)
|
||||
@@ -1502,15 +1406,7 @@
|
||||
(gp-13 (the-as hud (clear (-> (the-as hud gp-0) strings 1 text))))
|
||||
(s4-12 "~S")
|
||||
)
|
||||
(let* ((s3-12 format)
|
||||
(s2-12 (clear *temp-string*))
|
||||
(a0-70 *common-text*)
|
||||
(t9-67 (method-of-object a0-70 lookup-text!))
|
||||
(a1-38 568)
|
||||
(a2-24 #f)
|
||||
)
|
||||
(s3-12 s2-12 (t9-67 a0-70 (the-as game-text-id a1-38) a2-24) (the-as none a2-24))
|
||||
)
|
||||
(format (clear *temp-string*) (lookup-text! *common-text* (game-text-id highscore-text-bronze) #f))
|
||||
(s5-13 gp-13 s4-12 *temp-string*)
|
||||
)
|
||||
)
|
||||
@@ -1520,15 +1416,7 @@
|
||||
(gp-14 (clear (-> (the-as hud gp-0) strings 1 text)))
|
||||
(s4-13 "~S")
|
||||
)
|
||||
(let* ((s3-13 format)
|
||||
(s2-13 (clear *temp-string*))
|
||||
(a0-75 *common-text*)
|
||||
(t9-72 (method-of-object a0-75 lookup-text!))
|
||||
(a1-41 565)
|
||||
(a2-26 #f)
|
||||
)
|
||||
(s3-13 s2-13 (t9-72 a0-75 (the-as game-text-id a1-41) a2-26) (the-as none a2-26))
|
||||
)
|
||||
(format (clear *temp-string*) (lookup-text! *common-text* (game-text-id highscore-text-goal) #f))
|
||||
(s5-14 gp-14 s4-13 *temp-string*)
|
||||
)
|
||||
)
|
||||
@@ -2547,7 +2435,7 @@
|
||||
)
|
||||
(suspend)
|
||||
(when (>= 0.0 (ja-frame-num 0))
|
||||
(ja-no-eval :num! min)
|
||||
(ja-no-eval :num! zero)
|
||||
(goto cfg-12)
|
||||
)
|
||||
)
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
+1
-1
@@ -32,7 +32,7 @@
|
||||
;; definition of type pilot-info
|
||||
(deftype pilot-info (basic)
|
||||
((entity basic :offset-assert 4)
|
||||
(vehicle uint64 :offset-assert 8)
|
||||
(vehicle handle :offset-assert 8)
|
||||
(left-right-interp float :offset-assert 16)
|
||||
(front-back-interp float :offset-assert 20)
|
||||
(up-down-interp float :offset-assert 24)
|
||||
|
||||
+1
-1
@@ -3421,7 +3421,7 @@
|
||||
:borrow '()
|
||||
:open? #f
|
||||
:on-close #f
|
||||
:description (game-text-id text-x244)
|
||||
:description (game-text-id board-score-return-to-garage)
|
||||
)
|
||||
(new 'static 'game-task-node-info
|
||||
:level 'stadium
|
||||
|
||||
+31
-31
@@ -1399,37 +1399,37 @@
|
||||
|
||||
;; definition of type task-manager
|
||||
(deftype task-manager (process)
|
||||
((node-info game-task-node-info :offset-assert 128)
|
||||
(info task-manager-info :offset-assert 132)
|
||||
(lev-name symbol :offset-assert 136)
|
||||
(fail-on-death? symbol :offset-assert 140)
|
||||
(fail-now symbol :offset-assert 144)
|
||||
(retry-now symbol :offset-assert 148)
|
||||
(allow-fail symbol :offset-assert 152)
|
||||
(state-time time-frame :offset-assert 160)
|
||||
(count int16 :offset-assert 168)
|
||||
(max-count int16 :offset-assert 170)
|
||||
(sub-state uint32 :offset-assert 172)
|
||||
(slave handle 32 :offset-assert 176)
|
||||
(arrow handle :offset-assert 432)
|
||||
(link uint32 :offset-assert 440)
|
||||
(start-time time-frame :offset-assert 448)
|
||||
(total-time time-frame :offset-assert 456)
|
||||
(beep-time time-frame :offset-assert 464)
|
||||
(time-limit time-frame :offset-assert 472)
|
||||
(begin-pos vector :inline :offset-assert 480)
|
||||
(end-pos vector :inline :offset-assert 496)
|
||||
(data-int8 int8 32 :offset-assert 512)
|
||||
(data-int32 int32 32 :offset-assert 544)
|
||||
(data-float float 32 :offset-assert 672)
|
||||
(data-vector vector 32 :inline :offset-assert 800)
|
||||
(actor-group uint32 4 :offset-assert 1312)
|
||||
(minimap uint32 8 :offset-assert 1328)
|
||||
(hud handle 4 :offset-assert 1360)
|
||||
(hud-timer handle :offset 1360)
|
||||
(hud-counter handle :offset 1368)
|
||||
(sound-id sound-id 4 :offset-assert 1392)
|
||||
(intro-time time-frame :offset-assert 1408)
|
||||
((node-info game-task-node-info :offset-assert 128)
|
||||
(info task-manager-info :offset-assert 132)
|
||||
(lev-name symbol :offset-assert 136)
|
||||
(fail-on-death? symbol :offset-assert 140)
|
||||
(fail-now symbol :offset-assert 144)
|
||||
(retry-now symbol :offset-assert 148)
|
||||
(allow-fail symbol :offset-assert 152)
|
||||
(state-time time-frame :offset-assert 160)
|
||||
(count int16 :offset-assert 168)
|
||||
(max-count int16 :offset-assert 170)
|
||||
(sub-state uint32 :offset-assert 172)
|
||||
(slave handle 32 :offset-assert 176)
|
||||
(arrow handle :offset-assert 432)
|
||||
(link uint32 :offset-assert 440)
|
||||
(start-time time-frame :offset-assert 448)
|
||||
(total-time time-frame :offset-assert 456)
|
||||
(beep-time time-frame :offset-assert 464)
|
||||
(time-limit time-frame :offset-assert 472)
|
||||
(begin-pos vector :inline :offset-assert 480)
|
||||
(end-pos vector :inline :offset-assert 496)
|
||||
(data-int8 int8 32 :offset-assert 512)
|
||||
(data-int32 int32 32 :offset-assert 544)
|
||||
(data-float float 32 :offset-assert 672)
|
||||
(data-vector vector 32 :inline :offset-assert 800)
|
||||
(actor-group (pointer entity-actor) 4 :offset-assert 1312)
|
||||
(minimap uint32 8 :offset-assert 1328)
|
||||
(hud handle 4 :offset-assert 1360)
|
||||
(hud-timer handle :offset 1360)
|
||||
(hud-counter handle :offset 1368)
|
||||
(sound-id sound-id 4 :offset-assert 1392)
|
||||
(intro-time time-frame :offset-assert 1408)
|
||||
)
|
||||
:heap-base #x510
|
||||
:method-count-assert 23
|
||||
|
||||
+1
-1
@@ -1969,7 +1969,7 @@
|
||||
(set! (-> obj minimap v1-8) (the-as uint #f))
|
||||
)
|
||||
(countdown (v1-11 4)
|
||||
(set! (-> obj actor-group v1-11) (the-as uint #f))
|
||||
(set! (-> obj actor-group v1-11) (the-as (pointer entity-actor) #f))
|
||||
)
|
||||
(set! (-> obj fail-now) #f)
|
||||
(set! (-> obj retry-now) #f)
|
||||
|
||||
Generated
Vendored
+410
@@ -0,0 +1,410 @@
|
||||
;;-*-Lisp-*-
|
||||
(in-package goal)
|
||||
|
||||
;; definition for method 15 of type hud-moneybag
|
||||
;; WARN: Return type mismatch int vs none.
|
||||
(defmethod draw hud-moneybag ((obj hud-moneybag))
|
||||
(set-hud-piece-position!
|
||||
(the-as hud-sprite (-> obj sprites))
|
||||
(the int (+ 462.0 (* 130.0 (-> obj offset))))
|
||||
210
|
||||
)
|
||||
(format (clear (-> obj strings 0 text)) "~D" (-> obj values 0 current))
|
||||
(set-as-offset-from! (the-as hud-sprite (-> obj strings 0 pos)) (the-as vector4w (-> obj sprites)) -25 25)
|
||||
((method-of-type hud draw) obj)
|
||||
0
|
||||
(none)
|
||||
)
|
||||
|
||||
;; definition for method 16 of type hud-moneybag
|
||||
;; WARN: Return type mismatch int vs none.
|
||||
(defmethod update-values hud-moneybag ((obj hud-moneybag))
|
||||
(set! (-> obj values 0 target) (the int (-> *game-info* counter)))
|
||||
((method-of-type hud update-values) obj)
|
||||
0
|
||||
(none)
|
||||
)
|
||||
|
||||
;; definition for method 17 of type hud-moneybag
|
||||
;; WARN: Return type mismatch int vs none.
|
||||
(defmethod init-callback hud-moneybag ((obj hud-moneybag))
|
||||
(set! (-> obj level) (level-get *level* 'ctywide))
|
||||
(set! (-> obj gui-id)
|
||||
(add-process *gui-control* obj (gui-channel hud-middle-right) (gui-action hidden) (-> obj name) 81920.0 0)
|
||||
)
|
||||
(logior! (-> obj flags) (hud-flags show))
|
||||
(set! (-> obj sprites 0 tex) (lookup-texture-by-id (new 'static 'texture-id :index #x7 :page #x679)))
|
||||
(set! (-> obj sprites 0 flags) (the-as uint 4))
|
||||
(set! (-> obj sprites 0 scale-x) 1.2)
|
||||
(set! (-> obj sprites 0 scale-y) 1.2)
|
||||
(alloc-string-if-needed obj 0)
|
||||
(set! (-> obj strings 0 scale) 0.6)
|
||||
(set! (-> obj strings 0 flags) (font-flags kerning middle large))
|
||||
0
|
||||
(none)
|
||||
)
|
||||
|
||||
;; failed to figure out what this is:
|
||||
(defskelgroup skel-krew-collection-item krew-moneybag 0 3
|
||||
((1 (meters 999999)))
|
||||
:bounds (static-spherem 0 0 0 4)
|
||||
:shadow 2
|
||||
)
|
||||
|
||||
;; definition of type krew-collection-item
|
||||
(deftype krew-collection-item (process-drawable)
|
||||
()
|
||||
:heap-base #x50
|
||||
:method-count-assert 23
|
||||
:size-assert #xc8
|
||||
:flag-assert #x17005000c8
|
||||
(:methods
|
||||
(idle () _type_ :state 20)
|
||||
(die () _type_ :state 21)
|
||||
(find-ground (_type_) symbol 22)
|
||||
)
|
||||
)
|
||||
|
||||
;; definition for method 3 of type krew-collection-item
|
||||
(defmethod inspect krew-collection-item ((obj krew-collection-item))
|
||||
(when (not obj)
|
||||
(set! obj obj)
|
||||
(goto cfg-4)
|
||||
)
|
||||
(let ((t9-0 (method-of-type process-drawable inspect)))
|
||||
(t9-0 obj)
|
||||
)
|
||||
(label cfg-4)
|
||||
obj
|
||||
)
|
||||
|
||||
;; definition for method 22 of type krew-collection-item
|
||||
;; INFO: Used lq/sq
|
||||
(defmethod find-ground krew-collection-item ((obj krew-collection-item))
|
||||
(let ((s4-0 #f))
|
||||
(let ((gp-0 (new 'stack-no-clear 'collide-query-with-2vec)))
|
||||
(set! (-> gp-0 vec quad) (-> obj root trans quad))
|
||||
(set! (-> gp-0 cquery start-pos quad) (-> gp-0 vec quad))
|
||||
(vector-reset! (-> gp-0 vec2))
|
||||
(set! (-> gp-0 vec2 y) 1.0)
|
||||
(set-vector! (-> gp-0 cquery move-dist) 0.0 -40960.0 0.0 1.0)
|
||||
(let ((v1-5 (-> gp-0 cquery)))
|
||||
(set! (-> v1-5 radius) 1024.0)
|
||||
(set! (-> v1-5 collide-with) (collide-spec backgnd))
|
||||
(set! (-> v1-5 ignore-process0) #f)
|
||||
(set! (-> v1-5 ignore-process1) #f)
|
||||
(set! (-> v1-5 ignore-pat) (new 'static 'pat-surface :noentity #x1 :nojak #x1 :probe #x1 :noendlessfall #x1))
|
||||
(set! (-> v1-5 action-mask) (collide-action solid))
|
||||
)
|
||||
(let ((f0-6 (fill-and-probe-using-line-sphere *collide-cache* (-> gp-0 cquery))))
|
||||
(when (>= f0-6 0.0)
|
||||
(vector+float*! (-> gp-0 vec) (-> gp-0 cquery start-pos) (-> gp-0 cquery move-dist) f0-6)
|
||||
(set! (-> gp-0 vec2 quad) (-> gp-0 cquery best-other-tri normal quad))
|
||||
(set! (-> gp-0 vec y) (+ 4915.2 (-> gp-0 vec y)))
|
||||
(set! s4-0 #t)
|
||||
(format #t "krew-collection-item::find-ground: ground y ~M~%" (-> gp-0 vec y))
|
||||
)
|
||||
)
|
||||
(set! (-> obj root trans quad) (-> gp-0 vec quad))
|
||||
(forward-up-nopitch->quaternion (-> obj root quat) (new 'static 'vector :z 1.0 :w 1.0) (-> gp-0 vec2))
|
||||
)
|
||||
s4-0
|
||||
)
|
||||
)
|
||||
|
||||
;; failed to figure out what this is:
|
||||
(defstate idle (krew-collection-item)
|
||||
:virtual #t
|
||||
:trans (behavior ()
|
||||
(let ((v1-0 *target*)
|
||||
(gp-0 (new 'stack-no-clear 'vector))
|
||||
)
|
||||
(when v1-0
|
||||
(set! (-> gp-0 quad) (-> v1-0 control trans quad))
|
||||
(set! (-> gp-0 w) 4096.0)
|
||||
(when (logtest? (focus-status pilot) (-> v1-0 focus-status))
|
||||
(let ((a1-4 (handle->process (-> v1-0 pilot vehicle))))
|
||||
(set! (-> gp-0 quad)
|
||||
(-> (the-as collide-shape (-> (the-as process-drawable a1-4) root)) root-prim prim-core world-sphere quad)
|
||||
)
|
||||
)
|
||||
)
|
||||
(let ((f0-1 (vector-vector-distance-squared (-> self root trans) gp-0))
|
||||
(f1-1 (+ 12288.0 (-> gp-0 w)))
|
||||
)
|
||||
(when (>= (* f1-1 f1-1) f0-1)
|
||||
(sound-play "skill-pickup")
|
||||
(set! (-> *game-info* counter) (+ -1.0 (-> *game-info* counter)))
|
||||
(go-virtual die)
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
(none)
|
||||
)
|
||||
:code (behavior ()
|
||||
(let ((gp-0 (new 'stack-no-clear 'task-arrow-params)))
|
||||
(let ((v1-0 (new 'stack-no-clear 'vector)))
|
||||
(set! (-> v1-0 quad) (-> self root trans quad))
|
||||
(set! (-> v1-0 y) (+ -6144.0 (-> v1-0 y)))
|
||||
(set! (-> gp-0 pos quad) (-> v1-0 quad))
|
||||
)
|
||||
(quaternion-identity! (-> gp-0 quat))
|
||||
(set! (-> gp-0 flags) (task-arrow-flags))
|
||||
(set! (-> gp-0 map-icon) (the-as uint 15))
|
||||
(task-arrow-spawn gp-0 (the-as task-arrow self))
|
||||
)
|
||||
(until #f
|
||||
(ja-no-eval :group! (ja-group)
|
||||
:num! (seek! (the float (+ (-> (ja-group) frames num-frames) -1)))
|
||||
:frame-num 0.0
|
||||
)
|
||||
(until (ja-done? 0)
|
||||
(suspend)
|
||||
(ja :num! (seek!))
|
||||
)
|
||||
)
|
||||
#f
|
||||
(none)
|
||||
)
|
||||
:post (the-as (function none :behavior krew-collection-item) ja-post)
|
||||
)
|
||||
|
||||
;; failed to figure out what this is:
|
||||
(defstate die (krew-collection-item)
|
||||
:virtual #t
|
||||
:code (behavior ()
|
||||
(cleanup-for-death self)
|
||||
(none)
|
||||
)
|
||||
)
|
||||
|
||||
;; definition for function krew-collection-item-init-by-other
|
||||
;; INFO: Used lq/sq
|
||||
;; WARN: Return type mismatch object vs krew-collection-item.
|
||||
(defbehavior krew-collection-item-init-by-other krew-collection-item ((arg0 vector))
|
||||
(set! (-> self level) (level-get *level* 'lsack))
|
||||
(set! (-> self root) (new 'process 'trsqv))
|
||||
(set! (-> self root trans quad) (-> arg0 quad))
|
||||
(quaternion-identity! (-> self root quat))
|
||||
(set-vector! (-> self root scale) 3.0 3.0 3.0 1.0)
|
||||
(initialize-skeleton
|
||||
self
|
||||
(the-as
|
||||
skeleton-group
|
||||
(art-group-get-by-name *level* "skel-krew-collection-item" (the-as (pointer uint32) #f))
|
||||
)
|
||||
(the-as pair 0)
|
||||
)
|
||||
(if (-> self draw shadow)
|
||||
(set! (-> self draw shadow-ctrl)
|
||||
(new 'process 'shadow-control -12288.0 12288.0 614400.0 (shadow-flags shdf00 shdf04) 245760.0)
|
||||
)
|
||||
)
|
||||
(the-as krew-collection-item (go-virtual idle))
|
||||
)
|
||||
|
||||
;; definition for function krew-collection-item-spawn
|
||||
;; WARN: Return type mismatch process vs krew-collection-item.
|
||||
(defun krew-collection-item-spawn ((arg0 process) (arg1 vector))
|
||||
(let ((gp-0 (the-as process #f)))
|
||||
(let ((v1-1 (process-spawn krew-collection-item arg1 :to arg0)))
|
||||
(if v1-1
|
||||
(set! gp-0 (-> v1-1 0))
|
||||
)
|
||||
)
|
||||
(the-as krew-collection-item gp-0)
|
||||
)
|
||||
)
|
||||
|
||||
;; failed to figure out what this is:
|
||||
(set-subtask-hook!
|
||||
*game-info*
|
||||
73
|
||||
0
|
||||
(lambda :behavior task-manager
|
||||
()
|
||||
(set! (-> self begin-pos quad) (-> (new 'static 'vector :x -245760.0 :y 45056.0 :z 5468160.0 :w 1.0) quad))
|
||||
(set-setting! 'exclusive-task #f 0 (-> self node-info task))
|
||||
(let ((gp-0 *traffic-manager*)
|
||||
(s5-0 (new 'stack 'traffic-object-spawn-params))
|
||||
)
|
||||
(set! (-> s5-0 position quad) (-> self begin-pos quad))
|
||||
(quaternion-axis-angle! (-> s5-0 rotation) 0.0 1.0 0.0 16384.0)
|
||||
(set! (-> s5-0 object-type) (the-as uint 13))
|
||||
(set! (-> s5-0 behavior) (the-as uint 0))
|
||||
(set! (-> s5-0 id) (the-as uint 0))
|
||||
(set! (-> s5-0 proc) #f)
|
||||
(send-event gp-0 'spawn-object s5-0)
|
||||
)
|
||||
(set! (-> self start-time) 0)
|
||||
(set! (-> self count) -1)
|
||||
(set! (-> self max-count) 14)
|
||||
(set! (-> self data-vector 0 quad)
|
||||
(-> (new 'static 'vector :x 1282048.0 :y 37925.273 :z 5492736.0 :w 1.0) quad)
|
||||
)
|
||||
(set! (-> self data-vector 1 quad)
|
||||
(-> (new 'static 'vector :x 2392064.0 :y 23235.379 :z 5980160.0 :w 1.0) quad)
|
||||
)
|
||||
(set! (-> self data-vector 2 quad)
|
||||
(-> (new 'static 'vector :x 3231744.0 :y 38680.984 :z 4788224.0 :w 1.0) quad)
|
||||
)
|
||||
(set! (-> self data-vector 3 quad)
|
||||
(-> (new 'static 'vector :x 3829760.0 :y 38680.984 :z 3682304.0 :w 1.0) quad)
|
||||
)
|
||||
(set! (-> self data-vector 4 quad)
|
||||
(-> (new 'static 'vector :x 4325376.0 :y 38680.984 :z 2564096.0 :w 1.0) quad)
|
||||
)
|
||||
(set! (-> self data-vector 5 quad)
|
||||
(-> (new 'static 'vector :x 4014080.0 :y 38680.984 :z 1822720.0 :w 1.0) quad)
|
||||
)
|
||||
(set! (-> self data-vector 6 quad)
|
||||
(-> (new 'static 'vector :x 3698688.0 :y 38680.984 :z 1728512.0 :w 1.0) quad)
|
||||
)
|
||||
(set! (-> self data-vector 7 quad)
|
||||
(-> (new 'static 'vector :x 3792896.0 :y 38680.984 :z 2387968.0 :w 1.0) quad)
|
||||
)
|
||||
(set! (-> self data-vector 8 quad)
|
||||
(-> (new 'static 'vector :x 4616192.0 :y 38680.984 :z 2863104.0 :w 1.0) quad)
|
||||
)
|
||||
(set! (-> self data-vector 9 quad)
|
||||
(-> (new 'static 'vector :x 3633152.0 :y 38680.984 :z 3477504.0 :w 1.0) quad)
|
||||
)
|
||||
(set! (-> self data-vector 10 quad)
|
||||
(-> (new 'static 'vector :x 3993600.0 :y 38680.984 :z 4378624.0 :w 1.0) quad)
|
||||
)
|
||||
(set! (-> self data-vector 11 quad)
|
||||
(-> (new 'static 'vector :x 3112960.0 :y 23472.947 :z 5390336.0 :w 1.0) quad)
|
||||
)
|
||||
(set! (-> self data-vector 12 quad)
|
||||
(-> (new 'static 'vector :x 1789952.0 :y 37616.027 :z 5455872.0 :w 1.0) quad)
|
||||
)
|
||||
(set! (-> self data-vector 13 quad)
|
||||
(-> (new 'static 'vector :x 237568.0 :y 37541.477 :z 5439488.0 :w 1.0) quad)
|
||||
)
|
||||
(set! (-> self data-int32 0) #x2904)
|
||||
(set! (-> self data-int32 1) 9000)
|
||||
(set! (-> self data-int32 2) 9000)
|
||||
(set! (-> self data-int32 3) 9000)
|
||||
(set! (-> self data-int32 4) 9000)
|
||||
(set! (-> self data-int32 5) 9000)
|
||||
(set! (-> self data-int32 6) 3000)
|
||||
(set! (-> self data-int32 7) 6000)
|
||||
(set! (-> self data-int32 8) 9000)
|
||||
(set! (-> self data-int32 9) 9000)
|
||||
(set! (-> self data-int32 10) 9000)
|
||||
(set! (-> self data-int32 11) 9000)
|
||||
(set! (-> self data-int32 12) 7500)
|
||||
(set! (-> self data-int32 13) 7500)
|
||||
(let ((f0-1 (the float (-> self max-count))))
|
||||
(set! (-> *game-info* counter) f0-1)
|
||||
(the-as object f0-1)
|
||||
)
|
||||
)
|
||||
)
|
||||
|
||||
;; failed to figure out what this is:
|
||||
(set-subtask-hook!
|
||||
*game-info*
|
||||
73
|
||||
1
|
||||
(lambda :behavior task-manager () (send-event *traffic-manager* 'restore-default-settings))
|
||||
)
|
||||
|
||||
;; failed to figure out what this is:
|
||||
(set-subtask-hook!
|
||||
*game-info*
|
||||
73
|
||||
2
|
||||
(lambda :behavior task-manager
|
||||
()
|
||||
(check-time self)
|
||||
(when (>= (-> self count) 0)
|
||||
(cond
|
||||
((handle->process (-> self slave 0))
|
||||
#f
|
||||
)
|
||||
(else
|
||||
(let ((gp-0 (-> self count)))
|
||||
(cond
|
||||
((< gp-0 (-> self max-count))
|
||||
(let ((a0-6 (krew-collection-item-spawn self (-> self data-vector gp-0))))
|
||||
(when a0-6
|
||||
(set! (-> self slave 0) (process->handle a0-6))
|
||||
(set! (-> self time-limit) (the-as time-frame (-> self data-int32 gp-0)))
|
||||
(set! (-> self start-time) (-> self clock frame-counter))
|
||||
(let ((v0-1 (the-as object (+ (-> self count) 1))))
|
||||
(set! (-> self count) (the-as int v0-1))
|
||||
v0-1
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
(else
|
||||
(go-virtual complete)
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
|
||||
;; failed to figure out what this is:
|
||||
(set-subtask-hook!
|
||||
*game-info*
|
||||
73
|
||||
3
|
||||
(lambda :behavior task-manager
|
||||
()
|
||||
(local-vars (v1-2 symbol))
|
||||
(until (or v1-2 (and *target* (logtest? (focus-status pilot) (-> *target* focus-status))))
|
||||
(suspend)
|
||||
(let ((f0-0 122880.0))
|
||||
(set! v1-2 (< (* f0-0 f0-0) (vector-vector-distance-squared (-> self begin-pos) (target-pos 0))))
|
||||
)
|
||||
)
|
||||
(set-setting! 'airlock #f 0 0)
|
||||
(set! (-> self count) 0)
|
||||
(set! (-> self hud-counter)
|
||||
(ppointer->handle (process-spawn hud-moneybag :init hud-init-by-other :to *target*))
|
||||
)
|
||||
(send-event *traffic-manager* 'set-target-level #x3f800000)
|
||||
(set! (-> self state-time) (-> self clock frame-counter))
|
||||
(while (< (- (-> self clock frame-counter) (-> self state-time)) (seconds 5))
|
||||
(suspend)
|
||||
)
|
||||
(send-event *traffic-manager* 'set-alert-level 2)
|
||||
(send-event *traffic-manager* 'set-alert-duration #xa4cb80)
|
||||
)
|
||||
)
|
||||
|
||||
;; failed to figure out what this is:
|
||||
(set-subtask-hook!
|
||||
*game-info*
|
||||
73
|
||||
5
|
||||
(lambda :behavior task-manager () (the-as object (kill-all-children self)))
|
||||
)
|
||||
|
||||
;; failed to figure out what this is:
|
||||
(set-subtask-hook!
|
||||
*game-info*
|
||||
73
|
||||
4
|
||||
(lambda :behavior task-manager
|
||||
()
|
||||
(send-event *traffic-manager* 'decrease-alert-level 0)
|
||||
(send-event *traffic-manager* 'set-alert-duration 9000)
|
||||
(set! (-> self state-time) (-> self clock frame-counter))
|
||||
(while (< (- (-> self clock frame-counter) (-> self state-time)) (seconds 2))
|
||||
(suspend)
|
||||
)
|
||||
(the-as object (talker-spawn-func (-> *talker-speech* 88) *entity-pool* (target-pos 0) (the-as region #f)))
|
||||
)
|
||||
)
|
||||
|
||||
|
||||
|
||||
|
||||
+1597
File diff suppressed because it is too large
Load Diff
+59
-140
@@ -84,7 +84,7 @@
|
||||
(training-manager-method-27 (_type_ (array tpath-info)) symbol 27)
|
||||
(training-manager-method-28 (_type_) none 28)
|
||||
(training-manager-method-29 (_type_ vector) vector 29)
|
||||
(training-manager-method-30 (_type_ game-text-id) float 30)
|
||||
(render-text (_type_ game-text-id) float 30)
|
||||
(training-manager-method-31 (_type_) none 31)
|
||||
(training-manager-method-32 (_type_) none 32)
|
||||
)
|
||||
@@ -278,7 +278,7 @@
|
||||
)
|
||||
|
||||
;; definition for method 30 of type training-manager
|
||||
(defmethod training-manager-method-30 training-manager ((obj training-manager) (arg0 game-text-id))
|
||||
(defmethod render-text training-manager ((obj training-manager) (arg0 game-text-id))
|
||||
(when (= (get-status *gui-control* (-> obj gui-id)) (gui-status active))
|
||||
(let ((s5-1 (new
|
||||
'stack
|
||||
@@ -347,7 +347,7 @@
|
||||
(suspend)
|
||||
)
|
||||
(until (cpad-pressed? 0 r1)
|
||||
(training-manager-method-30 self (game-text-id text-x22b))
|
||||
(render-text self (game-text-id gungame-tutorial-fire-button))
|
||||
(suspend)
|
||||
)
|
||||
(set! (-> self last-sound-id)
|
||||
@@ -367,7 +367,7 @@
|
||||
)
|
||||
(when *target*
|
||||
(while (logtest? (focus-status gun) (-> *target* focus-status))
|
||||
(training-manager-method-30 self (game-text-id text-x22c))
|
||||
(render-text self (game-text-id gungame-tutorial-put-red-away))
|
||||
(suspend)
|
||||
)
|
||||
)
|
||||
@@ -381,7 +381,7 @@
|
||||
(suspend)
|
||||
)
|
||||
(while (or (not *target*) (zero? (logand (focus-status gun) (-> *target* focus-status))))
|
||||
(training-manager-method-30 self (game-text-id text-x22d))
|
||||
(render-text self (game-text-id gungame-tutorial-take-red-out))
|
||||
(suspend)
|
||||
)
|
||||
(set! (-> self last-sound-id)
|
||||
@@ -399,7 +399,7 @@
|
||||
)
|
||||
(let ((gp-2 (training-manager-method-26 self)))
|
||||
(while (= (training-manager-method-26 self) gp-2)
|
||||
(training-manager-method-30 self (game-text-id text-x234))
|
||||
(render-text self (game-text-id gungame-tutorial-shoot-the-crates))
|
||||
(suspend)
|
||||
)
|
||||
)
|
||||
@@ -558,7 +558,7 @@
|
||||
)
|
||||
a1-1
|
||||
)
|
||||
(training-manager-method-30 self (game-text-id gungame-red-prompt))
|
||||
(render-text self (game-text-id gungame-prompt-red))
|
||||
)
|
||||
)
|
||||
)
|
||||
@@ -680,7 +680,7 @@
|
||||
)
|
||||
a1-2
|
||||
)
|
||||
(training-manager-method-30 self (game-text-id gungame-yellow-prompt))
|
||||
(render-text self (game-text-id gungame-prompt-yellow))
|
||||
)
|
||||
)
|
||||
)
|
||||
@@ -944,8 +944,8 @@
|
||||
)
|
||||
)
|
||||
(if (logtest? (-> *game-info* secrets) (game-secrets gungame-blue))
|
||||
(training-manager-method-30 self (game-text-id gungame-red-or-blue-prompt))
|
||||
(training-manager-method-30 self (game-text-id gungame-red-prompt))
|
||||
(render-text self (game-text-id gungame-prompt-red-or-blue))
|
||||
(render-text self (game-text-id gungame-prompt-red))
|
||||
)
|
||||
(b! #t cfg-30 :delay (nop!))
|
||||
(label cfg-19)
|
||||
@@ -964,8 +964,8 @@
|
||||
(task-node-closed? (game-task-node city-yellow-gun-training-resolution))
|
||||
)
|
||||
(if (logtest? (-> *game-info* secrets) (game-secrets gungame-dark))
|
||||
(training-manager-method-30 self (game-text-id gungame-yellow-or-purple-prompt))
|
||||
(training-manager-method-30 self (game-text-id gungame-yellow-prompt))
|
||||
(render-text self (game-text-id gungame-prompt-yellow-or-purple))
|
||||
(render-text self (game-text-id gungame-prompt-yellow))
|
||||
)
|
||||
)
|
||||
)
|
||||
@@ -1089,7 +1089,7 @@
|
||||
)
|
||||
(let ((gp-2 (-> *game-info* gun-type)))
|
||||
(until (!= gp-2 (-> *game-info* gun-type))
|
||||
(training-manager-method-30 self (game-text-id text-x230))
|
||||
(render-text self (game-text-id gungame-tutorial-switch-to-yellow))
|
||||
(suspend)
|
||||
)
|
||||
)
|
||||
@@ -1112,7 +1112,7 @@
|
||||
)
|
||||
)
|
||||
(until #f
|
||||
(training-manager-method-30 self (game-text-id text-x233))
|
||||
(render-text self (game-text-id gungame-tutorial-kick-combo))
|
||||
(suspend)
|
||||
(when (and (not (handle->process (-> self dummies 0))) (not (handle->process (-> self dummies 1))))
|
||||
#t
|
||||
@@ -1345,15 +1345,7 @@
|
||||
(gp-1 (the-as hud (clear (-> (the-as hud gp-0) strings 1 text))))
|
||||
(s4-0 "~S")
|
||||
)
|
||||
(let* ((s3-0 format)
|
||||
(s2-0 (clear *temp-string*))
|
||||
(a0-7 *common-text*)
|
||||
(t9-4 (method-of-object a0-7 lookup-text!))
|
||||
(a1-2 566)
|
||||
(a2-0 #f)
|
||||
)
|
||||
(s3-0 s2-0 (t9-4 a0-7 (the-as game-text-id a1-2) a2-0) (the-as none a2-0))
|
||||
)
|
||||
(format (clear *temp-string*) (lookup-text! *common-text* (game-text-id highscore-text-gold) #f))
|
||||
(s5-1 gp-1 s4-0 *temp-string*)
|
||||
)
|
||||
)
|
||||
@@ -1363,15 +1355,7 @@
|
||||
(gp-2 (the-as hud (clear (-> (the-as hud gp-0) strings 1 text))))
|
||||
(s4-1 "~S")
|
||||
)
|
||||
(let* ((s3-1 format)
|
||||
(s2-1 (clear *temp-string*))
|
||||
(a0-12 *common-text*)
|
||||
(t9-9 (method-of-object a0-12 lookup-text!))
|
||||
(a1-5 566)
|
||||
(a2-2 #f)
|
||||
)
|
||||
(s3-1 s2-1 (t9-9 a0-12 (the-as game-text-id a1-5) a2-2) (the-as none a2-2))
|
||||
)
|
||||
(format (clear *temp-string*) (lookup-text! *common-text* (game-text-id highscore-text-gold) #f))
|
||||
(s5-2 gp-2 s4-1 *temp-string*)
|
||||
)
|
||||
)
|
||||
@@ -1381,15 +1365,7 @@
|
||||
(gp-3 (the-as hud (clear (-> (the-as hud gp-0) strings 1 text))))
|
||||
(s4-2 "~S")
|
||||
)
|
||||
(let* ((s3-2 format)
|
||||
(s2-2 (clear *temp-string*))
|
||||
(a0-17 *common-text*)
|
||||
(t9-14 (method-of-object a0-17 lookup-text!))
|
||||
(a1-8 567)
|
||||
(a2-4 #f)
|
||||
)
|
||||
(s3-2 s2-2 (t9-14 a0-17 (the-as game-text-id a1-8) a2-4) (the-as none a2-4))
|
||||
)
|
||||
(format (clear *temp-string*) (lookup-text! *common-text* (game-text-id highscore-text-silver) #f))
|
||||
(s5-3 gp-3 s4-2 *temp-string*)
|
||||
)
|
||||
)
|
||||
@@ -1399,15 +1375,7 @@
|
||||
(gp-4 (the-as hud (clear (-> (the-as hud gp-0) strings 1 text))))
|
||||
(s4-3 "~S")
|
||||
)
|
||||
(let* ((s3-3 format)
|
||||
(s2-3 (clear *temp-string*))
|
||||
(a0-22 *common-text*)
|
||||
(t9-19 (method-of-object a0-22 lookup-text!))
|
||||
(a1-11 568)
|
||||
(a2-6 #f)
|
||||
)
|
||||
(s3-3 s2-3 (t9-19 a0-22 (the-as game-text-id a1-11) a2-6) (the-as none a2-6))
|
||||
)
|
||||
(format (clear *temp-string*) (lookup-text! *common-text* (game-text-id highscore-text-bronze) #f))
|
||||
(s5-4 gp-4 s4-3 *temp-string*)
|
||||
)
|
||||
)
|
||||
@@ -1421,15 +1389,7 @@
|
||||
(gp-5 (the-as hud (clear (-> (the-as hud gp-0) strings 1 text))))
|
||||
(s4-4 "~S")
|
||||
)
|
||||
(let* ((s3-4 format)
|
||||
(s2-4 (clear *temp-string*))
|
||||
(a0-28 *common-text*)
|
||||
(t9-25 (method-of-object a0-28 lookup-text!))
|
||||
(a1-14 566)
|
||||
(a2-8 #f)
|
||||
)
|
||||
(s3-4 s2-4 (t9-25 a0-28 (the-as game-text-id a1-14) a2-8) (the-as none a2-8))
|
||||
)
|
||||
(format (clear *temp-string*) (lookup-text! *common-text* (game-text-id highscore-text-gold) #f))
|
||||
(s5-5 gp-5 s4-4 *temp-string*)
|
||||
)
|
||||
)
|
||||
@@ -1439,15 +1399,7 @@
|
||||
(gp-6 (the-as hud (clear (-> (the-as hud gp-0) strings 1 text))))
|
||||
(s4-5 "~S")
|
||||
)
|
||||
(let* ((s3-5 format)
|
||||
(s2-5 (clear *temp-string*))
|
||||
(a0-33 *common-text*)
|
||||
(t9-30 (method-of-object a0-33 lookup-text!))
|
||||
(a1-17 567)
|
||||
(a2-10 #f)
|
||||
)
|
||||
(s3-5 s2-5 (t9-30 a0-33 (the-as game-text-id a1-17) a2-10) (the-as none a2-10))
|
||||
)
|
||||
(format (clear *temp-string*) (lookup-text! *common-text* (game-text-id highscore-text-silver) #f))
|
||||
(s5-6 gp-6 s4-5 *temp-string*)
|
||||
)
|
||||
)
|
||||
@@ -1457,15 +1409,7 @@
|
||||
(gp-7 (the-as hud (clear (-> (the-as hud gp-0) strings 1 text))))
|
||||
(s4-6 "~S")
|
||||
)
|
||||
(let* ((s3-6 format)
|
||||
(s2-6 (clear *temp-string*))
|
||||
(a0-38 *common-text*)
|
||||
(t9-35 (method-of-object a0-38 lookup-text!))
|
||||
(a1-20 567)
|
||||
(a2-12 #f)
|
||||
)
|
||||
(s3-6 s2-6 (t9-35 a0-38 (the-as game-text-id a1-20) a2-12) (the-as none a2-12))
|
||||
)
|
||||
(format (clear *temp-string*) (lookup-text! *common-text* (game-text-id highscore-text-silver) #f))
|
||||
(s5-7 gp-7 s4-6 *temp-string*)
|
||||
)
|
||||
)
|
||||
@@ -1481,15 +1425,7 @@
|
||||
(gp-8 (the-as hud (clear (-> (the-as hud gp-0) strings 1 text))))
|
||||
(s4-7 "~S")
|
||||
)
|
||||
(let* ((s3-7 format)
|
||||
(s2-7 (clear *temp-string*))
|
||||
(a0-45 *common-text*)
|
||||
(t9-42 (method-of-object a0-45 lookup-text!))
|
||||
(a1-23 566)
|
||||
(a2-14 #f)
|
||||
)
|
||||
(s3-7 s2-7 (t9-42 a0-45 (the-as game-text-id a1-23) a2-14) (the-as none a2-14))
|
||||
)
|
||||
(format (clear *temp-string*) (lookup-text! *common-text* (game-text-id highscore-text-gold) #f))
|
||||
(s5-8 gp-8 s4-7 *temp-string*)
|
||||
)
|
||||
)
|
||||
@@ -1499,15 +1435,7 @@
|
||||
(gp-9 (the-as hud (clear (-> (the-as hud gp-0) strings 1 text))))
|
||||
(s4-8 "~S")
|
||||
)
|
||||
(let* ((s3-8 format)
|
||||
(s2-8 (clear *temp-string*))
|
||||
(a0-50 *common-text*)
|
||||
(t9-47 (method-of-object a0-50 lookup-text!))
|
||||
(a1-26 566)
|
||||
(a2-16 #f)
|
||||
)
|
||||
(s3-8 s2-8 (t9-47 a0-50 (the-as game-text-id a1-26) a2-16) (the-as none a2-16))
|
||||
)
|
||||
(format (clear *temp-string*) (lookup-text! *common-text* (game-text-id highscore-text-gold) #f))
|
||||
(s5-9 gp-9 s4-8 *temp-string*)
|
||||
)
|
||||
)
|
||||
@@ -1519,15 +1447,7 @@
|
||||
(gp-10 (the-as hud (clear (-> (the-as hud gp-0) strings 1 text))))
|
||||
(s4-9 "~S")
|
||||
)
|
||||
(let* ((s3-9 format)
|
||||
(s2-9 (clear *temp-string*))
|
||||
(a0-55 *common-text*)
|
||||
(t9-52 (method-of-object a0-55 lookup-text!))
|
||||
(a1-29 566)
|
||||
(a2-18 #f)
|
||||
)
|
||||
(s3-9 s2-9 (t9-52 a0-55 (the-as game-text-id a1-29) a2-18) (the-as none a2-18))
|
||||
)
|
||||
(format (clear *temp-string*) (lookup-text! *common-text* (game-text-id highscore-text-gold) #f))
|
||||
(s5-10 gp-10 s4-9 *temp-string*)
|
||||
)
|
||||
)
|
||||
@@ -1537,15 +1457,7 @@
|
||||
(gp-11 (the-as hud (clear (-> (the-as hud gp-0) strings 1 text))))
|
||||
(s4-10 "~S")
|
||||
)
|
||||
(let* ((s3-10 format)
|
||||
(s2-10 (clear *temp-string*))
|
||||
(a0-60 *common-text*)
|
||||
(t9-57 (method-of-object a0-60 lookup-text!))
|
||||
(a1-32 566)
|
||||
(a2-20 #f)
|
||||
)
|
||||
(s3-10 s2-10 (t9-57 a0-60 (the-as game-text-id a1-32) a2-20) (the-as none a2-20))
|
||||
)
|
||||
(format (clear *temp-string*) (lookup-text! *common-text* (game-text-id highscore-text-gold) #f))
|
||||
(s5-11 gp-11 s4-10 *temp-string*)
|
||||
)
|
||||
)
|
||||
@@ -1555,15 +1467,7 @@
|
||||
(gp-12 (the-as hud (clear (-> (the-as hud gp-0) strings 1 text))))
|
||||
(s4-11 "~S")
|
||||
)
|
||||
(let* ((s3-11 format)
|
||||
(s2-11 (clear *temp-string*))
|
||||
(a0-65 *common-text*)
|
||||
(t9-62 (method-of-object a0-65 lookup-text!))
|
||||
(a1-35 567)
|
||||
(a2-22 #f)
|
||||
)
|
||||
(s3-11 s2-11 (t9-62 a0-65 (the-as game-text-id a1-35) a2-22) (the-as none a2-22))
|
||||
)
|
||||
(format (clear *temp-string*) (lookup-text! *common-text* (game-text-id highscore-text-silver) #f))
|
||||
(s5-12 gp-12 s4-11 *temp-string*)
|
||||
)
|
||||
)
|
||||
@@ -1573,15 +1477,7 @@
|
||||
(gp-13 (the-as hud (clear (-> (the-as hud gp-0) strings 1 text))))
|
||||
(s4-12 "~S")
|
||||
)
|
||||
(let* ((s3-12 format)
|
||||
(s2-12 (clear *temp-string*))
|
||||
(a0-70 *common-text*)
|
||||
(t9-67 (method-of-object a0-70 lookup-text!))
|
||||
(a1-38 568)
|
||||
(a2-24 #f)
|
||||
)
|
||||
(s3-12 s2-12 (t9-67 a0-70 (the-as game-text-id a1-38) a2-24) (the-as none a2-24))
|
||||
)
|
||||
(format (clear *temp-string*) (lookup-text! *common-text* (game-text-id highscore-text-bronze) #f))
|
||||
(s5-13 gp-13 s4-12 *temp-string*)
|
||||
)
|
||||
)
|
||||
@@ -1591,15 +1487,7 @@
|
||||
(gp-14 (clear (-> (the-as hud gp-0) strings 1 text)))
|
||||
(s4-13 "~S")
|
||||
)
|
||||
(let* ((s3-13 format)
|
||||
(s2-13 (clear *temp-string*))
|
||||
(a0-75 *common-text*)
|
||||
(t9-72 (method-of-object a0-75 lookup-text!))
|
||||
(a1-41 565)
|
||||
(a2-26 #f)
|
||||
)
|
||||
(s3-13 s2-13 (t9-72 a0-75 (the-as game-text-id a1-41) a2-26) (the-as none a2-26))
|
||||
)
|
||||
(format (clear *temp-string*) (lookup-text! *common-text* (game-text-id highscore-text-goal) #f))
|
||||
(s5-14 gp-14 s4-13 *temp-string*)
|
||||
)
|
||||
)
|
||||
@@ -2638,6 +2526,37 @@
|
||||
(set! (-> self close-sound) (sound-play "door-close-all"))
|
||||
(none)
|
||||
)
|
||||
:code (behavior ()
|
||||
(let ((gp-0 #t))
|
||||
(until #f
|
||||
(cond
|
||||
((gungame-door-method-23 self)
|
||||
(if gp-0
|
||||
(sound-play "door-stopped")
|
||||
)
|
||||
(sound-pause (-> self close-sound))
|
||||
(set! gp-0 #f)
|
||||
)
|
||||
(else
|
||||
(if (not gp-0)
|
||||
(sound-continue (-> self close-sound))
|
||||
)
|
||||
(set! gp-0 #t)
|
||||
(ja :num! (seek! 0.0))
|
||||
)
|
||||
)
|
||||
(suspend)
|
||||
(when (>= 0.0 (ja-frame-num 0))
|
||||
(ja-no-eval :num! zero)
|
||||
(goto cfg-12)
|
||||
)
|
||||
)
|
||||
)
|
||||
#f
|
||||
(label cfg-12)
|
||||
(go-virtual idle)
|
||||
(none)
|
||||
)
|
||||
:post (the-as (function none :behavior gungame-door) transform-post)
|
||||
)
|
||||
|
||||
|
||||
+2033
File diff suppressed because it is too large
Load Diff
@@ -40,6 +40,7 @@
|
||||
"DGO/LBOMBBOT.DGO",
|
||||
"DGO/LERLCHAL.DGO",
|
||||
"DGO/LKIDDOGE.DGO",
|
||||
"DGO/LSACK.DGO",
|
||||
"DGO/MCN.DGO",
|
||||
"DGO/MTN.DGO",
|
||||
"DGO/NEB.DGO",
|
||||
@@ -269,7 +270,6 @@
|
||||
"skip_compile_states": {
|
||||
"(idle process-taskable)": ["event"],
|
||||
"(impact gun-dark-shot)": ["code"],
|
||||
"(target-gun-stance target)": ["code"],
|
||||
"(close gungame-door)": ["code"] // ja macro
|
||||
"(target-gun-stance target)": ["code"]
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user