fix stadium particles + save game after winning a race (#2783)

This commit is contained in:
ManDude 2023-06-28 20:14:24 +01:00 committed by GitHub
parent b3e3f9379e
commit 4643129948
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
11 changed files with 9963 additions and 47 deletions

View file

@ -45359,11 +45359,11 @@
:flag-assert #x10003000b0
)
;; (define-extern race-birth-func-texture-lap-01 (function int sparticle-cpuinfo sparticle-launchinfo none))
;; (define-extern race-birth-func-texture-lap-02 (function int sparticle-cpuinfo sparticle-launchinfo none))
;; (define-extern race-birth-func-texture-position-01 (function int sparticle-cpuinfo sparticle-launchinfo none))
;; (define-extern race-birth-func-texture-position-02 (function int sparticle-cpuinfo sparticle-launchinfo none))
;; (define-extern race-birth-func-texture-position-word (function int sparticle-cpuinfo sparticle-launchinfo none))
(define-extern race-birth-func-texture-lap-01 (function int sparticle-cpuinfo sparticle-launchinfo int))
(define-extern race-birth-func-texture-lap-02 (function int sparticle-cpuinfo sparticle-launchinfo int))
(define-extern race-birth-func-texture-position-01 (function int sparticle-cpuinfo sparticle-launchinfo int))
(define-extern race-birth-func-texture-position-02 (function int sparticle-cpuinfo sparticle-launchinfo int))
(define-extern race-birth-func-texture-position-word (function int sparticle-cpuinfo sparticle-launchinfo int))
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; stadium-obs ;;
@ -51641,7 +51641,7 @@
(define-extern *citizen-rebel-global-info* civilian-global-info)
(define-extern *citizen-rebel-nav-enemy-info* nav-enemy-info)
(define-extern shuttle-init (function task-manager (array city-shuttle-info) none))
(define-extern shuttle-cleanup (function task-manager none))
(define-extern shuttle-cleanup (function task-manager (array city-shuttle-info) none))
(define-extern shuttle-update (function task-manager (array city-shuttle-info) uint none))
(define-extern *city-shuttle-info* (array city-shuttle-info))
(define-extern *city-burning-bush-shuttle-1-info* (array city-shuttle-info))

View file

@ -768,7 +768,10 @@
// there are some missing textures. I don't know what the game actually does here.
// the format for entries is [level, tpage, index]
"missing_textures": [["vinroom", 0, 0], ["ctyfence", 0, 0]],
"missing_textures": [
["vinroom", 0, 0],
["ctyfence", 0, 0]
],
// some object files have garbage pad data at the end which makes the decompiler
// assume they must be different files, such as the art group for orb-cache-top.

View file

@ -10402,7 +10402,6 @@
[335, "v1", "(pointer gs-frame)"],
[337, "v1", "(pointer gs-reg64)"]
],
"fill-rgb-texture-anim-layer-func": [
[59, "v1", "(pointer uint128)"],
[66, "v1", "(pointer uint128)"],
@ -10415,14 +10414,12 @@
[112, "v1", "(pointer uint64)"],
[114, "v1", "(pointer gs-reg64)"]
],
"update-texture-anim": [
[135, "a1", "(pointer uint128)"],
[[137, 152], "t0", "vector4w"],
[[152, 160], "t0", "vector4w"],
[[161, 168], "a1", "vector4w"]
],
"copy-alpha-texture-anim-layer-func": [
[72, "v1", "(pointer uint128)"],
[[73, 86], "t0", "vector4w"],
@ -10439,7 +10436,6 @@
[181, "v1", "(pointer gs-frame)"],
[183, "v1", "(pointer gs-reg64)"]
],
"copy-clut-alpha-texture-anim-layer-func": [
[67, "a1", "(pointer uint128)"],
[[68, 81], "t0", "vector4w"],
@ -10456,7 +10452,6 @@
[176, "v1", "(pointer gs-frame)"],
[178, "v1", "(pointer gs-reg64)"]
],
"set-alpha-texture-anim-layer-func": [
[49, "t0", "(pointer uint128)"],
[[50, 56], "t4", "vector4w"],
@ -10467,7 +10462,6 @@
[99, "a2", "(pointer gs-frame)"],
[101, "a2", "(pointer gs-reg64)"]
],
"set-clut-alpha-texture-anim-layer-func": [
[48, "t0", "(pointer uint128)"],
[[48, 55], "t4", "vector4w"],
@ -10478,19 +10472,41 @@
[98, "a2", "(pointer gs-frame)"],
[100, "a2", "(pointer gs-reg64)"]
],
"noise-texture-anim-layer-func": [
[[104, 110], "a0", "dma-packet"],
[[113, 119], "a0", "gs-gif-tag"],
[127, "v1", "(pointer gs-frame)"],
[129, "v1", "(pointer gs-reg64)"]
],
"real-fog-texture-anim-func": [
[[0, 256], "s2", "(pointer uint32)"],
[[239, 245], "a0", "dma-packet"],
[[248, 254], "a0", "gs-gif-tag"],
[259, "v1", "(pointer gs-reg64)"]
],
"hover-nav-graph-output": [[[25, 30], "s2", "vector"]]
"hover-nav-graph-output": [[[25, 30], "s2", "vector"]],
"race-birth-func-texture-lap-01": [
[12, "v1", "(array int32)"],
[1, "v1", "(array int32)"]
],
"race-birth-func-texture-lap-02": [
[12, "v1", "(array int32)"],
[1, "v1", "(array int32)"]
],
"race-birth-func-texture-position-01": [
[13, "v1", "(array int32)"],
[1, "v1", "(array int32)"]
],
"race-birth-func-texture-position-02": [
[13, "v1", "(array int32)"],
[1, "v1", "(array int32)"]
],
"race-birth-func-texture-position-03": [
[13, "v1", "(array int32)"],
[1, "v1", "(array int32)"]
],
"race-birth-func-texture-position-word": [
[10, "v1", "(array int32)"],
[1, "v1", "(array int32)"]
]
}

View file

@ -4290,11 +4290,19 @@
},
"dest-texture-init": {
"args": ["tex-anim"],
"vars": { "v1-1": "dest-tex", "a0-2": "size", "a1-1": "dest" }
"vars": {
"v1-1": "dest-tex",
"a0-2": "size",
"a1-1": "dest"
}
},
"src-texture-init": {
"args": ["layer"],
"vars": { "v1-1": "tex", "a0-2": "size", "a1-1": "addr" }
"vars": {
"v1-1": "tex",
"a0-2": "size",
"a1-1": "addr"
}
},
"copy-alpha-texture-anim-layer-func": {
"args": ["dma-buf", "fbp-to-draw", "width", "height", "layer", "time"]

View file

@ -1061,7 +1061,7 @@
)
;; WARN: Return type mismatch symbol vs none.
(defun shuttle-cleanup ((arg0 task-manager))
(defun shuttle-cleanup ((arg0 task-manager) (arg1 (array city-shuttle-info)))
(send-event *traffic-manager* 'restore-default-settings)
(dotimes (s5-0 (-> arg0 count))
(let ((a0-4 (handle->process (-> arg0 slave s5-0))))
@ -1539,12 +1539,7 @@
TASK_MANAGER_CLEANUP_HOOK
(lambda :behavior task-manager
()
(let ((t9-0 shuttle-cleanup)
(a0-0 self)
)
*city-shuttle-info*
(t9-0 a0-0)
)
(shuttle-cleanup self *city-shuttle-info*)
(send-event *traffic-manager* 'restore-default-settings)
(none)
)
@ -1712,12 +1707,7 @@
TASK_MANAGER_CLEANUP_HOOK
(lambda :behavior task-manager
()
(let ((t9-0 shuttle-cleanup)
(a0-0 self)
)
*city-burning-bush-shuttle-1-info*
(t9-0 a0-0)
)
(shuttle-cleanup self *city-burning-bush-shuttle-1-info*)
(send-event *traffic-manager* 'restore-default-settings)
(none)
)

View file

@ -59,6 +59,9 @@
)
)
)
(#when PC_PORT
(unless (-> *pc-settings* ps2-parts?)
(set! (-> arg2 r-g-b-a w) 128.0)))
(particle-adgif-callback (-> arg1 adgif) (the-as texture-id s4-1))
)
)

View file

@ -1506,6 +1506,9 @@
(send-event (ppointer->process (-> self parent)) 'complete)
(sleep-code)
)
(#when PC_PORT
;; auto-save when a race is won
(auto-save-user))
(until #f
(cond
((logtest? (-> self race-state info flags) 8)

File diff suppressed because it is too large Load diff

View file

@ -204,7 +204,6 @@
(= (-> *entity-debug-inspect* entity) e)
)
(define *entity-debug-part-spawner-list* '(stadiumb-part))
(define *entity-debug-include-part-spawner* #f)
(define *entity-debug-include-cameras* #f)
(define *entity-debug-include-nav-meshes* #f)
@ -223,8 +222,7 @@
(dotimes (s2-0 (-> s3-0 length))
(let ((s1-0 (-> s3-0 data s2-0 actor)))
(unless (and (not *entity-debug-include-part-spawner*)
(or (type-type? (-> s1-0 etype) part-spawner)
(assoc (-> s1-0 etype symbol) *entity-debug-part-spawner-list*)))
(type-type? (-> s1-0 etype) part-spawner))
(debug-menu-append-item *entity-pick-menu* (new-dm-flag (res-lump-struct s1-0 'name string) s1-0 dm-entity-flag-func))
)
)

View file

@ -1119,7 +1119,7 @@
;; definition for function shuttle-cleanup
;; WARN: Return type mismatch symbol vs none.
(defun shuttle-cleanup ((arg0 task-manager))
(defun shuttle-cleanup ((arg0 task-manager) (arg1 (array city-shuttle-info)))
(send-event *traffic-manager* 'restore-default-settings)
(dotimes (s5-0 (-> arg0 count))
(let ((a0-4 (handle->process (-> arg0 slave s5-0))))
@ -1603,12 +1603,7 @@
TASK_MANAGER_CLEANUP_HOOK
(lambda :behavior task-manager
()
(let ((t9-0 shuttle-cleanup)
(a0-0 self)
)
*city-shuttle-info*
(t9-0 a0-0)
)
(shuttle-cleanup self *city-shuttle-info*)
(send-event *traffic-manager* 'restore-default-settings)
(none)
)
@ -1784,12 +1779,7 @@
TASK_MANAGER_CLEANUP_HOOK
(lambda :behavior task-manager
()
(let ((t9-0 shuttle-cleanup)
(a0-0 self)
)
*city-burning-bush-shuttle-1-info*
(t9-0 a0-0)
)
(shuttle-cleanup self *city-burning-bush-shuttle-1-info*)
(send-event *traffic-manager* 'restore-default-settings)
(none)
)
@ -1870,3 +1860,7 @@
(none)
)
)

File diff suppressed because it is too large Load diff