mirror of
https://github.com/open-goal/jak-project
synced 2026-09-08 11:56:11 -04:00
[jak3] game-score decomp cleanup, track minigame rank in autosplitter instead of task status (#4409)
The current autosplit options for side missions that track bronze/gold/silver don't actually work (other than the explicit gold options I added in #4398). This reworks these to track the player's best rank in these missions (0=unranked, 1=bronze, 2=silver, 3=gold), and I have the [corresponding autosplitter script changes](https://github.com/open-goal/speedrunning/pull/35) to split when reaching gold (rank 3). Should be okay to repurpose some of these autosplitter fields since we haven't cut a release using them yet. Along the way I filled out the `game-score` enum, made use of this enum in place of uints throughout the code, and renamed things for a few related `game-info` methods.
This commit is contained in:
@@ -11254,25 +11254,25 @@
|
||||
|
||||
;; +++settings-h:game-score
|
||||
(defenum game-score
|
||||
:type uint64
|
||||
:type uint8
|
||||
(none)
|
||||
(gs0)
|
||||
(gs1)
|
||||
(gs2)
|
||||
(gs3)
|
||||
(gs4)
|
||||
(gs5)
|
||||
(gs6)
|
||||
(gs7)
|
||||
(gs8)
|
||||
(gs9)
|
||||
(gs10)
|
||||
(gs11)
|
||||
(gs12)
|
||||
(gs13)
|
||||
(gs14)
|
||||
(gs15)
|
||||
(gs16)
|
||||
(neo-sat-game)
|
||||
(turtle-race)
|
||||
(snake-race)
|
||||
(snake-air-time)
|
||||
(snake-total-air-time)
|
||||
(snake-jump-distance)
|
||||
(snake-total-jump-distance)
|
||||
(snake-roll-count)
|
||||
(wascity-gungame-1)
|
||||
(hoverboard)
|
||||
(gungame-1)
|
||||
(gungame-2)
|
||||
(gungame-3)
|
||||
(gungame-4)
|
||||
(power-game)
|
||||
(destroy-interceptors)
|
||||
(arena-training)
|
||||
(gs17)
|
||||
(gs18)
|
||||
(gs19)
|
||||
@@ -17676,11 +17676,11 @@
|
||||
(you-suck-stage (_type_ symbol int) int) ;; 24
|
||||
(you-suck-scale (_type_ symbol int) float) ;; 25
|
||||
(get-next-attack-id! (_type_) uint) ;; 26
|
||||
(game-info-method-27 (_type_ game-score float) int) ;; 27
|
||||
(get-game-score-ref (_type_ int) (pointer float)) ;; 28
|
||||
(game-info-method-29 (_type_ int) int) ;; 29
|
||||
(get-highscore-rank (_type_ int float) int) ;; 30
|
||||
(game-info-method-31 (_type_ int int) float) ;; 31
|
||||
(update-high-score! (_type_ game-score float) int) ;; 27
|
||||
(get-game-score-ref (_type_ game-score) (pointer float)) ;; 28
|
||||
(get-best-rank (_type_ game-score) int) ;; 29
|
||||
(get-rank-for-score (_type_ game-score float) int) ;; 30
|
||||
(get-goal-for-rank (_type_ game-score int) float) ;; 31
|
||||
(calculate-percentage (_type_) float) ;; 32
|
||||
(inc-death-count! (_type_) none) ;; 33
|
||||
(get-max-ammo-for-gun (_type_ pickup-type) float) ;; 34
|
||||
@@ -28463,7 +28463,7 @@
|
||||
(deftype highscore-page-info (structure)
|
||||
((text text-id :offset-assert 0)
|
||||
(secret game-secrets :offset-assert 8)
|
||||
(game-score uint8 :offset-assert 16)
|
||||
(game-score game-score :offset-assert 16)
|
||||
(icon uint32 :offset-assert 20)
|
||||
(icon-scalex float :offset-assert 24)
|
||||
(icon-scaley float :offset-assert 28)
|
||||
@@ -48157,7 +48157,7 @@
|
||||
(been-out-of-turret? symbol :offset-assert 436)
|
||||
(won? symbol :offset-assert 440)
|
||||
(lost? symbol :offset-assert 444)
|
||||
(game-score uint8 :offset-assert 448)
|
||||
(game-score game-score :offset-assert 448)
|
||||
(task-gold uint16 :offset-assert 450)
|
||||
(task-silver uint16 :offset-assert 452)
|
||||
(task-bronze uint16 :offset-assert 454)
|
||||
@@ -52827,7 +52827,7 @@
|
||||
(hud-score handle :offset-assert 312)
|
||||
(hud-goal handle :offset-assert 320)
|
||||
(squad-manager handle :offset 336)
|
||||
(game-score uint8 :offset-assert 344)
|
||||
(game-score game-score :offset-assert 344)
|
||||
(last-cup uint8 :offset-assert 345)
|
||||
(goal-cup uint8 :offset-assert 346)
|
||||
(new-high-score symbol :offset-assert 348)
|
||||
@@ -66101,7 +66101,7 @@
|
||||
)
|
||||
|
||||
(deftype task-manager-bbush-time-trial-1 (task-manager-race)
|
||||
((game-score uint8 :offset-assert 280)
|
||||
((game-score game-score :offset-assert 280)
|
||||
(hud-goal handle :offset-assert 288)
|
||||
)
|
||||
:method-count-assert 39
|
||||
@@ -66123,7 +66123,7 @@
|
||||
)
|
||||
|
||||
(deftype task-manager-bbush-rally (task-manager-race)
|
||||
((game-score uint8 :offset-assert 280)
|
||||
((game-score game-score :offset-assert 280)
|
||||
(hud-goal handle :offset-assert 288)
|
||||
)
|
||||
:method-count-assert 39
|
||||
@@ -68147,7 +68147,7 @@
|
||||
(task-bronze game-task-node :offset-assert 20)
|
||||
(task-silver game-task-node :offset 22)
|
||||
(task-gold game-task-node :offset 24)
|
||||
(game-score uint8 :offset 26)
|
||||
(game-score game-score :offset 26)
|
||||
(pass-speech uint16 :offset-assert 28)
|
||||
(training-goal float :offset-assert 32)
|
||||
(allowed-guns game-feature :offset-assert 40)
|
||||
@@ -68198,7 +68198,7 @@
|
||||
(task-bronze game-task-node :offset 428)
|
||||
(end-door uint8 :offset 430)
|
||||
(start-door uint8 :offset-assert 431)
|
||||
(game-score uint8 :offset-assert 432)
|
||||
(game-score game-score :offset-assert 432)
|
||||
(training-goal float :offset-assert 436)
|
||||
(training? symbol :offset-assert 440)
|
||||
(state-time time-frame :offset-assert 448)
|
||||
@@ -70409,7 +70409,7 @@
|
||||
(challenge-done symbol :offset-assert 244)
|
||||
(hud-score handle :offset-assert 248)
|
||||
(hud-goal handle :offset-assert 256)
|
||||
(game-score uint8 :offset-assert 264)
|
||||
(game-score game-score :offset-assert 264)
|
||||
(new-high-score symbol :offset-assert 268)
|
||||
(goal-cup uint8 :offset-assert 272)
|
||||
(last-cup uint8 :offset-assert 273)
|
||||
|
||||
@@ -2179,5 +2179,13 @@
|
||||
"vars": {
|
||||
"v0-0": ["flag", "pilrec-sample-flag"]
|
||||
}
|
||||
},
|
||||
"(method 29 game-info)": {
|
||||
"vars": {
|
||||
"gp-0": "best-rank",
|
||||
"s4-0": "score-goals",
|
||||
"s3-0": "player-scores",
|
||||
"s5-0": "player-rank-counts"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -10,7 +10,7 @@
|
||||
(declare-type nav-mesh basic)
|
||||
(declare-type nav-branch structure)
|
||||
|
||||
;; +++traffic-h:traffic-spawn-flags
|
||||
;; +++traffic-spawn-flags
|
||||
(defenum traffic-spawn-flags
|
||||
:type uint32
|
||||
:bitfield #t
|
||||
@@ -32,9 +32,9 @@
|
||||
(tsf15 15)
|
||||
(tsf16 16)
|
||||
)
|
||||
;; ---traffic-h:traffic-spawn-flags
|
||||
;; ---traffic-spawn-flags
|
||||
|
||||
;; +++traffic-h:traffic-type
|
||||
;; +++traffic-type
|
||||
(defenum traffic-type
|
||||
:type uint8
|
||||
(civilian-male 0)
|
||||
@@ -70,7 +70,7 @@
|
||||
(invalid0 -1)
|
||||
(invalid #xffffffff)
|
||||
)
|
||||
;; ---traffic-h:traffic-type
|
||||
;; ---traffic-type
|
||||
|
||||
(define-extern traffic-start (function none))
|
||||
(define-extern traffic-kill (function none))
|
||||
|
||||
@@ -19,6 +19,7 @@
|
||||
|
||||
;; the `joint-mod-base` was added in jak 3.
|
||||
|
||||
;; +++joint-mod-mode
|
||||
(defenum joint-mod-mode
|
||||
:bitfield #t
|
||||
:type uint32
|
||||
@@ -36,8 +37,9 @@
|
||||
(foot-rot)
|
||||
(joint-set-world)
|
||||
)
|
||||
;; ---joint-mod-mode
|
||||
|
||||
;; +++joint-mod-h:track-mode
|
||||
;; +++track-mode
|
||||
(defenum track-mode
|
||||
:bitfield #t
|
||||
:type uint16
|
||||
@@ -49,8 +51,9 @@
|
||||
(no-rotate 5) ;; 32
|
||||
(no-scale 6) ;; 64
|
||||
)
|
||||
;; ---joint-mod-h:track-mode
|
||||
;; ---track-mode
|
||||
|
||||
;; +++joint-mod-ik-flags
|
||||
(defenum joint-mod-ik-flags
|
||||
:bitfield #t
|
||||
:type uint32
|
||||
@@ -58,6 +61,7 @@
|
||||
(elbow-trans-neg)
|
||||
(elbow-rot-neg)
|
||||
)
|
||||
;; ---joint-mod-ik-flags
|
||||
|
||||
(defenum joint-mod-base-flags
|
||||
:bitfield #t
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
;; name in dgo: nav-mesh-editor-h
|
||||
;; dgos: GAME
|
||||
|
||||
;; +++nav-mesh-editor-h:nav-mesh-poly-flag
|
||||
;; +++nav-mesh-poly-flag
|
||||
(defenum nav-mesh-poly-flag
|
||||
:type uint32
|
||||
:bitfield #t
|
||||
@@ -14,15 +14,15 @@
|
||||
(nmpf2 2)
|
||||
(user0 3)
|
||||
)
|
||||
;; ---nav-mesh-editor-h:nav-mesh-poly-flag
|
||||
;; ---nav-mesh-poly-flag
|
||||
|
||||
;; +++nav-mesh-editor-h:nav-mesh-editable-flag
|
||||
;; +++nav-mesh-editable-flag
|
||||
(defenum nav-mesh-editable-flag
|
||||
:type uint32
|
||||
:bitfield #t
|
||||
(nmef0 0)
|
||||
)
|
||||
;; ---nav-mesh-editor-h:nav-mesh-editable-flag
|
||||
;; ---nav-mesh-editable-flag
|
||||
|
||||
(declare-type nav-mesh-editable structure)
|
||||
|
||||
|
||||
@@ -72,7 +72,7 @@
|
||||
)
|
||||
;; ---mysql-save-flag
|
||||
|
||||
;; +++mysql-nav-graph:nav-minimap-edge-flag
|
||||
;; +++nav-minimap-edge-flag
|
||||
(defenum nav-minimap-edge-flag
|
||||
"This string value is stored in their SQL database"
|
||||
:type int32
|
||||
@@ -85,7 +85,7 @@
|
||||
(pass-indb-sluma 5)
|
||||
(pass-slumb-genb 6)
|
||||
)
|
||||
;; ---mysql-nav-graph:nav-minimap-edge-flag
|
||||
;; ---nav-minimap-edge-flag
|
||||
|
||||
|
||||
(declare-type mysql-nav-edge structure)
|
||||
|
||||
@@ -435,11 +435,11 @@
|
||||
(you-suck-stage (_type_ symbol int) int)
|
||||
(you-suck-scale (_type_ symbol int) float)
|
||||
(get-next-attack-id! (_type_) uint)
|
||||
(game-info-method-27 (_type_ game-score float) int)
|
||||
(get-game-score-ref (_type_ int) (pointer float))
|
||||
(game-info-method-29 (_type_ int) int)
|
||||
(get-highscore-rank (_type_ int float) int)
|
||||
(game-info-method-31 (_type_ int int) float)
|
||||
(update-high-score! (_type_ game-score float) int)
|
||||
(get-game-score-ref (_type_ game-score) (pointer float))
|
||||
(get-best-rank (_type_ game-score) int)
|
||||
(get-rank-for-score (_type_ game-score float) int)
|
||||
(get-goal-for-rank (_type_ game-score int) float)
|
||||
(calculate-percentage (_type_) float)
|
||||
(inc-death-count! (_type_) none)
|
||||
(get-max-ammo-for-gun (_type_ pickup-type) float)
|
||||
|
||||
@@ -1856,7 +1856,7 @@
|
||||
(format #t "~Tscore:~%")
|
||||
(format #t "~T~T--------------------~%")
|
||||
(dotimes (s4-3 18)
|
||||
(let ((v1-70 (get-game-score-ref this s4-3))
|
||||
(let ((v1-70 (get-game-score-ref this (the-as game-score s4-3)))
|
||||
(t9-18 format)
|
||||
(a0-26 #t)
|
||||
(a1-24 "~T~T~-32S ~8,,0f ~8,,0f ~8,,0f~%")
|
||||
@@ -2016,43 +2016,43 @@
|
||||
0
|
||||
)
|
||||
|
||||
(defmethod get-game-score-ref ((this game-info) (arg0 int))
|
||||
(defmethod get-game-score-ref ((this game-info) (arg0 game-score))
|
||||
(&+ (-> this game-score data) (* (* arg0 8) 4))
|
||||
)
|
||||
|
||||
(defmethod game-info-method-29 ((this game-info) (arg0 int))
|
||||
(let ((gp-0 0))
|
||||
(let ((s4-0 (-> *highscore-info-array* arg0))
|
||||
(s3-0 (get-game-score-ref this arg0))
|
||||
(s5-0 (new 'stack-no-clear 'array 'int8 4))
|
||||
(defmethod get-best-rank ((this game-info) (arg0 game-score))
|
||||
(let ((best-rank 0))
|
||||
(let ((score-goals (-> *highscore-info-array* arg0))
|
||||
(player-scores (get-game-score-ref this arg0))
|
||||
(player-rank-counts (new 'stack-no-clear 'array 'int8 4))
|
||||
)
|
||||
(dotimes (v1-3 4)
|
||||
(set! (-> s5-0 v1-3) 0)
|
||||
(set! (-> player-rank-counts v1-3) 0)
|
||||
)
|
||||
(dotimes (s2-0 8)
|
||||
(let ((f0-0 (-> s3-0 s2-0)))
|
||||
(let ((f0-0 (-> player-scores s2-0)))
|
||||
(when (!= f0-0 0.0)
|
||||
(let ((v1-9 (get-rank s4-0 f0-0)))
|
||||
(+! (-> s5-0 v1-9) 1)
|
||||
(let ((v1-9 (get-rank score-goals f0-0)))
|
||||
(+! (-> player-rank-counts v1-9) 1)
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
(dotimes (v1-13 4)
|
||||
(if (> (-> s5-0 v1-13) 0)
|
||||
(set! gp-0 v1-13)
|
||||
(if (> (-> player-rank-counts v1-13) 0)
|
||||
(set! best-rank v1-13)
|
||||
)
|
||||
)
|
||||
)
|
||||
gp-0
|
||||
best-rank
|
||||
)
|
||||
)
|
||||
|
||||
(defmethod get-highscore-rank ((this game-info) (arg0 int) (arg1 float))
|
||||
(defmethod get-rank-for-score ((this game-info) (arg0 game-score) (arg1 float))
|
||||
(get-rank (-> *highscore-info-array* arg0) arg1)
|
||||
)
|
||||
|
||||
(defmethod game-info-method-31 ((this game-info) (arg0 int) (arg1 int))
|
||||
(defmethod get-goal-for-rank ((this game-info) (arg0 game-score) (arg1 int))
|
||||
(let ((highscore-arr (-> *highscore-info-array* arg0)))
|
||||
(case arg1
|
||||
((1 2 3)
|
||||
@@ -2153,7 +2153,7 @@
|
||||
)
|
||||
)
|
||||
|
||||
(defmethod game-info-method-27 ((this game-info) (arg0 game-score) (arg1 float))
|
||||
(defmethod update-high-score! ((this game-info) (arg0 game-score) (arg1 float))
|
||||
(when (!= arg1 0.0)
|
||||
(let ((v1-3 (&+ (-> this game-score data) (* (* arg0 8) 4))))
|
||||
(cond
|
||||
|
||||
@@ -16,7 +16,7 @@
|
||||
(define-extern on (function symbol process))
|
||||
(define-extern toggle-pause (function int))
|
||||
|
||||
;; +++main-h:collide-spec
|
||||
;; +++collide-spec
|
||||
(defenum collide-spec
|
||||
:bitfield #t
|
||||
:type uint32
|
||||
@@ -53,9 +53,9 @@
|
||||
(vehicle-mesh-no-block-use 30)
|
||||
(vehicle-sphere-no-probe 31)
|
||||
)
|
||||
;; ---main-h:collide-spec
|
||||
;; ---collide-spec
|
||||
|
||||
;; +++main-h:strip-lines-controls
|
||||
;; +++strip-lines-controls
|
||||
(defenum strip-lines-controls
|
||||
:type int64
|
||||
(none 0)
|
||||
@@ -73,9 +73,9 @@
|
||||
; (strips 256)
|
||||
; (frags 512)
|
||||
)
|
||||
;; ---main-h:strip-lines-controls
|
||||
;; ---strip-lines-controls
|
||||
|
||||
;; +++main-h:scene-controls
|
||||
;; +++scene-controls
|
||||
(defenum scene-controls
|
||||
:type int64
|
||||
:bitfield #t
|
||||
@@ -90,9 +90,9 @@
|
||||
(scene-controls-8)
|
||||
(display-controls)
|
||||
)
|
||||
;; ---main-h:scene-controls
|
||||
;; ---scene-controls
|
||||
|
||||
;; +++main-h:bot-marks-controls
|
||||
;; +++bot-marks-controls
|
||||
(defenum bot-marks-controls
|
||||
:type int64
|
||||
(all-off 0)
|
||||
@@ -113,9 +113,9 @@
|
||||
(bmc15 15)
|
||||
(bmc16 16)
|
||||
)
|
||||
;; ---main-h:bot-marks-controls
|
||||
;; ---bot-marks-controls
|
||||
|
||||
;; +++main-h:race-marks-controls
|
||||
;; +++race-marks-controls
|
||||
(defenum race-marks-controls
|
||||
:type int64
|
||||
(all-off 0)
|
||||
@@ -130,27 +130,27 @@
|
||||
(all-paths-on 255)
|
||||
(rmc2040 2040)
|
||||
)
|
||||
;; ---main-h:race-marks-controls
|
||||
;; ---race-marks-controls
|
||||
|
||||
;; +++main-h:race-selection
|
||||
;; +++race-selection
|
||||
(defenum race-selection
|
||||
:type int64
|
||||
(desertb-race-record 0)
|
||||
(rs1 1)
|
||||
(desrally-record 2)
|
||||
)
|
||||
;; ---main-h:race-selection
|
||||
;; ---race-selection
|
||||
|
||||
;; +++main-h:subdivide-setting
|
||||
;; +++subdivide-setting
|
||||
(defenum subdivide-setting
|
||||
:type int64
|
||||
(textured 0)
|
||||
(outline 1)
|
||||
(gouraud 2)
|
||||
(hack 3))
|
||||
;; ---main-h:subdivide-setting
|
||||
;; ---subdivide-setting
|
||||
|
||||
;; +++main-h:ocean-height-hack
|
||||
;; +++ocean-height-hack
|
||||
(defenum ocean-height-hack
|
||||
:type int64
|
||||
; (zero 1)
|
||||
@@ -160,7 +160,7 @@
|
||||
; (sewer-med 5)
|
||||
; (sewer-lo 6)
|
||||
)
|
||||
;; ---main-h:ocean-height-hack
|
||||
;; ---ocean-height-hack
|
||||
|
||||
(define-extern *progress-cheat* symbol)
|
||||
(define-extern *last-master-mode* symbol)
|
||||
|
||||
@@ -231,25 +231,25 @@
|
||||
|
||||
;; +++game-score
|
||||
(defenum game-score
|
||||
:type uint64
|
||||
:type uint8
|
||||
(none)
|
||||
(gs0)
|
||||
(gs1)
|
||||
(gs2)
|
||||
(gs3)
|
||||
(gs4)
|
||||
(gs5)
|
||||
(gs6)
|
||||
(gs7)
|
||||
(gs8)
|
||||
(gs9)
|
||||
(gs10)
|
||||
(gs11)
|
||||
(gs12)
|
||||
(gs13)
|
||||
(gs14)
|
||||
(gs15)
|
||||
(gs16)
|
||||
(neo-sat-game)
|
||||
(turtle-race)
|
||||
(snake-race)
|
||||
(snake-air-time)
|
||||
(snake-total-air-time)
|
||||
(snake-jump-distance)
|
||||
(snake-total-jump-distance)
|
||||
(snake-roll-count)
|
||||
(wascity-gungame-1)
|
||||
(hoverboard)
|
||||
(gungame-1)
|
||||
(gungame-2)
|
||||
(gungame-3)
|
||||
(gungame-4)
|
||||
(power-game)
|
||||
(destroy-interceptors)
|
||||
(arena-training)
|
||||
(gs17)
|
||||
(gs18)
|
||||
(gs19)
|
||||
|
||||
@@ -7,13 +7,13 @@
|
||||
|
||||
(define-extern art-group-load-check (function string kheap int art-group))
|
||||
|
||||
;; +++loader:spooler-flags
|
||||
;; +++spooler-flags
|
||||
(defenum spooler-flags
|
||||
:bitfield #t
|
||||
:type uint32
|
||||
(blackout-on-stall)
|
||||
)
|
||||
;; ---loader:spooler-flags
|
||||
;; ---spooler-flags
|
||||
|
||||
;; DECOMP BEGINS
|
||||
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
;; dgos: GAME
|
||||
|
||||
|
||||
;; +++rigid-body-h:rigid-body-flag
|
||||
;; +++rigid-body-flag
|
||||
(defenum rigid-body-flag
|
||||
:bitfield #t
|
||||
:type uint32
|
||||
@@ -17,9 +17,9 @@
|
||||
(debug 4)
|
||||
(blocker 5)
|
||||
)
|
||||
;; ---rigid-body-h:rigid-body-flag
|
||||
;; ---rigid-body-flag
|
||||
|
||||
;; +++rigid-body-h:rigid-body-object-flag
|
||||
;; +++rigid-body-object-flag
|
||||
(defenum rigid-body-object-flag
|
||||
:bitfield #t
|
||||
:type uint64
|
||||
@@ -68,7 +68,7 @@
|
||||
(nav-spheres 42)
|
||||
(idle-sound 43)
|
||||
)
|
||||
;; ---rigid-body-h:rigid-body-object-flag
|
||||
;; ---rigid-body-object-flag
|
||||
|
||||
(declare-type rigid-body-object basic)
|
||||
(declare-type rigid-body-queue-manager process)
|
||||
|
||||
@@ -1288,7 +1288,7 @@
|
||||
)
|
||||
(let ((f30-2 (+ 10.0 arg2 (-> s3-0 x)))
|
||||
(f28-2 (+ -10.0 arg2 (-> s3-0 z)))
|
||||
(s3-1 (get-game-score-ref *game-info* (the-as int (-> this game-score))))
|
||||
(s3-1 (get-game-score-ref *game-info* (-> this game-score)))
|
||||
)
|
||||
(set-scale! arg1 0.6)
|
||||
(adjust-font-origin-y arg0 arg1 0.03)
|
||||
|
||||
@@ -518,7 +518,7 @@
|
||||
(deftype highscore-page-info (structure)
|
||||
((text text-id)
|
||||
(secret game-secrets)
|
||||
(game-score uint8)
|
||||
(game-score game-score)
|
||||
(icon uint32)
|
||||
(icon-scalex float)
|
||||
(icon-scaley float)
|
||||
|
||||
@@ -693,7 +693,7 @@
|
||||
(new 'static 'menu-highscores-option :info (new 'static 'boxed-array :type highscore-page-info
|
||||
(new 'static 'highscore-page-info
|
||||
:text (text-id progress-highscores-satelite-game)
|
||||
:game-score #x1
|
||||
:game-score (game-score neo-sat-game)
|
||||
:icon #x48
|
||||
:icon-scalex 0.7
|
||||
:icon-scaley 0.7
|
||||
@@ -702,7 +702,7 @@
|
||||
)
|
||||
(new 'static 'highscore-page-info
|
||||
:text (text-id progress-highscores-racetrack-time-trial)
|
||||
:game-score #x2
|
||||
:game-score (game-score turtle-race)
|
||||
:icon #x10
|
||||
:icon-scalex 0.75
|
||||
:icon-scaley 0.75
|
||||
@@ -711,7 +711,7 @@
|
||||
)
|
||||
(new 'static 'highscore-page-info
|
||||
:text (text-id progress-highscores-wasteland-run)
|
||||
:game-score #x3
|
||||
:game-score (game-score snake-race)
|
||||
:icon #x11
|
||||
:icon-scalex 0.75
|
||||
:icon-scaley 0.75
|
||||
@@ -720,7 +720,7 @@
|
||||
)
|
||||
(new 'static 'highscore-page-info
|
||||
:text (text-id progress-highscores-single-hang-time)
|
||||
:game-score #x4
|
||||
:game-score (game-score snake-air-time)
|
||||
:icon #x11
|
||||
:icon-scalex 0.75
|
||||
:icon-scaley 0.75
|
||||
@@ -729,7 +729,7 @@
|
||||
)
|
||||
(new 'static 'highscore-page-info
|
||||
:text (text-id progress-highscores-total-hang-time)
|
||||
:game-score #x5
|
||||
:game-score (game-score snake-total-air-time)
|
||||
:icon #x11
|
||||
:icon-scalex 0.75
|
||||
:icon-scaley 0.75
|
||||
@@ -738,7 +738,7 @@
|
||||
)
|
||||
(new 'static 'highscore-page-info
|
||||
:text (text-id progress-highscores-single-distance)
|
||||
:game-score #x6
|
||||
:game-score (game-score snake-jump-distance)
|
||||
:icon #x11
|
||||
:icon-scalex 0.75
|
||||
:icon-scaley 0.75
|
||||
@@ -747,7 +747,7 @@
|
||||
)
|
||||
(new 'static 'highscore-page-info
|
||||
:text (text-id progress-highscores-total-distance)
|
||||
:game-score #x7
|
||||
:game-score (game-score snake-total-jump-distance)
|
||||
:icon #x11
|
||||
:icon-scalex 0.75
|
||||
:icon-scaley 0.75
|
||||
@@ -756,7 +756,7 @@
|
||||
)
|
||||
(new 'static 'highscore-page-info
|
||||
:text (text-id progress-highscores-roll-challenge)
|
||||
:game-score #x8
|
||||
:game-score (game-score snake-roll-count)
|
||||
:icon #x11
|
||||
:icon-scalex 0.75
|
||||
:icon-scaley 0.75
|
||||
@@ -765,7 +765,7 @@
|
||||
)
|
||||
(new 'static 'highscore-page-info
|
||||
:text (text-id progress-highscores-spargus-turret-game)
|
||||
:game-score #x9
|
||||
:game-score (game-score wascity-gungame-1)
|
||||
:icon #x49
|
||||
:icon-scalex 0.85
|
||||
:icon-scaley 0.85
|
||||
@@ -774,7 +774,7 @@
|
||||
)
|
||||
(new 'static 'highscore-page-info
|
||||
:text (text-id progress-highscores-jetboard-challenge)
|
||||
:game-score #xa
|
||||
:game-score (game-score hoverboard)
|
||||
:icon #x35
|
||||
:icon-scalex 1.0
|
||||
:icon-scaley 1.0
|
||||
@@ -783,7 +783,7 @@
|
||||
)
|
||||
(new 'static 'highscore-page-info
|
||||
:text (text-id progress-highscores-gun-yellow-2-course)
|
||||
:game-score #xb
|
||||
:game-score (game-score gungame-1)
|
||||
:icon #x28
|
||||
:icon-scalex 0.85
|
||||
:icon-scaley 0.85
|
||||
@@ -792,7 +792,7 @@
|
||||
)
|
||||
(new 'static 'highscore-page-info
|
||||
:text (text-id progress-highscores-gun-red-2-course)
|
||||
:game-score #xc
|
||||
:game-score (game-score gungame-2)
|
||||
:icon #x25
|
||||
:icon-scalex 0.85
|
||||
:icon-scaley 0.85
|
||||
@@ -802,7 +802,7 @@
|
||||
(new 'static 'highscore-page-info
|
||||
:text (text-id progress-highscores-ratchet-gun-course)
|
||||
:secret (game-secrets gungame-ratchet)
|
||||
:game-score #xd
|
||||
:game-score (game-score gungame-3)
|
||||
:icon #x47
|
||||
:icon-scalex 0.75
|
||||
:icon-scaley 0.75
|
||||
@@ -811,7 +811,7 @@
|
||||
(new 'static 'highscore-page-info
|
||||
:text (text-id progress-highscores-clank-gun-course)
|
||||
:secret (game-secrets gungame-ratchet)
|
||||
:game-score #xe
|
||||
:game-score (game-score gungame-4)
|
||||
:icon #x46
|
||||
:icon-scalex 0.7
|
||||
:icon-scaley 0.7
|
||||
@@ -820,7 +820,7 @@
|
||||
)
|
||||
(new 'static 'highscore-page-info
|
||||
:text (text-id progress-highscores-eco-grid-game)
|
||||
:game-score #xf
|
||||
:game-score (game-score power-game)
|
||||
:icon #x4a
|
||||
:icon-scalex 0.85
|
||||
:icon-scaley 0.85
|
||||
@@ -829,7 +829,7 @@
|
||||
)
|
||||
(new 'static 'highscore-page-info
|
||||
:text (text-id progress-highscores-marauder-challenge)
|
||||
:game-score #x10
|
||||
:game-score (game-score destroy-interceptors)
|
||||
:icon #x11
|
||||
:icon-scalex 0.75
|
||||
:icon-scaley 0.75
|
||||
|
||||
@@ -2728,7 +2728,7 @@
|
||||
(challenge-done symbol)
|
||||
(hud-score handle)
|
||||
(hud-goal handle)
|
||||
(game-score uint8)
|
||||
(game-score game-score)
|
||||
(new-high-score symbol)
|
||||
(goal-cup uint8)
|
||||
(last-cup uint8)
|
||||
@@ -2765,7 +2765,7 @@
|
||||
(t9-0 this)
|
||||
)
|
||||
(set-setting! 'airlock #f 0.0 0)
|
||||
(set! (-> this game-score) (the-as uint 10))
|
||||
(set! (-> this game-score) (game-score hoverboard))
|
||||
(set! (-> this hud-score) (the-as handle #f))
|
||||
(set! (-> this hud-goal) (the-as handle #f))
|
||||
(if (= (-> this hud-score) #f)
|
||||
@@ -2792,7 +2792,7 @@
|
||||
)
|
||||
)
|
||||
(set! (-> *game-info* goal)
|
||||
(game-info-method-31 *game-info* (the-as int (-> this game-score)) (the-as int (-> this goal-cup)))
|
||||
(get-goal-for-rank *game-info* (-> this game-score) (the-as int (-> this goal-cup)))
|
||||
)
|
||||
(let ((v1-14 (handle->process (-> this hud-goal))))
|
||||
(when v1-14
|
||||
@@ -2837,8 +2837,8 @@
|
||||
(defmethod task-manager-bbush-board-method-34 ((this task-manager-bbush-board) (arg0 float))
|
||||
(set! (-> this roll-back-task?) #t)
|
||||
(let* ((s2-0 (-> this game-score))
|
||||
(s4-0 (game-info-method-29 *game-info* (the-as int s2-0)))
|
||||
(t0-0 (get-highscore-rank *game-info* (the-as int s2-0) arg0))
|
||||
(s4-0 (get-best-rank *game-info* s2-0))
|
||||
(t0-0 (get-rank-for-score *game-info* s2-0 arg0))
|
||||
(s3-1 (max 0 (- t0-0 s4-0)))
|
||||
)
|
||||
(let ((t9-2 format)
|
||||
@@ -2850,58 +2850,58 @@
|
||||
a0-3
|
||||
a1-3
|
||||
(cond
|
||||
((= v1-4 7)
|
||||
((= v1-4 (game-score snake-total-jump-distance))
|
||||
"snake-total-jump-distance"
|
||||
)
|
||||
((= v1-4 5)
|
||||
((= v1-4 (game-score snake-total-air-time))
|
||||
"snake-total-air-time"
|
||||
)
|
||||
((= v1-4 10)
|
||||
((= v1-4 (game-score hoverboard))
|
||||
"hoverboard"
|
||||
)
|
||||
((= v1-4 12)
|
||||
((= v1-4 (game-score gungame-2))
|
||||
"gungame-2"
|
||||
)
|
||||
((= v1-4 17)
|
||||
((= v1-4 (game-score arena-training))
|
||||
"arena-training"
|
||||
)
|
||||
((= v1-4 8)
|
||||
((= v1-4 (game-score snake-roll-count))
|
||||
"snake-roll-count"
|
||||
)
|
||||
((= v1-4 14)
|
||||
((= v1-4 (game-score gungame-4))
|
||||
"gungame-4"
|
||||
)
|
||||
((= v1-4 6)
|
||||
((= v1-4 (game-score snake-jump-distance))
|
||||
"snake-jump-distance"
|
||||
)
|
||||
((= v1-4 13)
|
||||
((= v1-4 (game-score gungame-3))
|
||||
"gungame-3"
|
||||
)
|
||||
((= v1-4 4)
|
||||
((= v1-4 (game-score snake-air-time))
|
||||
"snake-air-time"
|
||||
)
|
||||
((= v1-4 9)
|
||||
((= v1-4 (game-score wascity-gungame-1))
|
||||
"wascity-gungame-1"
|
||||
)
|
||||
((zero? v1-4)
|
||||
((= v1-4 (game-score none))
|
||||
"none"
|
||||
)
|
||||
((= v1-4 15)
|
||||
((= v1-4 (game-score power-game))
|
||||
"power-game"
|
||||
)
|
||||
((= v1-4 3)
|
||||
((= v1-4 (game-score snake-race))
|
||||
"snake-race"
|
||||
)
|
||||
((= v1-4 1)
|
||||
((= v1-4 (game-score neo-sat-game))
|
||||
"neo-sat-game"
|
||||
)
|
||||
((= v1-4 16)
|
||||
((= v1-4 (game-score destroy-interceptors))
|
||||
"destroy-interceptors"
|
||||
)
|
||||
((= v1-4 11)
|
||||
((= v1-4 (game-score gungame-1))
|
||||
"gungame-1"
|
||||
)
|
||||
((= v1-4 2)
|
||||
((= v1-4 (game-score turtle-race))
|
||||
"turtle-race"
|
||||
)
|
||||
(else
|
||||
@@ -2914,7 +2914,7 @@
|
||||
s3-1
|
||||
)
|
||||
)
|
||||
(game-info-method-27 *game-info* (the-as game-score s2-0) arg0)
|
||||
(update-high-score! *game-info* s2-0 arg0)
|
||||
(let ((v1-7 (new 'static 'fact-info))
|
||||
(f30-0 (* (the float s3-1) (the float (-> this info user-count))))
|
||||
)
|
||||
@@ -2936,7 +2936,7 @@
|
||||
)
|
||||
)
|
||||
(else
|
||||
(let ((f0-5 (game-info-method-31 *game-info* (the-as int (-> this game-score)) (the-as int (-> this goal-cup)))))
|
||||
(let ((f0-5 (get-goal-for-rank *game-info* (-> this game-score) (the-as int (-> this goal-cup)))))
|
||||
(if (< arg0 f0-5)
|
||||
(send-event this 'fail)
|
||||
)
|
||||
@@ -2975,7 +2975,7 @@
|
||||
(while (send-event (handle->process (the-as handle gp-1)) 'waiting)
|
||||
(suspend)
|
||||
)
|
||||
(set! (-> self last-cup) (the-as uint (game-info-method-29 *game-info* (the-as int (-> self game-score)))))
|
||||
(set! (-> self last-cup) (the-as uint (get-best-rank *game-info* (-> self game-score))))
|
||||
(format #t "last-cup: ~d~%" (-> self last-cup))
|
||||
(set! (-> self goal-cup) (+ (-> self last-cup) 1))
|
||||
(suspend)
|
||||
|
||||
@@ -1593,21 +1593,21 @@
|
||||
((not (task-node-closed? (game-task-node city-power-game-resolution)))
|
||||
)
|
||||
((not (task-node-closed? (game-task-node city-power-game-bronze)))
|
||||
(when (>= f30-0 (game-info-method-31 *game-info* 15 1))
|
||||
(when (>= f30-0 (get-goal-for-rank *game-info* (game-score power-game) 1))
|
||||
(sound-play-by-spec (static-sound-spec "skill-pickup" :group 0 :fo-curve 1) (new-sound-id) (the-as vector #t))
|
||||
(script-eval '(birth-pickup ("power-game-player" "head") skill FACT_SUPER_SKILL_INC flags (suck-in)))
|
||||
(task-node-close! (game-task-node city-power-game-bronze) 'event)
|
||||
)
|
||||
)
|
||||
((not (task-node-closed? (game-task-node city-power-game-silver)))
|
||||
(when (>= f30-0 (game-info-method-31 *game-info* 15 2))
|
||||
(when (>= f30-0 (get-goal-for-rank *game-info* (game-score power-game) 2))
|
||||
(sound-play-by-spec (static-sound-spec "skill-pickup" :group 0 :fo-curve 1) (new-sound-id) (the-as vector #t))
|
||||
(script-eval '(birth-pickup ("power-game-player" "head") skill FACT_SUPER_SKILL_INC flags (suck-in)))
|
||||
(task-node-close! (game-task-node city-power-game-silver) 'event)
|
||||
)
|
||||
)
|
||||
((not (task-node-closed? (game-task-node city-power-game-gold)))
|
||||
(when (>= f30-0 (game-info-method-31 *game-info* 15 3))
|
||||
(when (>= f30-0 (get-goal-for-rank *game-info* (game-score power-game) 3))
|
||||
(sound-play-by-spec (static-sound-spec "skill-pickup" :group 0 :fo-curve 1) (new-sound-id) (the-as vector #t))
|
||||
(script-eval '(birth-pickup ("power-game-player" "head") skill FACT_SUPER_SKILL_INC flags (suck-in)))
|
||||
(task-node-close! (game-task-node city-power-game-gold) 'event)
|
||||
@@ -3260,7 +3260,7 @@
|
||||
)
|
||||
(when (not (and (-> self next-state) (= (-> self next-state name) 'active)))
|
||||
(format #t "score of ~f~%" (+ (-> self base-score) (-> self score)))
|
||||
(game-info-method-27 *game-info* (game-score gs14) (+ (-> self base-score) (-> self score)))
|
||||
(update-high-score! *game-info* (game-score power-game) (+ (-> self base-score) (-> self score)))
|
||||
)
|
||||
(remove-from-process *task-manager-engine* self)
|
||||
(remove-setting! 'music)
|
||||
|
||||
@@ -993,8 +993,8 @@
|
||||
)
|
||||
(let ((sv-32 -1))
|
||||
(when (nonzero? sv-16)
|
||||
(let ((gp-0 (game-info-method-29 *game-info* (the-as int sv-16)))
|
||||
(s5-0 (get-highscore-rank *game-info* (the-as int sv-16) sv-20))
|
||||
(let ((gp-0 (get-best-rank *game-info* (the-as game-score sv-16)))
|
||||
(s5-0 (get-rank-for-score *game-info* (the-as game-score sv-16) sv-20))
|
||||
)
|
||||
(let ((s4-0 (* (the-as uint (max 0 (- s5-0 gp-0))) (the-as uint (if (= sv-16 3)
|
||||
6
|
||||
@@ -1019,7 +1019,7 @@
|
||||
)
|
||||
)
|
||||
)
|
||||
(set! sv-32 (game-info-method-27 *game-info* (the-as game-score sv-16) sv-20))
|
||||
(set! sv-32 (update-high-score! *game-info* (the-as game-score sv-16) sv-20))
|
||||
;; og:preserve-this pass handle to race-manager for money-per-level tracking
|
||||
(give *game-info* 'skill (the float s4-0) (process->handle this))
|
||||
)
|
||||
|
||||
@@ -287,7 +287,7 @@
|
||||
(hud-score handle)
|
||||
(hud-goal handle)
|
||||
(squad-manager handle :offset 336)
|
||||
(game-score uint8)
|
||||
(game-score game-score)
|
||||
(last-cup uint8)
|
||||
(goal-cup uint8)
|
||||
(new-high-score symbol)
|
||||
@@ -324,9 +324,7 @@
|
||||
)
|
||||
)
|
||||
)
|
||||
(set! (-> this goal)
|
||||
(game-info-method-31 *game-info* (the-as int (-> this game-score)) (the-as int (-> this goal-cup)))
|
||||
)
|
||||
(set! (-> this goal) (get-goal-for-rank *game-info* (-> this game-score) (the-as int (-> this goal-cup))))
|
||||
(set! (-> gp-0 goal) (* (-> this display-units) (-> this goal)))
|
||||
(set! (-> gp-0 goal-cup) (-> this goal-cup))
|
||||
)
|
||||
@@ -449,11 +447,11 @@
|
||||
|
||||
(defmethod award-skill ((this task-manager-vehicle-bbush) (arg0 float))
|
||||
(let* ((s5-0 (-> this game-score))
|
||||
(s3-0 (game-info-method-29 *game-info* (the-as int s5-0)))
|
||||
(v1-2 (get-highscore-rank *game-info* (the-as int s5-0) arg0))
|
||||
(s3-0 (get-best-rank *game-info* s5-0))
|
||||
(v1-2 (get-rank-for-score *game-info* s5-0 arg0))
|
||||
(gp-1 (max 0 (- v1-2 s3-0)))
|
||||
)
|
||||
(game-info-method-27 *game-info* (the-as game-score s5-0) arg0)
|
||||
(update-high-score! *game-info* s5-0 arg0)
|
||||
;; og:preserve-this pass handle to task-manager for money-per-level tracking
|
||||
(give *game-info* 'skill (* (the float gp-1) (-> *FACT-bank* super-skill-inc)) (process->handle this))
|
||||
)
|
||||
@@ -473,7 +471,7 @@
|
||||
#f
|
||||
(label cfg-7)
|
||||
(set-setting! 'exclusive-task #f 0.0 (-> self node-info task))
|
||||
(set! (-> self last-cup) (the-as uint (game-info-method-29 *game-info* (the-as int (-> self game-score)))))
|
||||
(set! (-> self last-cup) (the-as uint (get-best-rank *game-info* (-> self game-score))))
|
||||
(set! (-> self goal-cup) (+ (-> self last-cup) 1))
|
||||
(task-manager-vehicle-bbush-method-34 self)
|
||||
(set! (-> self new-high-score) #f)
|
||||
@@ -573,7 +571,7 @@
|
||||
(call-parent-method this)
|
||||
(set! (-> this display-units) 0.0033333334)
|
||||
(set! (-> this time-limit) (seconds 30))
|
||||
(set! (-> this game-score) (the-as uint 4))
|
||||
(set! (-> this game-score) (game-score snake-air-time))
|
||||
(set! (-> *wasbbv-hud-info* score-text) (text-id text-0573))
|
||||
(none)
|
||||
)
|
||||
@@ -597,7 +595,7 @@
|
||||
(call-parent-method this)
|
||||
(set! (-> this display-units) 0.0033333334)
|
||||
(set! (-> this time-limit) (seconds 60))
|
||||
(set! (-> this game-score) (the-as uint 5))
|
||||
(set! (-> this game-score) (game-score snake-total-air-time))
|
||||
(set! (-> *wasbbv-hud-info* score-text) (text-id text-0078))
|
||||
(none)
|
||||
)
|
||||
@@ -622,7 +620,7 @@
|
||||
(call-parent-method this)
|
||||
(set! (-> this display-units) 0.00024414062)
|
||||
(set! (-> this time-limit) (seconds 30))
|
||||
(set! (-> this game-score) (the-as uint 6))
|
||||
(set! (-> this game-score) (game-score snake-jump-distance))
|
||||
(set! (-> *wasbbv-hud-info* score-text) (text-id your-distance))
|
||||
(set! (-> *wasbbv-hud-info* decimal-place-count) 1)
|
||||
(none)
|
||||
@@ -647,7 +645,7 @@
|
||||
(call-parent-method this)
|
||||
(set! (-> this display-units) 0.00024414062)
|
||||
(set! (-> this time-limit) (seconds 60))
|
||||
(set! (-> this game-score) (the-as uint 7))
|
||||
(set! (-> this game-score) (game-score snake-total-jump-distance))
|
||||
(set! (-> *wasbbv-hud-info* score-text) (text-id total-distance))
|
||||
(set! (-> *wasbbv-hud-info* decimal-place-count) 1)
|
||||
(none)
|
||||
@@ -674,7 +672,7 @@
|
||||
(call-parent-method this)
|
||||
(set! (-> this display-units) 1.0)
|
||||
(set! (-> this time-limit) (seconds 60))
|
||||
(set! (-> this game-score) (the-as uint 8))
|
||||
(set! (-> this game-score) (game-score snake-roll-count))
|
||||
(set! (-> this want-current-hud?) #f)
|
||||
(set! (-> *wasbbv-hud-info* score-text) (text-id total-rolls))
|
||||
(set! (-> *wasbbv-hud-info* decimal-place-count) 0)
|
||||
@@ -713,7 +711,7 @@
|
||||
(call-parent-method this)
|
||||
(set! (-> this display-units) 1.0)
|
||||
(set! (-> this time-limit) (seconds 120))
|
||||
(set! (-> this game-score) (the-as uint 16))
|
||||
(set! (-> this game-score) (game-score destroy-interceptors))
|
||||
(set! (-> this want-current-hud?) #f)
|
||||
(set! (-> this max-reserve-count) 1000)
|
||||
(set! (-> *wasbbv-hud-info* score-text) (text-id kills))
|
||||
|
||||
@@ -727,7 +727,7 @@
|
||||
)
|
||||
|
||||
(deftype task-manager-bbush-time-trial-1 (task-manager-race)
|
||||
((game-score uint8)
|
||||
((game-score game-score)
|
||||
(hud-goal handle)
|
||||
)
|
||||
)
|
||||
@@ -754,14 +754,12 @@
|
||||
:code (behavior ()
|
||||
(set! (-> self start-continue) (the-as continue-point "desertb-time-trial-start"))
|
||||
(set-setting! 'exclusive-task #f 0.0 (-> self node-info task))
|
||||
(set! (-> self game-score) (the-as uint 2))
|
||||
(let ((v1-6 (game-info-method-29 *game-info* (the-as int (-> self game-score))))
|
||||
(set! (-> self game-score) (game-score turtle-race))
|
||||
(let ((v1-6 (get-best-rank *game-info* (-> self game-score)))
|
||||
(gp-0 *bbush-time-trial-hud-info*)
|
||||
)
|
||||
(set! (-> gp-0 goal-cup) (the-as uint (+ v1-6 1)))
|
||||
(set! (-> gp-0 goal)
|
||||
(game-info-method-31 *game-info* (the-as int (-> self game-score)) (the-as int (-> gp-0 goal-cup)))
|
||||
)
|
||||
(set! (-> gp-0 goal) (get-goal-for-rank *game-info* (-> self game-score) (the-as int (-> gp-0 goal-cup))))
|
||||
)
|
||||
(set! (-> self hud-goal)
|
||||
(ppointer->handle
|
||||
@@ -840,7 +838,7 @@
|
||||
)
|
||||
|
||||
(deftype task-manager-bbush-rally (task-manager-race)
|
||||
((game-score uint8)
|
||||
((game-score game-score)
|
||||
(hud-goal handle)
|
||||
)
|
||||
)
|
||||
@@ -901,14 +899,12 @@
|
||||
:virtual #t
|
||||
:code (behavior ()
|
||||
(set! (-> self start-continue) (the-as continue-point "desrally-race-start"))
|
||||
(set! (-> self game-score) (the-as uint 3))
|
||||
(let ((v1-3 (game-info-method-29 *game-info* (the-as int (-> self game-score))))
|
||||
(set! (-> self game-score) (game-score snake-race))
|
||||
(let ((v1-3 (get-best-rank *game-info* (-> self game-score)))
|
||||
(gp-0 *bbush-time-trial-hud-info*)
|
||||
)
|
||||
(set! (-> gp-0 goal-cup) (the-as uint (+ v1-3 1)))
|
||||
(set! (-> gp-0 goal)
|
||||
(game-info-method-31 *game-info* (the-as int (-> self game-score)) (the-as int (-> gp-0 goal-cup)))
|
||||
)
|
||||
(set! (-> gp-0 goal) (get-goal-for-rank *game-info* (-> self game-score) (the-as int (-> gp-0 goal-cup))))
|
||||
)
|
||||
(set! (-> self hud-goal)
|
||||
(ppointer->handle
|
||||
|
||||
@@ -19,7 +19,7 @@
|
||||
(task-bronze game-task-node)
|
||||
(task-silver game-task-node :offset 22)
|
||||
(task-gold game-task-node :offset 24)
|
||||
(game-score uint8 :offset 26)
|
||||
(game-score game-score :offset 26)
|
||||
(pass-speech uint16)
|
||||
(training-goal float)
|
||||
(allowed-guns game-feature)
|
||||
@@ -65,7 +65,7 @@
|
||||
(task-bronze game-task-node :offset 428)
|
||||
(end-door uint8 :offset 430)
|
||||
(start-door uint8)
|
||||
(game-score uint8)
|
||||
(game-score game-score)
|
||||
(training-goal float)
|
||||
(training? symbol)
|
||||
(state-time time-frame)
|
||||
@@ -365,7 +365,7 @@
|
||||
|
||||
;; WARN: Return type mismatch object vs none.
|
||||
(defmethod update-hud-text ((this gungame-manager))
|
||||
(get-game-score-ref *game-info* (the-as int (-> this game-score)))
|
||||
(get-game-score-ref *game-info* (-> this game-score))
|
||||
(let ((gp-0 (the-as hud (handle->process (-> this hud-goal)))))
|
||||
(cond
|
||||
((not (task-node-closed? (-> this task-bronze)))
|
||||
@@ -537,10 +537,10 @@
|
||||
(set! (-> self hud-score)
|
||||
(ppointer->handle (process-spawn hud-big-score :init hud-init-by-other :name "hud-big-score" :to self))
|
||||
)
|
||||
(set! (-> self score-gold) (the int (game-info-method-31 *game-info* (the-as int (-> self game-score)) 3)))
|
||||
(set! (-> self score-silver) (the int (game-info-method-31 *game-info* (the-as int (-> self game-score)) 2)))
|
||||
(set! (-> self score-bronze) (the int (game-info-method-31 *game-info* (the-as int (-> self game-score)) 1)))
|
||||
(set! (-> self score-high) (the int (game-info-method-31 *game-info* (the-as int (-> self game-score)) 0)))
|
||||
(set! (-> self score-gold) (the int (get-goal-for-rank *game-info* (-> self game-score) 3)))
|
||||
(set! (-> self score-silver) (the int (get-goal-for-rank *game-info* (-> self game-score) 2)))
|
||||
(set! (-> self score-bronze) (the int (get-goal-for-rank *game-info* (-> self game-score) 1)))
|
||||
(set! (-> self score-high) (the int (get-goal-for-rank *game-info* (-> self game-score) 0)))
|
||||
(set! (-> self hud-goal)
|
||||
(ppointer->handle (process-spawn hud-goal :init hud-init-by-other :name "hud-goal" :to self))
|
||||
)
|
||||
@@ -620,7 +620,7 @@
|
||||
(logtest? (-> gp-1 flags) (tpath-flag t1))
|
||||
)
|
||||
(set! (-> self goal-amount) -1)
|
||||
(game-info-method-27 *game-info* (the-as game-score (-> self game-score)) (the float (-> self score)))
|
||||
(update-high-score! *game-info* (-> self game-score) (the float (-> self score)))
|
||||
(cond
|
||||
((and (-> self training?) (< (-> self score) (the int (-> self training-goal))))
|
||||
(go-virtual end-course-open-door)
|
||||
@@ -1267,7 +1267,7 @@
|
||||
:task-bronze (game-task-node city-gun-course-1-bronze)
|
||||
:task-silver (game-task-node city-gun-course-1-silver)
|
||||
:task-gold (game-task-node city-gun-course-1-gold)
|
||||
:game-score #xb
|
||||
:game-score (game-score gungame-1)
|
||||
:training-goal 10000.0
|
||||
:allowed-guns (game-feature gun-yellow-1 gun-yellow-2)
|
||||
:start-gun 30
|
||||
@@ -1285,7 +1285,7 @@
|
||||
:task-bronze (game-task-node city-gun-course-2-bronze)
|
||||
:task-silver (game-task-node city-gun-course-2-silver)
|
||||
:task-gold (game-task-node city-gun-course-2-gold)
|
||||
:game-score #xc
|
||||
:game-score (game-score gungame-2)
|
||||
:training-goal 11000.0
|
||||
:allowed-guns (game-feature gun-red-1 gun-red-2)
|
||||
:start-gun 27
|
||||
@@ -1303,7 +1303,7 @@
|
||||
:task-bronze (game-task-node city-gun-course-play-for-fun-bronze-rnc-1)
|
||||
:task-silver (game-task-node city-gun-course-play-for-fun-silver-rnc-1)
|
||||
:task-gold (game-task-node city-gun-course-play-for-fun-gold-rnc-1)
|
||||
:game-score #xd
|
||||
:game-score (game-score gungame-3)
|
||||
:training-goal -1.0
|
||||
:allowed-guns (game-feature gun-red-1 gun-red-2 gun-red-3 gun-yellow-1 gun-yellow-2 gun-yellow-3 gun-blue-1 gun-blue-2)
|
||||
:start-gun 30
|
||||
@@ -1321,7 +1321,7 @@
|
||||
:task-bronze (game-task-node city-gun-course-play-for-fun-bronze-rnc-2)
|
||||
:task-silver (game-task-node city-gun-course-play-for-fun-silver-rnc-2)
|
||||
:task-gold (game-task-node city-gun-course-play-for-fun-gold-rnc-2)
|
||||
:game-score #xe
|
||||
:game-score (game-score gungame-4)
|
||||
:training-goal -1.0
|
||||
:allowed-guns (game-feature gun-red-1 gun-red-2 gun-red-3 gun-yellow-1 gun-yellow-2 gun-yellow-3 gun-blue-1 gun-blue-2)
|
||||
:start-gun 27
|
||||
|
||||
@@ -2347,12 +2347,12 @@
|
||||
((not (task-node-closed? (game-task-node wascity-pre-game-resolution)))
|
||||
)
|
||||
((not (task-node-closed? (game-task-node wascity-pre-game-bronze)))
|
||||
(when (>= f30-0 (game-info-method-31 *game-info* 1 1))
|
||||
(when (>= f30-0 (get-goal-for-rank *game-info* (game-score neo-sat-game) 1))
|
||||
(sound-play-by-spec (static-sound-spec "skill-pickup" :group 0 :fo-curve 1) (new-sound-id) (the-as vector #t))
|
||||
;; og:preserve-this changed string from "power-game-2"
|
||||
(script-eval '(birth-pickup ("was-pre-game-2" "screen") skill FACT_SUPER_SKILL_INC flags (suck-in)))
|
||||
(task-node-close! (game-task-node wascity-pre-game-bronze) 'event)
|
||||
(set! (-> *game-info* goal) (game-info-method-31 *game-info* 1 2))
|
||||
(set! (-> *game-info* goal) (get-goal-for-rank *game-info* (game-score neo-sat-game) 2))
|
||||
(let ((v1-39 (the-as hud (handle->process (-> this hud-goal)))))
|
||||
(when v1-39
|
||||
(let ((gp-1 format)
|
||||
@@ -2367,12 +2367,12 @@
|
||||
)
|
||||
)
|
||||
((not (task-node-closed? (game-task-node wascity-pre-game-silver)))
|
||||
(when (>= f30-0 (game-info-method-31 *game-info* 1 2))
|
||||
(when (>= f30-0 (get-goal-for-rank *game-info* (game-score neo-sat-game) 2))
|
||||
(sound-play-by-spec (static-sound-spec "skill-pickup" :group 0 :fo-curve 1) (new-sound-id) (the-as vector #t))
|
||||
;; og:preserve-this changed string from "power-game-2"
|
||||
(script-eval '(birth-pickup ("was-pre-game-2" "screen") skill FACT_SUPER_SKILL_INC flags (suck-in)))
|
||||
(task-node-close! (game-task-node wascity-pre-game-silver) 'event)
|
||||
(set! (-> *game-info* goal) (game-info-method-31 *game-info* 1 3))
|
||||
(set! (-> *game-info* goal) (get-goal-for-rank *game-info* (game-score neo-sat-game) 3))
|
||||
(let ((v1-53 (the-as hud (handle->process (-> this hud-goal)))))
|
||||
(when v1-53
|
||||
(let ((gp-2 format)
|
||||
@@ -2387,7 +2387,7 @@
|
||||
)
|
||||
)
|
||||
((not (task-node-closed? (game-task-node wascity-pre-game-gold)))
|
||||
(when (>= f30-0 (game-info-method-31 *game-info* 1 3))
|
||||
(when (>= f30-0 (get-goal-for-rank *game-info* (game-score neo-sat-game) 3))
|
||||
(sound-play-by-spec (static-sound-spec "skill-pickup" :group 0 :fo-curve 1) (new-sound-id) (the-as vector #t))
|
||||
;; og:preserve-this changed string from "power-game-2"
|
||||
(script-eval '(birth-pickup ("was-pre-game-2" "screen") skill FACT_SUPER_SKILL_INC flags (suck-in)))
|
||||
@@ -2633,15 +2633,15 @@
|
||||
((< 0.0 (-> self point-win))
|
||||
)
|
||||
((not (task-node-closed? (game-task-node wascity-pre-game-bronze)))
|
||||
(set! (-> *game-info* goal) (game-info-method-31 *game-info* 1 1))
|
||||
(set! (-> *game-info* goal) (get-goal-for-rank *game-info* (game-score neo-sat-game) 1))
|
||||
(set! gp-5 (lookup-text! *common-text* (text-id text-0139) #f))
|
||||
)
|
||||
((not (task-node-closed? (game-task-node wascity-pre-game-silver)))
|
||||
(set! (-> *game-info* goal) (game-info-method-31 *game-info* 1 2))
|
||||
(set! (-> *game-info* goal) (get-goal-for-rank *game-info* (game-score neo-sat-game) 2))
|
||||
(set! gp-5 (lookup-text! *common-text* (text-id text-0138) #f))
|
||||
)
|
||||
((not (task-node-closed? (game-task-node wascity-pre-game-gold)))
|
||||
(set! (-> *game-info* goal) (game-info-method-31 *game-info* 1 3))
|
||||
(set! (-> *game-info* goal) (get-goal-for-rank *game-info* (game-score neo-sat-game) 3))
|
||||
(set! gp-5 (lookup-text! *common-text* (text-id text-0137) #f))
|
||||
)
|
||||
(else
|
||||
@@ -2706,7 +2706,7 @@
|
||||
(persist-with-delay *setting-control* 'gun (seconds 0.5) 'gun #f 0.0 0)
|
||||
(remove-setting! 'extra-bank)
|
||||
(send-event *target* 'draw #t)
|
||||
(game-info-method-27 *game-info* (game-score gs0) (-> self score))
|
||||
(update-high-score! *game-info* (game-score neo-sat-game) (-> self score))
|
||||
(logclear!
|
||||
(-> *cpad-list* cpads 0 button0-abs 0)
|
||||
(pad-buttons up right down left l1 r1 triangle circle x square)
|
||||
|
||||
@@ -47,7 +47,7 @@
|
||||
(been-out-of-turret? symbol)
|
||||
(won? symbol)
|
||||
(lost? symbol)
|
||||
(game-score uint8)
|
||||
(game-score game-score)
|
||||
(task-gold uint16)
|
||||
(task-silver uint16)
|
||||
(task-bronze uint16)
|
||||
@@ -2349,16 +2349,16 @@
|
||||
;; WARN: Return type mismatch float vs none.
|
||||
(defmethod task-manager-wascity-gungame-method-38 ((this task-manager-wascity-gungame))
|
||||
(set! (-> this goal-amount) -1)
|
||||
(game-info-method-27 *game-info* (the-as game-score (-> this game-score)) (the float (-> this score)))
|
||||
(update-high-score! *game-info* (-> this game-score) (the float (-> this score)))
|
||||
(set! (-> this goal-amount) 0)
|
||||
(cond
|
||||
((>= (-> this score) (the int (game-info-method-31 *game-info* (the-as int (-> this game-score)) 3)))
|
||||
((>= (-> this score) (the int (get-goal-for-rank *game-info* (-> this game-score) 3)))
|
||||
(set! (-> this goal-amount) 3)
|
||||
)
|
||||
((>= (-> this score) (the int (game-info-method-31 *game-info* (the-as int (-> this game-score)) 2)))
|
||||
((>= (-> this score) (the int (get-goal-for-rank *game-info* (-> this game-score) 2)))
|
||||
(set! (-> this goal-amount) 2)
|
||||
)
|
||||
((>= (-> this score) (the int (game-info-method-31 *game-info* (the-as int (-> this game-score)) 1)))
|
||||
((>= (-> this score) (the int (get-goal-for-rank *game-info* (-> this game-score) 1)))
|
||||
(set! (-> this goal-amount) 1)
|
||||
)
|
||||
)
|
||||
@@ -2504,11 +2504,11 @@
|
||||
(set! (-> this task-gold) (the-as uint 60))
|
||||
(set! (-> this task-silver) (the-as uint 61))
|
||||
(set! (-> this task-bronze) (the-as uint 62))
|
||||
(set! (-> this game-score) (the-as uint 9))
|
||||
(set! (-> this score-gold) (the int (game-info-method-31 *game-info* (the-as int (-> this game-score)) 3)))
|
||||
(set! (-> this score-silver) (the int (game-info-method-31 *game-info* (the-as int (-> this game-score)) 2)))
|
||||
(set! (-> this score-bronze) (the int (game-info-method-31 *game-info* (the-as int (-> this game-score)) 1)))
|
||||
(set! (-> this score-high) (the int (game-info-method-31 *game-info* (the-as int (-> this game-score)) 0)))
|
||||
(set! (-> this game-score) (game-score wascity-gungame-1))
|
||||
(set! (-> this score-gold) (the int (get-goal-for-rank *game-info* (-> this game-score) 3)))
|
||||
(set! (-> this score-silver) (the int (get-goal-for-rank *game-info* (-> this game-score) 2)))
|
||||
(set! (-> this score-bronze) (the int (get-goal-for-rank *game-info* (-> this game-score) 1)))
|
||||
(set! (-> this score-high) (the int (get-goal-for-rank *game-info* (-> this game-score) 0)))
|
||||
(set! (-> this score) 0)
|
||||
(set! (-> this wascity-gungame-entity) #f)
|
||||
(set! (-> this cur-group) 0)
|
||||
|
||||
@@ -108,7 +108,7 @@
|
||||
(set! (-> this strings 3 scale) 0.5)
|
||||
(set-as-offset-from! (the-as hud-sprite (-> this strings 3 pos)) (-> this strings 2 pos) 0 60)
|
||||
(format (clear (-> this strings 3 text)) (lookup-text! *common-text* (text-id text-0575) #f))
|
||||
(let ((s5-4 (get-game-score-ref *game-info* 17))
|
||||
(let ((s5-4 (get-game-score-ref *game-info* (game-score arena-training)))
|
||||
(s4-3 4)
|
||||
)
|
||||
(dotimes (s3-1 3)
|
||||
|
||||
@@ -162,11 +162,23 @@
|
||||
(int-city-bbush-get-to-31 uint8) ;; start bbush in new haven (harder any%+hero mode palace ruins)
|
||||
(int-city-bbush-get-to-28 uint8) ;; start bbush closest to palace ruins (no oob restricted palace ruins)
|
||||
(desert-final-boss-walker uint8) ;; terraformer
|
||||
(wascity-pre-game-gold uint8)
|
||||
(wascity-gungame-gold uint8)
|
||||
(city-gun-course-1-gold uint8)
|
||||
(city-gun-course-2-gold uint8)
|
||||
(city-power-game-gold uint8)
|
||||
;; mini-game ranks (0 unranked, 1 bronze, 2 silver, 3 gold)
|
||||
(wascity-pre-game-rank uint8)
|
||||
(desert-bbush-time-trial-1-rank uint8)
|
||||
(desert-bbush-rally-rank uint8)
|
||||
(desert-bbush-air-time-rank uint8)
|
||||
(desert-bbush-total-air-time-rank uint8)
|
||||
(desert-bbush-jump-distance-rank uint8)
|
||||
(desert-bbush-total-jump-distance-rank uint8)
|
||||
(desert-bbush-roll-count-rank uint8)
|
||||
(wascity-gungame-rank uint8)
|
||||
(city-jetboard-bbush-rank uint8)
|
||||
(city-gun-course-1-rank uint8)
|
||||
(city-gun-course-2-rank uint8)
|
||||
(city-ratchet-gun-course-rank uint8)
|
||||
(city-clank-gun-course-rank uint8)
|
||||
(city-power-game-rank uint8)
|
||||
(desert-bbush-destroy-interceptors-rank uint8)
|
||||
;; orbs per-level
|
||||
(vinroom-num-orbs uint8) ;; Power Station (9 side)
|
||||
(ctygenb-num-orbs uint8) ;; Main Town Ruins (8 open, 12 side)
|
||||
|
||||
@@ -35,6 +35,11 @@
|
||||
(format 0 "AUTOSPLIT for ~A~%" (quote ,task-node-name)))
|
||||
(set! (-> this ,field-name) (if (task-node-closed? (game-task-node ,task-node-name)) 1 0))))
|
||||
|
||||
(defmacro autosplit-mini-game-rank (field-name game-score)
|
||||
"Given a field name and a game-score enum index, sets to player's rank (0-3)"
|
||||
`(set! (-> this ,field-name) (get-best-rank *game-info* ,game-score))
|
||||
)
|
||||
|
||||
(defmethod update! ((this autosplit-info))
|
||||
;; general statistics
|
||||
;; when we are blacked out in loads the value of these are temporarily 0, and that messes with the auto splitter.
|
||||
@@ -244,11 +249,24 @@
|
||||
(autosplit-flag-task-node-closed! int-city-bbush-get-to-31 city-bbush-get-to-31-introduction) ;; start bbush in new haven (harder any%+hero mode palace ruins)
|
||||
(autosplit-flag-task-node-closed! int-city-bbush-get-to-28 city-bbush-get-to-28-introduction) ;; start bbush closest to palace ruins (no oob restricted palace ruins)
|
||||
(autosplit-flag-task-node-closed! desert-final-boss-walker desert-final-boss-walker) ;; terraformer
|
||||
(autosplit-flag-task-node-closed! wascity-pre-game-gold wascity-pre-game-gold)
|
||||
(autosplit-flag-task-node-closed! wascity-gungame-gold wascity-gungame-gold)
|
||||
(autosplit-flag-task-node-closed! city-gun-course-1-gold city-gun-course-1-gold)
|
||||
(autosplit-flag-task-node-closed! city-gun-course-2-gold city-gun-course-2-gold)
|
||||
(autosplit-flag-task-node-closed! city-power-game-gold city-power-game-gold)
|
||||
;; mini-game ranks (0 unranked, 1 bronze, 2 silver, 3 gold)
|
||||
(autosplit-mini-game-rank wascity-pre-game-rank (game-score neo-sat-game))
|
||||
(autosplit-mini-game-rank desert-bbush-time-trial-1-rank (game-score turtle-race))
|
||||
(autosplit-mini-game-rank desert-bbush-rally-rank (game-score snake-race))
|
||||
(autosplit-mini-game-rank desert-bbush-air-time-rank (game-score snake-air-time))
|
||||
(autosplit-mini-game-rank desert-bbush-total-air-time-rank (game-score snake-total-air-time))
|
||||
(autosplit-mini-game-rank desert-bbush-jump-distance-rank (game-score snake-jump-distance))
|
||||
(autosplit-mini-game-rank desert-bbush-total-jump-distance-rank (game-score snake-total-jump-distance))
|
||||
(autosplit-mini-game-rank desert-bbush-roll-count-rank (game-score snake-roll-count))
|
||||
(autosplit-mini-game-rank wascity-gungame-rank (game-score wascity-gungame-1))
|
||||
(autosplit-mini-game-rank city-jetboard-bbush-rank (game-score hoverboard))
|
||||
(autosplit-mini-game-rank city-gun-course-1-rank (game-score gungame-1))
|
||||
(autosplit-mini-game-rank city-gun-course-2-rank (game-score gungame-2))
|
||||
(autosplit-mini-game-rank city-ratchet-gun-course-rank (game-score gungame-3))
|
||||
(autosplit-mini-game-rank city-clank-gun-course-rank (game-score gungame-4))
|
||||
(autosplit-mini-game-rank city-power-game-rank (game-score power-game))
|
||||
(autosplit-mini-game-rank desert-bbush-destroy-interceptors-rank (game-score destroy-interceptors))
|
||||
|
||||
;; orbs per level
|
||||
(set! (-> this vinroom-num-orbs) (-> *game-info* money-per-level (level-money-data-index vinroom)))
|
||||
(set! (-> this ctygenb-num-orbs) (-> *game-info* money-per-level (level-money-data-index ctygenb)))
|
||||
|
||||
@@ -810,7 +810,7 @@
|
||||
)
|
||||
(let ((f30-2 (+ 10.0 arg2 (adjust-x-if-needed (-> s3-0 x))))
|
||||
(f28-2 (+ -10.0 arg2 (adjust-x-if-needed (-> s3-0 z))))
|
||||
(s3-1 (get-game-score-ref *game-info* (the-as int (-> this game-score))))
|
||||
(s3-1 (get-game-score-ref *game-info* (-> this game-score)))
|
||||
)
|
||||
(set-scale! arg1 0.6)
|
||||
(adjust-font-origin-y arg0 arg1 0.03)
|
||||
|
||||
@@ -1411,7 +1411,7 @@
|
||||
;; NOTE - this technically includes the gold/silver/bronze times
|
||||
;; maybe figure out how to omit them eventually, (not sure if there is anything that differentiates them)
|
||||
;; From a highscores perspective it doesn't really matter, the default scores are awful
|
||||
(define-extern get-highscore-score (function int int))
|
||||
(define-extern get-highscore-score (function int game-score))
|
||||
(defun progress-pc-get-num-nonzero-local-scores ((highscore-index int))
|
||||
(let ((count 0)
|
||||
(score-ptr (get-game-score-ref *game-info* (get-highscore-score highscore-index))))
|
||||
|
||||
+5
-5
@@ -399,11 +399,11 @@
|
||||
(you-suck-stage (_type_ symbol int) int)
|
||||
(you-suck-scale (_type_ symbol int) float)
|
||||
(get-next-attack-id! (_type_) uint)
|
||||
(game-info-method-27 (_type_ game-score float) int)
|
||||
(get-game-score-ref (_type_ int) (pointer float))
|
||||
(game-info-method-29 (_type_ int) int)
|
||||
(get-highscore-rank (_type_ int float) int)
|
||||
(game-info-method-31 (_type_ int int) float)
|
||||
(update-high-score! (_type_ game-score float) int)
|
||||
(get-game-score-ref (_type_ game-score) (pointer float))
|
||||
(get-best-rank (_type_ game-score) int)
|
||||
(get-rank-for-score (_type_ game-score float) int)
|
||||
(get-goal-for-rank (_type_ game-score int) float)
|
||||
(calculate-percentage (_type_) float)
|
||||
(inc-death-count! (_type_) none)
|
||||
(get-max-ammo-for-gun (_type_ pickup-type) float)
|
||||
|
||||
+17
-17
@@ -1755,7 +1755,7 @@
|
||||
(format #t "~Tscore:~%")
|
||||
(format #t "~T~T--------------------~%")
|
||||
(dotimes (s4-3 18)
|
||||
(let ((v1-70 (get-game-score-ref this s4-3))
|
||||
(let ((v1-70 (get-game-score-ref this (the-as game-score s4-3)))
|
||||
(t9-18 format)
|
||||
(a0-26 #t)
|
||||
(a1-24 "~T~T~-32S ~8,,0f ~8,,0f ~8,,0f~%")
|
||||
@@ -1902,46 +1902,46 @@
|
||||
)
|
||||
|
||||
;; definition for method 28 of type game-info
|
||||
(defmethod get-game-score-ref ((this game-info) (arg0 int))
|
||||
(defmethod get-game-score-ref ((this game-info) (arg0 game-score))
|
||||
(&+ (-> this game-score data) (* (* arg0 8) 4))
|
||||
)
|
||||
|
||||
;; definition for method 29 of type game-info
|
||||
(defmethod game-info-method-29 ((this game-info) (arg0 int))
|
||||
(let ((gp-0 0))
|
||||
(let ((s4-0 (-> *highscore-info-array* arg0))
|
||||
(s3-0 (get-game-score-ref this arg0))
|
||||
(s5-0 (new 'stack-no-clear 'array 'int8 4))
|
||||
(defmethod get-best-rank ((this game-info) (arg0 game-score))
|
||||
(let ((best-rank 0))
|
||||
(let ((score-goals (-> *highscore-info-array* arg0))
|
||||
(player-scores (get-game-score-ref this arg0))
|
||||
(player-rank-counts (new 'stack-no-clear 'array 'int8 4))
|
||||
)
|
||||
(dotimes (v1-3 4)
|
||||
(set! (-> s5-0 v1-3) 0)
|
||||
(set! (-> player-rank-counts v1-3) 0)
|
||||
)
|
||||
(dotimes (s2-0 8)
|
||||
(let ((f0-0 (-> s3-0 s2-0)))
|
||||
(let ((f0-0 (-> player-scores s2-0)))
|
||||
(when (!= f0-0 0.0)
|
||||
(let ((v1-9 (get-rank s4-0 f0-0)))
|
||||
(+! (-> s5-0 v1-9) 1)
|
||||
(let ((v1-9 (get-rank score-goals f0-0)))
|
||||
(+! (-> player-rank-counts v1-9) 1)
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
(dotimes (v1-13 4)
|
||||
(if (> (-> s5-0 v1-13) 0)
|
||||
(set! gp-0 v1-13)
|
||||
(if (> (-> player-rank-counts v1-13) 0)
|
||||
(set! best-rank v1-13)
|
||||
)
|
||||
)
|
||||
)
|
||||
gp-0
|
||||
best-rank
|
||||
)
|
||||
)
|
||||
|
||||
;; definition for method 30 of type game-info
|
||||
(defmethod get-highscore-rank ((this game-info) (arg0 int) (arg1 float))
|
||||
(defmethod get-rank-for-score ((this game-info) (arg0 game-score) (arg1 float))
|
||||
(get-rank (-> *highscore-info-array* arg0) arg1)
|
||||
)
|
||||
|
||||
;; definition for method 31 of type game-info
|
||||
(defmethod game-info-method-31 ((this game-info) (arg0 int) (arg1 int))
|
||||
(defmethod get-goal-for-rank ((this game-info) (arg0 game-score) (arg1 int))
|
||||
(let ((highscore-arr (-> *highscore-info-array* arg0)))
|
||||
(case arg1
|
||||
((1 2 3)
|
||||
@@ -2045,7 +2045,7 @@
|
||||
)
|
||||
|
||||
;; definition for method 27 of type game-info
|
||||
(defmethod game-info-method-27 ((this game-info) (arg0 game-score) (arg1 float))
|
||||
(defmethod update-high-score! ((this game-info) (arg0 game-score) (arg1 float))
|
||||
(when (!= arg1 0.0)
|
||||
(let ((v1-3 (&+ (-> this game-score data) (* (* arg0 8) 4))))
|
||||
(cond
|
||||
|
||||
+1
-1
@@ -1328,7 +1328,7 @@
|
||||
)
|
||||
(let ((f30-2 (+ 10.0 arg2 (-> s3-0 x)))
|
||||
(f28-2 (+ -10.0 arg2 (-> s3-0 z)))
|
||||
(s3-1 (get-game-score-ref *game-info* (the-as int (-> this game-score))))
|
||||
(s3-1 (get-game-score-ref *game-info* (-> this game-score)))
|
||||
)
|
||||
(set-scale! arg1 0.6)
|
||||
(adjust-font-origin-y arg0 arg1 0.03)
|
||||
|
||||
+1
-1
@@ -1075,7 +1075,7 @@
|
||||
(deftype highscore-page-info (structure)
|
||||
((text text-id)
|
||||
(secret game-secrets)
|
||||
(game-score uint8)
|
||||
(game-score game-score)
|
||||
(icon uint32)
|
||||
(icon-scalex float)
|
||||
(icon-scaley float)
|
||||
|
||||
+16
-16
@@ -732,7 +732,7 @@
|
||||
(new 'static 'menu-highscores-option :info (new 'static 'boxed-array :type highscore-page-info
|
||||
(new 'static 'highscore-page-info
|
||||
:text (text-id progress-highscores-satelite-game)
|
||||
:game-score #x1
|
||||
:game-score (game-score neo-sat-game)
|
||||
:icon #x48
|
||||
:icon-scalex 0.7
|
||||
:icon-scaley 0.7
|
||||
@@ -741,7 +741,7 @@
|
||||
)
|
||||
(new 'static 'highscore-page-info
|
||||
:text (text-id progress-highscores-racetrack-time-trial)
|
||||
:game-score #x2
|
||||
:game-score (game-score turtle-race)
|
||||
:icon #x10
|
||||
:icon-scalex 0.75
|
||||
:icon-scaley 0.75
|
||||
@@ -750,7 +750,7 @@
|
||||
)
|
||||
(new 'static 'highscore-page-info
|
||||
:text (text-id progress-highscores-wasteland-run)
|
||||
:game-score #x3
|
||||
:game-score (game-score snake-race)
|
||||
:icon #x11
|
||||
:icon-scalex 0.75
|
||||
:icon-scaley 0.75
|
||||
@@ -759,7 +759,7 @@
|
||||
)
|
||||
(new 'static 'highscore-page-info
|
||||
:text (text-id progress-highscores-single-hang-time)
|
||||
:game-score #x4
|
||||
:game-score (game-score snake-air-time)
|
||||
:icon #x11
|
||||
:icon-scalex 0.75
|
||||
:icon-scaley 0.75
|
||||
@@ -768,7 +768,7 @@
|
||||
)
|
||||
(new 'static 'highscore-page-info
|
||||
:text (text-id progress-highscores-total-hang-time)
|
||||
:game-score #x5
|
||||
:game-score (game-score snake-total-air-time)
|
||||
:icon #x11
|
||||
:icon-scalex 0.75
|
||||
:icon-scaley 0.75
|
||||
@@ -777,7 +777,7 @@
|
||||
)
|
||||
(new 'static 'highscore-page-info
|
||||
:text (text-id progress-highscores-single-distance)
|
||||
:game-score #x6
|
||||
:game-score (game-score snake-jump-distance)
|
||||
:icon #x11
|
||||
:icon-scalex 0.75
|
||||
:icon-scaley 0.75
|
||||
@@ -786,7 +786,7 @@
|
||||
)
|
||||
(new 'static 'highscore-page-info
|
||||
:text (text-id progress-highscores-total-distance)
|
||||
:game-score #x7
|
||||
:game-score (game-score snake-total-jump-distance)
|
||||
:icon #x11
|
||||
:icon-scalex 0.75
|
||||
:icon-scaley 0.75
|
||||
@@ -795,7 +795,7 @@
|
||||
)
|
||||
(new 'static 'highscore-page-info
|
||||
:text (text-id progress-highscores-roll-challenge)
|
||||
:game-score #x8
|
||||
:game-score (game-score snake-roll-count)
|
||||
:icon #x11
|
||||
:icon-scalex 0.75
|
||||
:icon-scaley 0.75
|
||||
@@ -804,7 +804,7 @@
|
||||
)
|
||||
(new 'static 'highscore-page-info
|
||||
:text (text-id progress-highscores-spargus-turret-game)
|
||||
:game-score #x9
|
||||
:game-score (game-score wascity-gungame-1)
|
||||
:icon #x49
|
||||
:icon-scalex 0.85
|
||||
:icon-scaley 0.85
|
||||
@@ -813,7 +813,7 @@
|
||||
)
|
||||
(new 'static 'highscore-page-info
|
||||
:text (text-id progress-highscores-jetboard-challenge)
|
||||
:game-score #xa
|
||||
:game-score (game-score hoverboard)
|
||||
:icon #x35
|
||||
:icon-scalex 1.0
|
||||
:icon-scaley 1.0
|
||||
@@ -822,7 +822,7 @@
|
||||
)
|
||||
(new 'static 'highscore-page-info
|
||||
:text (text-id progress-highscores-gun-yellow-2-course)
|
||||
:game-score #xb
|
||||
:game-score (game-score gungame-1)
|
||||
:icon #x28
|
||||
:icon-scalex 0.85
|
||||
:icon-scaley 0.85
|
||||
@@ -831,7 +831,7 @@
|
||||
)
|
||||
(new 'static 'highscore-page-info
|
||||
:text (text-id progress-highscores-gun-red-2-course)
|
||||
:game-score #xc
|
||||
:game-score (game-score gungame-2)
|
||||
:icon #x25
|
||||
:icon-scalex 0.85
|
||||
:icon-scaley 0.85
|
||||
@@ -841,7 +841,7 @@
|
||||
(new 'static 'highscore-page-info
|
||||
:text (text-id progress-highscores-ratchet-gun-course)
|
||||
:secret (game-secrets gungame-ratchet)
|
||||
:game-score #xd
|
||||
:game-score (game-score gungame-3)
|
||||
:icon #x47
|
||||
:icon-scalex 0.75
|
||||
:icon-scaley 0.75
|
||||
@@ -850,7 +850,7 @@
|
||||
(new 'static 'highscore-page-info
|
||||
:text (text-id progress-highscores-clank-gun-course)
|
||||
:secret (game-secrets gungame-ratchet)
|
||||
:game-score #xe
|
||||
:game-score (game-score gungame-4)
|
||||
:icon #x46
|
||||
:icon-scalex 0.7
|
||||
:icon-scaley 0.7
|
||||
@@ -859,7 +859,7 @@
|
||||
)
|
||||
(new 'static 'highscore-page-info
|
||||
:text (text-id progress-highscores-eco-grid-game)
|
||||
:game-score #xf
|
||||
:game-score (game-score power-game)
|
||||
:icon #x4a
|
||||
:icon-scalex 0.85
|
||||
:icon-scaley 0.85
|
||||
@@ -868,7 +868,7 @@
|
||||
)
|
||||
(new 'static 'highscore-page-info
|
||||
:text (text-id progress-highscores-marauder-challenge)
|
||||
:game-score #x10
|
||||
:game-score (game-score destroy-interceptors)
|
||||
:icon #x11
|
||||
:icon-scalex 0.75
|
||||
:icon-scaley 0.75
|
||||
|
||||
+26
-26
@@ -3149,7 +3149,7 @@
|
||||
(challenge-done symbol)
|
||||
(hud-score handle)
|
||||
(hud-goal handle)
|
||||
(game-score uint8)
|
||||
(game-score game-score)
|
||||
(new-high-score symbol)
|
||||
(goal-cup uint8)
|
||||
(last-cup uint8)
|
||||
@@ -3199,7 +3199,7 @@
|
||||
(t9-0 this)
|
||||
)
|
||||
(set-setting! 'airlock #f 0.0 0)
|
||||
(set! (-> this game-score) (the-as uint 10))
|
||||
(set! (-> this game-score) (game-score hoverboard))
|
||||
(set! (-> this hud-score) (the-as handle #f))
|
||||
(set! (-> this hud-goal) (the-as handle #f))
|
||||
(if (= (-> this hud-score) #f)
|
||||
@@ -3228,7 +3228,7 @@
|
||||
)
|
||||
)
|
||||
(set! (-> *game-info* goal)
|
||||
(game-info-method-31 *game-info* (the-as int (-> this game-score)) (the-as int (-> this goal-cup)))
|
||||
(get-goal-for-rank *game-info* (-> this game-score) (the-as int (-> this goal-cup)))
|
||||
)
|
||||
(let ((v1-14 (handle->process (-> this hud-goal))))
|
||||
(when v1-14
|
||||
@@ -3275,8 +3275,8 @@
|
||||
(defmethod task-manager-bbush-board-method-34 ((this task-manager-bbush-board) (arg0 float))
|
||||
(set! (-> this roll-back-task?) #t)
|
||||
(let* ((s2-0 (-> this game-score))
|
||||
(s4-0 (game-info-method-29 *game-info* (the-as int s2-0)))
|
||||
(t0-0 (get-highscore-rank *game-info* (the-as int s2-0) arg0))
|
||||
(s4-0 (get-best-rank *game-info* s2-0))
|
||||
(t0-0 (get-rank-for-score *game-info* s2-0 arg0))
|
||||
(s3-1 (max 0 (- t0-0 s4-0)))
|
||||
)
|
||||
(let ((t9-2 format)
|
||||
@@ -3288,58 +3288,58 @@
|
||||
a0-3
|
||||
a1-3
|
||||
(cond
|
||||
((= v1-4 7)
|
||||
((= v1-4 (game-score snake-total-jump-distance))
|
||||
"snake-total-jump-distance"
|
||||
)
|
||||
((= v1-4 5)
|
||||
((= v1-4 (game-score snake-total-air-time))
|
||||
"snake-total-air-time"
|
||||
)
|
||||
((= v1-4 10)
|
||||
((= v1-4 (game-score hoverboard))
|
||||
"hoverboard"
|
||||
)
|
||||
((= v1-4 12)
|
||||
((= v1-4 (game-score gungame-2))
|
||||
"gungame-2"
|
||||
)
|
||||
((= v1-4 17)
|
||||
((= v1-4 (game-score arena-training))
|
||||
"arena-training"
|
||||
)
|
||||
((= v1-4 8)
|
||||
((= v1-4 (game-score snake-roll-count))
|
||||
"snake-roll-count"
|
||||
)
|
||||
((= v1-4 14)
|
||||
((= v1-4 (game-score gungame-4))
|
||||
"gungame-4"
|
||||
)
|
||||
((= v1-4 6)
|
||||
((= v1-4 (game-score snake-jump-distance))
|
||||
"snake-jump-distance"
|
||||
)
|
||||
((= v1-4 13)
|
||||
((= v1-4 (game-score gungame-3))
|
||||
"gungame-3"
|
||||
)
|
||||
((= v1-4 4)
|
||||
((= v1-4 (game-score snake-air-time))
|
||||
"snake-air-time"
|
||||
)
|
||||
((= v1-4 9)
|
||||
((= v1-4 (game-score wascity-gungame-1))
|
||||
"wascity-gungame-1"
|
||||
)
|
||||
((zero? v1-4)
|
||||
((= v1-4 (game-score none))
|
||||
"none"
|
||||
)
|
||||
((= v1-4 15)
|
||||
((= v1-4 (game-score power-game))
|
||||
"power-game"
|
||||
)
|
||||
((= v1-4 3)
|
||||
((= v1-4 (game-score snake-race))
|
||||
"snake-race"
|
||||
)
|
||||
((= v1-4 1)
|
||||
((= v1-4 (game-score neo-sat-game))
|
||||
"neo-sat-game"
|
||||
)
|
||||
((= v1-4 16)
|
||||
((= v1-4 (game-score destroy-interceptors))
|
||||
"destroy-interceptors"
|
||||
)
|
||||
((= v1-4 11)
|
||||
((= v1-4 (game-score gungame-1))
|
||||
"gungame-1"
|
||||
)
|
||||
((= v1-4 2)
|
||||
((= v1-4 (game-score turtle-race))
|
||||
"turtle-race"
|
||||
)
|
||||
(else
|
||||
@@ -3352,7 +3352,7 @@
|
||||
s3-1
|
||||
)
|
||||
)
|
||||
(game-info-method-27 *game-info* (the-as game-score s2-0) arg0)
|
||||
(update-high-score! *game-info* s2-0 arg0)
|
||||
(let ((v1-7 (new 'static 'fact-info))
|
||||
(f30-0 (* (the float s3-1) (the float (-> this info user-count))))
|
||||
)
|
||||
@@ -3373,7 +3373,7 @@
|
||||
)
|
||||
)
|
||||
(else
|
||||
(let ((f0-5 (game-info-method-31 *game-info* (the-as int (-> this game-score)) (the-as int (-> this goal-cup)))))
|
||||
(let ((f0-5 (get-goal-for-rank *game-info* (-> this game-score) (the-as int (-> this goal-cup)))))
|
||||
(if (< arg0 f0-5)
|
||||
(send-event this 'fail)
|
||||
)
|
||||
@@ -3413,7 +3413,7 @@
|
||||
(while (send-event (handle->process (the-as handle gp-1)) 'waiting)
|
||||
(suspend)
|
||||
)
|
||||
(set! (-> self last-cup) (the-as uint (game-info-method-29 *game-info* (the-as int (-> self game-score)))))
|
||||
(set! (-> self last-cup) (the-as uint (get-best-rank *game-info* (-> self game-score))))
|
||||
(format #t "last-cup: ~d~%" (-> self last-cup))
|
||||
(set! (-> self goal-cup) (+ (-> self last-cup) 1))
|
||||
(suspend)
|
||||
|
||||
+4
-4
@@ -1665,21 +1665,21 @@
|
||||
((not (task-node-closed? (game-task-node city-power-game-resolution)))
|
||||
)
|
||||
((not (task-node-closed? (game-task-node city-power-game-bronze)))
|
||||
(when (>= f30-0 (game-info-method-31 *game-info* 15 1))
|
||||
(when (>= f30-0 (get-goal-for-rank *game-info* (game-score power-game) 1))
|
||||
(sound-play-by-spec (static-sound-spec "skill-pickup" :group 0 :fo-curve 1) (new-sound-id) (the-as vector #t))
|
||||
(script-eval '(birth-pickup ("power-game-player" "head") skill FACT_SUPER_SKILL_INC flags (suck-in)))
|
||||
(task-node-close! (game-task-node city-power-game-bronze) 'event)
|
||||
)
|
||||
)
|
||||
((not (task-node-closed? (game-task-node city-power-game-silver)))
|
||||
(when (>= f30-0 (game-info-method-31 *game-info* 15 2))
|
||||
(when (>= f30-0 (get-goal-for-rank *game-info* (game-score power-game) 2))
|
||||
(sound-play-by-spec (static-sound-spec "skill-pickup" :group 0 :fo-curve 1) (new-sound-id) (the-as vector #t))
|
||||
(script-eval '(birth-pickup ("power-game-player" "head") skill FACT_SUPER_SKILL_INC flags (suck-in)))
|
||||
(task-node-close! (game-task-node city-power-game-silver) 'event)
|
||||
)
|
||||
)
|
||||
((not (task-node-closed? (game-task-node city-power-game-gold)))
|
||||
(when (>= f30-0 (game-info-method-31 *game-info* 15 3))
|
||||
(when (>= f30-0 (get-goal-for-rank *game-info* (game-score power-game) 3))
|
||||
(sound-play-by-spec (static-sound-spec "skill-pickup" :group 0 :fo-curve 1) (new-sound-id) (the-as vector #t))
|
||||
(script-eval '(birth-pickup ("power-game-player" "head") skill FACT_SUPER_SKILL_INC flags (suck-in)))
|
||||
(task-node-close! (game-task-node city-power-game-gold) 'event)
|
||||
@@ -3497,7 +3497,7 @@
|
||||
)
|
||||
(when (not (and (-> self next-state) (= (-> self next-state name) 'active)))
|
||||
(format #t "score of ~f~%" (+ (-> self base-score) (-> self score)))
|
||||
(game-info-method-27 *game-info* (game-score gs14) (+ (-> self base-score) (-> self score)))
|
||||
(update-high-score! *game-info* (game-score power-game) (+ (-> self base-score) (-> self score)))
|
||||
)
|
||||
(remove-from-process *task-manager-engine* self)
|
||||
(remove-setting! 'music)
|
||||
|
||||
+3
-3
@@ -1017,8 +1017,8 @@
|
||||
)
|
||||
(let ((sv-32 -1))
|
||||
(when (nonzero? sv-16)
|
||||
(let ((gp-0 (game-info-method-29 *game-info* (the-as int sv-16)))
|
||||
(s5-0 (get-highscore-rank *game-info* (the-as int sv-16) sv-20))
|
||||
(let ((gp-0 (get-best-rank *game-info* (the-as game-score sv-16)))
|
||||
(s5-0 (get-rank-for-score *game-info* (the-as game-score sv-16) sv-20))
|
||||
)
|
||||
(let ((s4-0 (* (the-as uint (max 0 (- s5-0 gp-0))) (the-as uint (if (= sv-16 3)
|
||||
6
|
||||
@@ -1043,7 +1043,7 @@
|
||||
)
|
||||
)
|
||||
)
|
||||
(set! sv-32 (game-info-method-27 *game-info* (the-as game-score sv-16) sv-20))
|
||||
(set! sv-32 (update-high-score! *game-info* (the-as game-score sv-16) sv-20))
|
||||
(give *game-info* 'skill (the float s4-0) (the-as handle #f))
|
||||
)
|
||||
(if (and (= s5-0 3) (= gp-0 3) (zero? sv-32))
|
||||
|
||||
+12
-14
@@ -352,7 +352,7 @@
|
||||
(hud-score handle)
|
||||
(hud-goal handle)
|
||||
(squad-manager handle :offset 336)
|
||||
(game-score uint8)
|
||||
(game-score game-score)
|
||||
(last-cup uint8)
|
||||
(goal-cup uint8)
|
||||
(new-high-score symbol)
|
||||
@@ -425,9 +425,7 @@
|
||||
)
|
||||
)
|
||||
)
|
||||
(set! (-> this goal)
|
||||
(game-info-method-31 *game-info* (the-as int (-> this game-score)) (the-as int (-> this goal-cup)))
|
||||
)
|
||||
(set! (-> this goal) (get-goal-for-rank *game-info* (-> this game-score) (the-as int (-> this goal-cup))))
|
||||
(set! (-> gp-0 goal) (* (-> this display-units) (-> this goal)))
|
||||
(set! (-> gp-0 goal-cup) (-> this goal-cup))
|
||||
)
|
||||
@@ -561,11 +559,11 @@
|
||||
;; WARN: Return type mismatch int vs none.
|
||||
(defmethod award-skill ((this task-manager-vehicle-bbush) (arg0 float))
|
||||
(let* ((s5-0 (-> this game-score))
|
||||
(s3-0 (game-info-method-29 *game-info* (the-as int s5-0)))
|
||||
(v1-2 (get-highscore-rank *game-info* (the-as int s5-0) arg0))
|
||||
(s3-0 (get-best-rank *game-info* s5-0))
|
||||
(v1-2 (get-rank-for-score *game-info* s5-0 arg0))
|
||||
(gp-1 (max 0 (- v1-2 s3-0)))
|
||||
)
|
||||
(game-info-method-27 *game-info* (the-as game-score s5-0) arg0)
|
||||
(update-high-score! *game-info* s5-0 arg0)
|
||||
(give *game-info* 'skill (* (the float gp-1) (-> *FACT-bank* super-skill-inc)) (the-as handle #f))
|
||||
)
|
||||
0
|
||||
@@ -585,7 +583,7 @@
|
||||
#f
|
||||
(label cfg-7)
|
||||
(set-setting! 'exclusive-task #f 0.0 (-> self node-info task))
|
||||
(set! (-> self last-cup) (the-as uint (game-info-method-29 *game-info* (the-as int (-> self game-score)))))
|
||||
(set! (-> self last-cup) (the-as uint (get-best-rank *game-info* (-> self game-score))))
|
||||
(set! (-> self goal-cup) (+ (-> self last-cup) 1))
|
||||
(task-manager-vehicle-bbush-method-34 self)
|
||||
(set! (-> self new-high-score) #f)
|
||||
@@ -702,7 +700,7 @@
|
||||
(call-parent-method this)
|
||||
(set! (-> this display-units) 0.0033333334)
|
||||
(set! (-> this time-limit) (seconds 30))
|
||||
(set! (-> this game-score) (the-as uint 4))
|
||||
(set! (-> this game-score) (game-score snake-air-time))
|
||||
(set! (-> *wasbbv-hud-info* score-text) (text-id text-0573))
|
||||
(none)
|
||||
)
|
||||
@@ -743,7 +741,7 @@
|
||||
(call-parent-method this)
|
||||
(set! (-> this display-units) 0.0033333334)
|
||||
(set! (-> this time-limit) (seconds 60))
|
||||
(set! (-> this game-score) (the-as uint 5))
|
||||
(set! (-> this game-score) (game-score snake-total-air-time))
|
||||
(set! (-> *wasbbv-hud-info* score-text) (text-id text-0078))
|
||||
(none)
|
||||
)
|
||||
@@ -788,7 +786,7 @@
|
||||
(call-parent-method this)
|
||||
(set! (-> this display-units) 0.00024414062)
|
||||
(set! (-> this time-limit) (seconds 30))
|
||||
(set! (-> this game-score) (the-as uint 6))
|
||||
(set! (-> this game-score) (game-score snake-jump-distance))
|
||||
(set! (-> *wasbbv-hud-info* score-text) (text-id your-distance))
|
||||
(set! (-> *wasbbv-hud-info* decimal-place-count) 1)
|
||||
(none)
|
||||
@@ -830,7 +828,7 @@
|
||||
(call-parent-method this)
|
||||
(set! (-> this display-units) 0.00024414062)
|
||||
(set! (-> this time-limit) (seconds 60))
|
||||
(set! (-> this game-score) (the-as uint 7))
|
||||
(set! (-> this game-score) (game-score snake-total-jump-distance))
|
||||
(set! (-> *wasbbv-hud-info* score-text) (text-id total-distance))
|
||||
(set! (-> *wasbbv-hud-info* decimal-place-count) 1)
|
||||
(none)
|
||||
@@ -876,7 +874,7 @@
|
||||
(call-parent-method this)
|
||||
(set! (-> this display-units) 1.0)
|
||||
(set! (-> this time-limit) (seconds 60))
|
||||
(set! (-> this game-score) (the-as uint 8))
|
||||
(set! (-> this game-score) (game-score snake-roll-count))
|
||||
(set! (-> this want-current-hud?) #f)
|
||||
(set! (-> *wasbbv-hud-info* score-text) (text-id total-rolls))
|
||||
(set! (-> *wasbbv-hud-info* decimal-place-count) 0)
|
||||
@@ -933,7 +931,7 @@
|
||||
(call-parent-method this)
|
||||
(set! (-> this display-units) 1.0)
|
||||
(set! (-> this time-limit) (seconds 120))
|
||||
(set! (-> this game-score) (the-as uint 16))
|
||||
(set! (-> this game-score) (game-score destroy-interceptors))
|
||||
(set! (-> this want-current-hud?) #f)
|
||||
(set! (-> this max-reserve-count) 1000)
|
||||
(set! (-> *wasbbv-hud-info* score-text) (text-id kills))
|
||||
|
||||
+8
-12
@@ -783,7 +783,7 @@
|
||||
|
||||
;; definition of type task-manager-bbush-time-trial-1
|
||||
(deftype task-manager-bbush-time-trial-1 (task-manager-race)
|
||||
((game-score uint8)
|
||||
((game-score game-score)
|
||||
(hud-goal handle)
|
||||
)
|
||||
)
|
||||
@@ -830,14 +830,12 @@
|
||||
:code (behavior ()
|
||||
(set! (-> self start-continue) (the-as continue-point "desertb-time-trial-start"))
|
||||
(set-setting! 'exclusive-task #f 0.0 (-> self node-info task))
|
||||
(set! (-> self game-score) (the-as uint 2))
|
||||
(let ((v1-6 (game-info-method-29 *game-info* (the-as int (-> self game-score))))
|
||||
(set! (-> self game-score) (game-score turtle-race))
|
||||
(let ((v1-6 (get-best-rank *game-info* (-> self game-score)))
|
||||
(gp-0 *bbush-time-trial-hud-info*)
|
||||
)
|
||||
(set! (-> gp-0 goal-cup) (the-as uint (+ v1-6 1)))
|
||||
(set! (-> gp-0 goal)
|
||||
(game-info-method-31 *game-info* (the-as int (-> self game-score)) (the-as int (-> gp-0 goal-cup)))
|
||||
)
|
||||
(set! (-> gp-0 goal) (get-goal-for-rank *game-info* (-> self game-score) (the-as int (-> gp-0 goal-cup))))
|
||||
)
|
||||
(set! (-> self hud-goal)
|
||||
(ppointer->handle
|
||||
@@ -934,7 +932,7 @@
|
||||
|
||||
;; definition of type task-manager-bbush-rally
|
||||
(deftype task-manager-bbush-rally (task-manager-race)
|
||||
((game-score uint8)
|
||||
((game-score game-score)
|
||||
(hud-goal handle)
|
||||
)
|
||||
)
|
||||
@@ -1013,14 +1011,12 @@
|
||||
:virtual #t
|
||||
:code (behavior ()
|
||||
(set! (-> self start-continue) (the-as continue-point "desrally-race-start"))
|
||||
(set! (-> self game-score) (the-as uint 3))
|
||||
(let ((v1-3 (game-info-method-29 *game-info* (the-as int (-> self game-score))))
|
||||
(set! (-> self game-score) (game-score snake-race))
|
||||
(let ((v1-3 (get-best-rank *game-info* (-> self game-score)))
|
||||
(gp-0 *bbush-time-trial-hud-info*)
|
||||
)
|
||||
(set! (-> gp-0 goal-cup) (the-as uint (+ v1-3 1)))
|
||||
(set! (-> gp-0 goal)
|
||||
(game-info-method-31 *game-info* (the-as int (-> self game-score)) (the-as int (-> gp-0 goal-cup)))
|
||||
)
|
||||
(set! (-> gp-0 goal) (get-goal-for-rank *game-info* (-> self game-score) (the-as int (-> gp-0 goal-cup))))
|
||||
)
|
||||
(set! (-> self hud-goal)
|
||||
(ppointer->handle
|
||||
|
||||
+12
-16
@@ -11,7 +11,7 @@
|
||||
(task-bronze game-task-node)
|
||||
(task-silver game-task-node :offset 22)
|
||||
(task-gold game-task-node :offset 24)
|
||||
(game-score uint8 :offset 26)
|
||||
(game-score game-score :offset 26)
|
||||
(pass-speech uint16)
|
||||
(training-goal float)
|
||||
(allowed-guns game-feature)
|
||||
@@ -107,7 +107,7 @@
|
||||
(task-bronze game-task-node :offset 428)
|
||||
(end-door uint8 :offset 430)
|
||||
(start-door uint8)
|
||||
(game-score uint8)
|
||||
(game-score game-score)
|
||||
(training-goal float)
|
||||
(training? symbol)
|
||||
(state-time time-frame)
|
||||
@@ -464,7 +464,7 @@
|
||||
;; definition for method 23 of type gungame-manager
|
||||
;; WARN: Return type mismatch object vs none.
|
||||
(defmethod update-hud-text ((this gungame-manager))
|
||||
(get-game-score-ref *game-info* (the-as int (-> this game-score)))
|
||||
(get-game-score-ref *game-info* (-> this game-score))
|
||||
(let ((gp-0 (the-as hud (handle->process (-> this hud-goal)))))
|
||||
(cond
|
||||
((not (task-node-closed? (-> this task-bronze)))
|
||||
@@ -638,10 +638,10 @@
|
||||
(set! (-> self hud-score)
|
||||
(ppointer->handle (process-spawn hud-big-score :init hud-init-by-other :name "hud-big-score" :to self))
|
||||
)
|
||||
(set! (-> self score-gold) (the int (game-info-method-31 *game-info* (the-as int (-> self game-score)) 3)))
|
||||
(set! (-> self score-silver) (the int (game-info-method-31 *game-info* (the-as int (-> self game-score)) 2)))
|
||||
(set! (-> self score-bronze) (the int (game-info-method-31 *game-info* (the-as int (-> self game-score)) 1)))
|
||||
(set! (-> self score-high) (the int (game-info-method-31 *game-info* (the-as int (-> self game-score)) 0)))
|
||||
(set! (-> self score-gold) (the int (get-goal-for-rank *game-info* (-> self game-score) 3)))
|
||||
(set! (-> self score-silver) (the int (get-goal-for-rank *game-info* (-> self game-score) 2)))
|
||||
(set! (-> self score-bronze) (the int (get-goal-for-rank *game-info* (-> self game-score) 1)))
|
||||
(set! (-> self score-high) (the int (get-goal-for-rank *game-info* (-> self game-score) 0)))
|
||||
(set! (-> self hud-goal)
|
||||
(ppointer->handle (process-spawn hud-goal :init hud-init-by-other :name "hud-goal" :to self))
|
||||
)
|
||||
@@ -721,7 +721,7 @@
|
||||
(logtest? (-> gp-1 flags) (tpath-flag t1))
|
||||
)
|
||||
(set! (-> self goal-amount) -1)
|
||||
(game-info-method-27 *game-info* (the-as game-score (-> self game-score)) (the float (-> self score)))
|
||||
(update-high-score! *game-info* (-> self game-score) (the float (-> self score)))
|
||||
(cond
|
||||
((and (-> self training?) (< (-> self score) (the int (-> self training-goal))))
|
||||
(go-virtual end-course-open-door)
|
||||
@@ -1463,7 +1463,7 @@
|
||||
:task-bronze (game-task-node city-gun-course-1-bronze)
|
||||
:task-silver (game-task-node city-gun-course-1-silver)
|
||||
:task-gold (game-task-node city-gun-course-1-gold)
|
||||
:game-score #xb
|
||||
:game-score (game-score gungame-1)
|
||||
:training-goal 10000.0
|
||||
:allowed-guns (game-feature gun-yellow-1 gun-yellow-2)
|
||||
:start-gun 30
|
||||
@@ -1481,7 +1481,7 @@
|
||||
:task-bronze (game-task-node city-gun-course-2-bronze)
|
||||
:task-silver (game-task-node city-gun-course-2-silver)
|
||||
:task-gold (game-task-node city-gun-course-2-gold)
|
||||
:game-score #xc
|
||||
:game-score (game-score gungame-2)
|
||||
:training-goal 11000.0
|
||||
:allowed-guns (game-feature gun-red-1 gun-red-2)
|
||||
:start-gun 27
|
||||
@@ -1499,7 +1499,7 @@
|
||||
:task-bronze (game-task-node city-gun-course-play-for-fun-bronze-rnc-1)
|
||||
:task-silver (game-task-node city-gun-course-play-for-fun-silver-rnc-1)
|
||||
:task-gold (game-task-node city-gun-course-play-for-fun-gold-rnc-1)
|
||||
:game-score #xd
|
||||
:game-score (game-score gungame-3)
|
||||
:training-goal -1.0
|
||||
:allowed-guns (game-feature gun-red-1 gun-red-2 gun-red-3 gun-yellow-1 gun-yellow-2 gun-yellow-3 gun-blue-1 gun-blue-2)
|
||||
:start-gun 30
|
||||
@@ -1517,7 +1517,7 @@
|
||||
:task-bronze (game-task-node city-gun-course-play-for-fun-bronze-rnc-2)
|
||||
:task-silver (game-task-node city-gun-course-play-for-fun-silver-rnc-2)
|
||||
:task-gold (game-task-node city-gun-course-play-for-fun-gold-rnc-2)
|
||||
:game-score #xe
|
||||
:game-score (game-score gungame-4)
|
||||
:training-goal -1.0
|
||||
:allowed-guns (game-feature gun-red-1 gun-red-2 gun-red-3 gun-yellow-1 gun-yellow-2 gun-yellow-3 gun-blue-1 gun-blue-2)
|
||||
:start-gun 27
|
||||
@@ -1978,7 +1978,3 @@
|
||||
(call-parent-method this)
|
||||
(none)
|
||||
)
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
+9
-9
@@ -2575,11 +2575,11 @@
|
||||
((not (task-node-closed? (game-task-node wascity-pre-game-resolution)))
|
||||
)
|
||||
((not (task-node-closed? (game-task-node wascity-pre-game-bronze)))
|
||||
(when (>= f30-0 (game-info-method-31 *game-info* 1 1))
|
||||
(when (>= f30-0 (get-goal-for-rank *game-info* (game-score neo-sat-game) 1))
|
||||
(sound-play-by-spec (static-sound-spec "skill-pickup" :group 0 :fo-curve 1) (new-sound-id) (the-as vector #t))
|
||||
(script-eval '(birth-pickup ("power-game-2" "screen") skill FACT_SUPER_SKILL_INC flags (suck-in)))
|
||||
(task-node-close! (game-task-node wascity-pre-game-bronze) 'event)
|
||||
(set! (-> *game-info* goal) (game-info-method-31 *game-info* 1 2))
|
||||
(set! (-> *game-info* goal) (get-goal-for-rank *game-info* (game-score neo-sat-game) 2))
|
||||
(let ((v1-39 (the-as hud (handle->process (-> this hud-goal)))))
|
||||
(when v1-39
|
||||
(let ((gp-1 format)
|
||||
@@ -2594,11 +2594,11 @@
|
||||
)
|
||||
)
|
||||
((not (task-node-closed? (game-task-node wascity-pre-game-silver)))
|
||||
(when (>= f30-0 (game-info-method-31 *game-info* 1 2))
|
||||
(when (>= f30-0 (get-goal-for-rank *game-info* (game-score neo-sat-game) 2))
|
||||
(sound-play-by-spec (static-sound-spec "skill-pickup" :group 0 :fo-curve 1) (new-sound-id) (the-as vector #t))
|
||||
(script-eval '(birth-pickup ("power-game-2" "screen") skill FACT_SUPER_SKILL_INC flags (suck-in)))
|
||||
(task-node-close! (game-task-node wascity-pre-game-silver) 'event)
|
||||
(set! (-> *game-info* goal) (game-info-method-31 *game-info* 1 3))
|
||||
(set! (-> *game-info* goal) (get-goal-for-rank *game-info* (game-score neo-sat-game) 3))
|
||||
(let ((v1-53 (the-as hud (handle->process (-> this hud-goal)))))
|
||||
(when v1-53
|
||||
(let ((gp-2 format)
|
||||
@@ -2613,7 +2613,7 @@
|
||||
)
|
||||
)
|
||||
((not (task-node-closed? (game-task-node wascity-pre-game-gold)))
|
||||
(when (>= f30-0 (game-info-method-31 *game-info* 1 3))
|
||||
(when (>= f30-0 (get-goal-for-rank *game-info* (game-score neo-sat-game) 3))
|
||||
(sound-play-by-spec (static-sound-spec "skill-pickup" :group 0 :fo-curve 1) (new-sound-id) (the-as vector #t))
|
||||
(script-eval '(birth-pickup ("power-game-2" "screen") skill FACT_SUPER_SKILL_INC flags (suck-in)))
|
||||
(task-node-close! (game-task-node wascity-pre-game-gold) 'event)
|
||||
@@ -2868,15 +2868,15 @@
|
||||
((< 0.0 (-> self point-win))
|
||||
)
|
||||
((not (task-node-closed? (game-task-node wascity-pre-game-bronze)))
|
||||
(set! (-> *game-info* goal) (game-info-method-31 *game-info* 1 1))
|
||||
(set! (-> *game-info* goal) (get-goal-for-rank *game-info* (game-score neo-sat-game) 1))
|
||||
(set! gp-5 (lookup-text! *common-text* (text-id text-0139) #f))
|
||||
)
|
||||
((not (task-node-closed? (game-task-node wascity-pre-game-silver)))
|
||||
(set! (-> *game-info* goal) (game-info-method-31 *game-info* 1 2))
|
||||
(set! (-> *game-info* goal) (get-goal-for-rank *game-info* (game-score neo-sat-game) 2))
|
||||
(set! gp-5 (lookup-text! *common-text* (text-id text-0138) #f))
|
||||
)
|
||||
((not (task-node-closed? (game-task-node wascity-pre-game-gold)))
|
||||
(set! (-> *game-info* goal) (game-info-method-31 *game-info* 1 3))
|
||||
(set! (-> *game-info* goal) (get-goal-for-rank *game-info* (game-score neo-sat-game) 3))
|
||||
(set! gp-5 (lookup-text! *common-text* (text-id text-0137) #f))
|
||||
)
|
||||
(else
|
||||
@@ -2941,7 +2941,7 @@
|
||||
(persist-with-delay *setting-control* 'gun (seconds 0.5) 'gun #f 0.0 0)
|
||||
(remove-setting! 'extra-bank)
|
||||
(send-event *target* 'draw #t)
|
||||
(game-info-method-27 *game-info* (game-score gs0) (-> self score))
|
||||
(update-high-score! *game-info* (game-score neo-sat-game) (-> self score))
|
||||
(logclear!
|
||||
(-> *cpad-list* cpads 0 button0-abs 0)
|
||||
(pad-buttons up right down left l1 r1 triangle circle x square)
|
||||
|
||||
+10
-14
@@ -43,7 +43,7 @@
|
||||
(been-out-of-turret? symbol)
|
||||
(won? symbol)
|
||||
(lost? symbol)
|
||||
(game-score uint8)
|
||||
(game-score game-score)
|
||||
(task-gold uint16)
|
||||
(task-silver uint16)
|
||||
(task-bronze uint16)
|
||||
@@ -2470,16 +2470,16 @@
|
||||
;; WARN: Return type mismatch float vs none.
|
||||
(defmethod task-manager-wascity-gungame-method-38 ((this task-manager-wascity-gungame))
|
||||
(set! (-> this goal-amount) -1)
|
||||
(game-info-method-27 *game-info* (the-as game-score (-> this game-score)) (the float (-> this score)))
|
||||
(update-high-score! *game-info* (-> this game-score) (the float (-> this score)))
|
||||
(set! (-> this goal-amount) 0)
|
||||
(cond
|
||||
((>= (-> this score) (the int (game-info-method-31 *game-info* (the-as int (-> this game-score)) 3)))
|
||||
((>= (-> this score) (the int (get-goal-for-rank *game-info* (-> this game-score) 3)))
|
||||
(set! (-> this goal-amount) 3)
|
||||
)
|
||||
((>= (-> this score) (the int (game-info-method-31 *game-info* (the-as int (-> this game-score)) 2)))
|
||||
((>= (-> this score) (the int (get-goal-for-rank *game-info* (-> this game-score) 2)))
|
||||
(set! (-> this goal-amount) 2)
|
||||
)
|
||||
((>= (-> this score) (the int (game-info-method-31 *game-info* (the-as int (-> this game-score)) 1)))
|
||||
((>= (-> this score) (the int (get-goal-for-rank *game-info* (-> this game-score) 1)))
|
||||
(set! (-> this goal-amount) 1)
|
||||
)
|
||||
)
|
||||
@@ -2628,11 +2628,11 @@
|
||||
(set! (-> this task-gold) (the-as uint 60))
|
||||
(set! (-> this task-silver) (the-as uint 61))
|
||||
(set! (-> this task-bronze) (the-as uint 62))
|
||||
(set! (-> this game-score) (the-as uint 9))
|
||||
(set! (-> this score-gold) (the int (game-info-method-31 *game-info* (the-as int (-> this game-score)) 3)))
|
||||
(set! (-> this score-silver) (the int (game-info-method-31 *game-info* (the-as int (-> this game-score)) 2)))
|
||||
(set! (-> this score-bronze) (the int (game-info-method-31 *game-info* (the-as int (-> this game-score)) 1)))
|
||||
(set! (-> this score-high) (the int (game-info-method-31 *game-info* (the-as int (-> this game-score)) 0)))
|
||||
(set! (-> this game-score) (game-score wascity-gungame-1))
|
||||
(set! (-> this score-gold) (the int (get-goal-for-rank *game-info* (-> this game-score) 3)))
|
||||
(set! (-> this score-silver) (the int (get-goal-for-rank *game-info* (-> this game-score) 2)))
|
||||
(set! (-> this score-bronze) (the int (get-goal-for-rank *game-info* (-> this game-score) 1)))
|
||||
(set! (-> this score-high) (the int (get-goal-for-rank *game-info* (-> this game-score) 0)))
|
||||
(set! (-> this score) 0)
|
||||
(set! (-> this wascity-gungame-entity) #f)
|
||||
(set! (-> this cur-group) 0)
|
||||
@@ -2662,7 +2662,3 @@
|
||||
)
|
||||
(none)
|
||||
)
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
+1
-5
@@ -146,7 +146,7 @@
|
||||
(set! (-> this strings 3 scale) 0.5)
|
||||
(set-as-offset-from! (the-as hud-sprite (-> this strings 3 pos)) (-> this strings 2 pos) 0 60)
|
||||
(format (clear (-> this strings 3 text)) (lookup-text! *common-text* (text-id text-0575) #f))
|
||||
(let ((s5-4 (get-game-score-ref *game-info* 17))
|
||||
(let ((s5-4 (get-game-score-ref *game-info* (game-score arena-training)))
|
||||
(s4-3 4)
|
||||
)
|
||||
(dotimes (s3-1 3)
|
||||
@@ -1544,7 +1544,3 @@
|
||||
(logclear! (-> this mask) (process-mask actor-pause))
|
||||
(go (method-of-object this idle))
|
||||
)
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user