d/jak2: finish mood-funcs | mood-funcs2 | almost all of mood and airlock (#1842)

This commit is contained in:
Tyler Wilding
2022-09-06 20:35:00 -04:00
committed by GitHub
parent b5d21be9c5
commit 44d59e6b33
143 changed files with 18536 additions and 1539 deletions
+2 -2
View File
@@ -1434,8 +1434,8 @@ TypeState StackSpillLoadOp::propagate_types_internal(const TypeState& input,
// stack slot load
auto& info = env.stack_spills().lookup(m_offset);
if (info.size != m_size) {
env.func->warnings.error("Stack slot load at {} mismatch: defined as size {}, got size {}",
m_offset, info.size, m_size);
env.func->warnings.warning("Stack slot load at {} mismatch: defined as size {}, got size {}",
m_offset, info.size, m_size);
}
if (info.is_signed != m_is_signed) {
+1 -1
View File
@@ -609,7 +609,7 @@ void ObjectFileDB::ir2_register_usage_pass(int seg, ObjectFileData& data) {
}
lg::error("Bad register dependency on {} in {}", x.to_charp(), func.name());
func.warnings.error("Function may read a register that is not set: {}", x.to_string());
func.warnings.warning("Function may read a register that is not set: {}", x.to_string());
}
}
}
File diff suppressed because it is too large Load Diff
@@ -225,5 +225,6 @@
[199, "(function debug-menu debug-menu symbol)"],
[200, "(function debug-menu debug-menu symbol)"],
[201, "(function debug-menu debug-menu symbol)"]
]
],
"airlock": [[13, "(function pair :behavior com-airlock)"]]
}
+3 -5
View File
@@ -123,10 +123,6 @@
"(method 17 collide-cache)",
"(method 16 ocean)",
// unknown bug
"update-mood-copy-ctywide",
"update-mood-copy-stadium",
"update-mood-drillb",
// "reset-target-tracking",
"(anon-function 1 target)",
"find-nearest-entity",
@@ -189,7 +185,9 @@
"debug-menu-make-from-template",
"debug-menu-context-make-default-menus",
"debug-menu-make-task-menu",
"(method 19 gui-control)"
"(method 19 gui-control)",
// airlock
"(method 24 com-airlock)"
],
// If format is used with the wrong number of arguments,
+1 -1
View File
@@ -179,7 +179,7 @@
],
// uncomment the next line to extract audio to wave files.
//"audio_dir_file_name": "jak1/VAG",
// "audio_dir_file_name": "jak2/VAG",
"audio_dir_file_name": "",
"streamed_audio_file_names": [],
+20 -1
View File
@@ -111,5 +111,24 @@
["L775", "(pointer uint64)", 1]
],
"collide-cache": [["L171", "vector"]],
"emerc-vu1": [["L1", "vu-function"]]
"emerc-vu1": [["L1", "vu-function"]],
"mood-funcs2": [
["L496", "(pointer uint64)", 1],
["L497", "(pointer uint64)", 1],
["L498", "(pointer uint64)", 1],
["L499", "(pointer uint64)", 1],
["L500", "(pointer uint64)", 1],
["L501", "(pointer uint64)", 1],
["L502", "(pointer uint64)", 1],
["L503", "(pointer uint64)", 1],
["L504", "(pointer uint64)", 1],
["L505", "(pointer uint64)", 1],
["L506", "(pointer uint64)", 1],
["L507", "(pointer uint64)", 1],
["L508", "(pointer uint64)", 1],
["L509", "(pointer uint64)", 1],
["L510", "(pointer uint64)", 1],
["L312", "(pointer uint64)", 1],
["L307", "vector"]
]
}
+14 -7
View File
@@ -187,7 +187,6 @@
[608, "vector"]
],
"(method 10 cam-setting-data)": [[16, "event-message-block"]],
"(method 18 tracking-spline)": [
[16, "tracking-spline-sampler"],
[32, "tracking-spline-sampler"]
@@ -303,20 +302,17 @@
],
"cam-debug-draw-tris": [[16, "vector4w"]],
"draw-string-xy": [[16, "font-context"]],
"(code die gun)": [
[16, "matrix"],
[112, "vector"],
[128, "vector"],
[144, "vector"]
],
"draw-beam": [
[16, "vector"],
[32, "vector"],
[48, "vector"]
],
"gun-post": [
[16, "vector"],
[32, "vector"],
@@ -325,7 +321,6 @@
[160, "vector"],
[176, "vector"]
],
"(method 9 gun-info)": [
[16, "collide-query"],
[560, "vector"],
@@ -336,12 +331,10 @@
[640, "vector"],
[656, "vector"]
],
"target-gun-fire-yellow": [
[16, "matrix"],
[112, "event-message-block"]
],
"(method 14 collide-cache)": [[16, "bounding-box"]],
"sp-adjust-launch": [[16, "matrix"]],
"sp-launch-particles-death": [[16, "matrix"]],
@@ -417,6 +410,20 @@
],
"(method 13 gui-control)": [[16, ["array", "sound-id", 4]]],
"ja-play-spooled-anim": [[96, "event-message-block"]],
"(method 24 com-airlock)": [[16, "script-context"]],
"(code close com-airlock)": [[32, "script-context"]],
"(code open com-airlock)": [[16, "script-context"]],
"(method 23 com-airlock)": [[16, "script-context"]],
"update-under-lights": [
[16, "matrix"],
[64, "vector"]
],
"(method 25 com-airlock)": [[48, "script-context"]],
"(anon-function 13 airlock)": [
[176, "script-context"],
[16, "script-context"]
],
"(trans close com-airlock)": [[16, "script-context"]],
// placeholder
"placeholder-do-not-add-below": []
}
+150 -16
View File
@@ -496,21 +496,7 @@
[[30, 32], "v1", "(inline-array vector)"],
[[29, 33], "a0", "(inline-array vector)"]
],
"update-mood-ruins": [[[30, 46], "gp", "(pointer float)"]],
"update-mood-strip": [[[63, 80], "s4", "(pointer float)"]],
"update-mood-ctysluma": [[[23, 81], "gp", "(pointer float)"]],
"update-mood-ctyslumb": [[[19, 59], "s5", "(pointer float)"]],
"update-mood-ctyslumc": [[[19, 47], "s5", "(pointer float)"]],
"update-mood-palcab": [[[23, 53], "s4", "(pointer float)"]],
"update-mood-stadiumb": [[[22, 61], "gp", "(pointer float)"]],
"update-mood-atoll": [[[19, 48], "s4", "(pointer float)"]],
"update-mood-drill": [[[22, 121], "gp", "(pointer float)"]],
"update-mood-casboss": [[[22, 46], "s4", "(pointer float)"]],
"update-mood-caspad": [[[19, 77], "gp", "(pointer float)"]],
"update-mood-palent": [[[18, 43], "s5", "(pointer float)"]],
"update-mood-nest": [[[21, 74], "s5", "(pointer float)"]],
"update-mood-village1": [[[21, 66], "gp", "(pointer float)"]],
"update-mood-consite": [[[84, 110], "s4", "(pointer float)"]],
"update-mood-ruins": [[[19, 46], "gp", "ruins-states"]],
"desaturate-mood-colors": [[[20, 92], "a0", "(inline-array mood-color)"]],
"ramdisk-load": [[[7, 12], "v1", "ramdisk-rpc-load"]],
"(method 10 engine-sound-pers)": [[[2, 19], "v1", "sound-rpc-set-param"]],
@@ -1555,5 +1541,153 @@
[73, "t1", "(pointer gs-reg64)"],
[[82, 85], "a1", "dma-packet"]
//[85, "a1", "dma-bucket"]
]
],
"update-mood-vinroom": [[[16, 140], "gp", "(pointer float)"]],
"update-mood-hiphog": [[[26, 458], "s5", "hiphog-states"]],
"update-mood-sewer": [[[25, 149], "s4", "sewer-states"]],
"update-mood-oracle": [[[17, 134], "s5", "oracle-states"]],
"(exit close com-airlock)": [
[[4, 18], "v1", "sound-rpc-set-param"],
[[24, 38], "v1", "sound-rpc-set-param"]
],
"(trans close com-airlock)": [[[52, 66], "v1", "sound-rpc-set-param"]],
"init-mood-hiphog": [[[0, 239], "gp", "hiphog-states"]],
"init-mood-sewer": [[[0, 20], "gp", "sewer-states"]],
"set-sewer-lights-flag!": [[[9, 17], "v1", "sewer-states"]],
"set-sewer-turret-flash!": [[[8, 11], "v1", "sewer-states"]],
"set-sewesc-explosion!": [[[8, 11], "v1", "sewer-states"]],
"init-mood-oracle": [[[0, 7], "v1", "oracle-states"]],
"set-oracle-purple-flag!": [[9, "v1", "oracle-states"]],
"init-mood-tombc": [[[1, 4], "v1", "tombc-states"]],
"set-tombc-electricity-scale!": [[[9, 11], "v1", "tombc-states"]],
"set-tombboss-gem-light!": [[[9, 11], "v1", "tombboss-states"]],
"init-mood-fordumpa": [[[1, 3], "v1", "fordumpa-states"]],
"update-mood-fordumpa": [[[44, 67], "s5", "fordumpa-states"]],
"set-fordumpa-turret-flash!": [[[9, 13], "v1", "fordumpa-states"]],
"set-fordumpa-electricity-scale!": [[[9, 11], "v1", "fordumpa-states"]],
"init-mood-fordumpc": [[1, "v1", "fordumpc-states"]],
"set-fordumpc-light-flag!": [[9, "v1", "fordumpc-states"]],
"init-mood-forresca": [[[1, 7], "v1", "forresca-states"]],
"set-forresca-electricity-scale!": [[12, "v1", "forresca-states"]],
"init-mood-forrescb": [[[1, 7], "v1", "forrescb-states"]],
"update-mood-forrescb": [[[17, 60], "gp", "forrescb-states"]],
"set-forrescb-turret-flash!": [[13, "v1", "forrescb-states"]],
"set-forrescb-electricity-scale!": [[12, "v1", "forrescb-states"]],
"init-mood-prison": [[[1, 4], "v1", "prison-states"]],
"update-mood-prison": [[[17, 105], "gp", "prison-states"]],
"set-prison-torture-flag!": [[9, "v1", "prison-states"]],
"update-under-lights": [[[1, 5], "v1", "under-states"]],
"update-mood-under": [[[16, 112], "gp", "under-states"]],
"set-under-laser!": [
[10, "v1", "under-states"],
[21, "v1", "under-states"]
],
"set-under-fog-interp!": [
[21, "v1", "under-states"],
[10, "v1", "under-states"]
],
"init-mood-dig1": [[2, "v1", "dig1-states"]],
"update-mood-dig1": [
[[15, 135], "gp", "dig1-states"],
[28, "v1", "float"],
[56, "v1", "float"]
],
"set-dig1-explosion!": [[10, "v1", "dig1-states"]],
"update-mood-vortex": [[[10, 299], "gp", "vortex-states"]],
"set-vortex-flash!": [
[22, "v1", "vortex-states"],
[10, "v1", "vortex-states"]
],
"set-vortex-white!": [
[23, "v1", "vortex-states"],
[11, "v1", "vortex-states"],
[9, "v1", "vortex-states"],
[21, "v1", "vortex-states"]
],
"update-mood-nestb": [[[25, 99], "gp", "nestb-states"]],
"set-nestb-purple!": [[10, "v1", "nestb-states"]],
"get-nestb-purple": [[8, "v1", "nestb-states"]],
"init-mood-consiteb": [[[0, 5], "v1", "consiteb-states"]],
"update-mood-consiteb": [[[22, 117], "gp", "consiteb-states"]],
"init-mood-castle": [[3, "v1", "castle-states"]],
"update-mood-castle": [[[13, 109], "s5", "castle-states"]],
"set-castle-electricity-scale!": [[10, "v1", "castle-states"]],
"init-mood-ruins": [[[1, 22], "gp", "ruins-states"]],
"init-mood-strip": [[[0, 22], "gp", "strip-states"]],
"update-mood-strip": [[[22, 79], "s4", "strip-states"]],
"init-mood-ctysluma": [[[0, 29], "gp", "ctysluma-states"]],
"update-mood-ctysluma": [[[23, 81], "gp", "ctysluma-states"]],
"update-mood-ctyslumb": [[[19, 58], "s5", "ctyslumb-states"]],
"init-mood-ctyslumc": [[[0, 22], "gp", "ctyslumc-states"]],
"update-mood-ctyslumc": [[[19, 46], "gp", "ctyslumc-states"]],
"init-mood-ctyport": [[[1, 11], "gp", "ctyport-states"]],
"init-mood-ctyport-no-part": [[1, "v1", "ctyport-states"]],
"update-mood-ctyport": [[[23, 70], "s5", "ctyport-states"]],
"update-mood-ctymarkb": [[[23, 76], "gp", "ctymarkb-states"]],
"init-mood-palcab": [[3, "v1", "palcab-states"]],
"update-mood-palcab": [[[23, 53], "s4", "palcab-states"]],
"set-palcab-turret-flash!": [[10, "v1", "palcab-states"]],
"update-mood-stadiumb": [[[22, 61], "gp", "stadiumb-states"]],
"init-mood-mountain": [[[0, 77], "gp", "mountain-states"]],
"update-mood-mountain": [[[19, 83], "gp", "mountain-states"]],
"init-mood-atoll": [[2, "v1", "atoll-states"]],
"update-mood-atoll": [[[19, 48], "s4", "atoll-states"]],
"set-atoll-explosion!": [[10, "v1", "atoll-states"]],
"init-mood-drill": [[1, "v1", "drill-states"]],
"update-mood-drill": [[[22, 121], "gp", "drill-states"]],
"set-drill-fire-floor!": [
[9, "v1", "drill-states"],
[19, "v1", "drill-states"]
],
"set-drill-electricity-scale!": [
[12, "v1", "drill-states"],
[25, "v1", "drill-states"]
],
"init-mood-drillb": [[1, "v1", "drillb-states"]],
"update-mood-drillb": [[[17, 93], "gp", "drillb-states"]],
"update-mood-casboss": [[[22, 46], "s4", "casboss-states"]],
"set-casboss-explosion!": [[10, "v1", "casboss-states"]],
"update-mood-caspad": [[[19, 77], "gp", "caspad-states"]],
"init-mood-palroof": [[[0, 7], "v1", "palroof-states"]],
"set-palroof-electricity-scale!": [[12, "v1", "palroof-states"]],
"update-mood-palent": [[[18, 43], "s5", "palent-states"]],
"set-palent-turret-flash!": [[13, "v1", "palent-states"]],
"init-mood-nest": [[1, "v1", "nest-states"]],
"update-mood-nest": [[[21, 72], "s5", "nest-states"]],
"set-nest-green-flag!": [[9, "v1", "nest-states"]],
"init-mood-village1": [[[0, 4], "v1", "village1-states"]],
"update-mood-village1": [[[21, 66], "gp", "village1-states"]],
"clear-village1-interp!": [[[9, 11], "v1", "village1-states"]],
"set-village1-interp!": [[9, "v1", "village1-states"]],
"update-mood-consite": [[[84, 110], "s4", "consite-states"]],
"set-consite-flash!": [[10, "v1", "consite-states"]],
"update-mood-mincan": [[[18, 22], "v1", "mincan-states"]],
"set-mincan-beam!": [[13, "v1", "mincan-states"]],
"copy-mood-exterior-ambi": [
[[12, 16], "a2", "mood-context"],
[[13, 16], "v1", "mood-context"]
],
"update-mood-light": [[[6, 144], "gp", "light-state"]],
"update-mood-lava": [[[6, 36], "gp", "lava-state"]],
"update-mood-flicker": [[[1, 58], "gp", "flicker-state"]],
"update-mood-florescent": [[[1, 48], "gp", "florescent-state"]],
"update-mood-electricity": [[[3, 19], "gp", "electricity-state"]],
"update-mood-pulse": [[[5, 27], "gp", "pulse-state"]],
"update-mood-strobe": [[[2, 42], "gp", "strobe-state"]],
"update-mood-flames": [[[5, 102], "gp", "flames-state"]],
"(method 9 mood-control)": [[636, "v0", "sound-rpc-set-param"]],
"(method 27 com-airlock)": [[35, "v1", "(array string)"]],
"(code close com-airlock)": [
[190, "v0", "sound-rpc-set-param"],
[297, "v0", "sound-rpc-set-param"],
[389, "v0", "sound-rpc-set-param"]
],
"(code open com-airlock)": [
[117, "v0", "sound-rpc-set-param"],
[226, "v0", "sound-rpc-set-param"],
[420, "v0", "sound-rpc-set-param"],
[440, "v0", "sound-rpc-set-param"]
],
// placeholder
"placeholder-do-not-add-below": []
}
+2 -2
View File
@@ -687,8 +687,8 @@ end_type_pass:
input.func->ir2.env.types_succeeded = true;
auto last_type = out.op_end_types.back().get(Register(Reg::GPR, Reg::V0)).typespec();
if (last_type != input.function_type.last_arg()) {
input.func->warnings.info("Return type mismatch {} vs {}.", last_type.print(),
input.function_type.last_arg().print());
input.func->warnings.warning("Return type mismatch {} vs {}.", last_type.print(),
input.function_type.last_arg().print());
}
}
@@ -208,6 +208,7 @@
:flag-assert #x900000020
)
(deftype collide-rider-pool (basic)
((alloc-count int32 :offset-assert 4)
(riders collide-rider 20 :inline :offset-assert 16)
@@ -221,6 +222,8 @@
)
)
;; WARN: Return type mismatch int vs none.
(defmethod prepare collide-rider-pool ((obj collide-rider-pool))
"Gets this pool ready to be used to allow allocations. This should be called once at the start of every frame."
(set! (-> obj alloc-count) 0)
@@ -239,10 +242,15 @@
:flag-assert #x900000020
)
(kmemopen global "collide-lists")
(define *collide-hit-by-player-list* (new 'global 'engine 'collide-hit-by-player-list 640 connection))
(define *collide-hit-by-others-list* (new 'global 'engine 'collide-hit-by-others-list 768 connection))
(define *collide-player-list* (new 'global 'engine 'collide-player-list 32 connection))
(kmemclose)
(deftype overlaps-others-params (structure)
@@ -258,6 +266,7 @@
:flag-assert #x900000018
)
(deftype move-above-ground-params (structure)
((gnd-collide-with collide-spec :offset-assert 0)
(popup float :offset-assert 4)
@@ -276,10 +285,11 @@
:flag-assert #x90000006c
)
(deftype collide-prim-core (structure)
((world-sphere vector :inline :offset-assert 0)
(collide-as collide-spec :offset-assert 16)
(collide-with uint32 :offset-assert 20)
(collide-with collide-spec :offset-assert 20)
(action collide-action :offset-assert 24)
(prim-type prim-type :offset-assert 28)
(unused1 uint8 3 :offset-assert 29)
@@ -290,6 +300,7 @@
:flag-assert #x900000020
)
(deftype collide-shape-prim (basic)
((cshape collide-shape :offset-assert 4)
(prim-id uint32 :offset-assert 8)
@@ -324,6 +335,7 @@
)
)
(deftype collide-shape-prim-sphere (collide-shape-prim)
((pat pat-surface :offset 64)
(nav-radius float :offset 68)
@@ -351,6 +363,7 @@
)
)
(deftype collide-shape-prim-group (collide-shape-prim)
((num-children uint8 :offset 64)
(num-alloc-children uint8 :offset 65)
@@ -364,6 +377,7 @@
)
)
(deftype collide-shape (trsqv)
((actor-hash-index int16 :offset 12)
(process process :offset-assert 140)
@@ -418,6 +432,7 @@
)
)
(deftype collide-shape-moving (collide-shape)
((rider-time time-frame :offset-assert 200)
(rider-last-move vector :inline :offset-assert 208)
@@ -474,13 +489,14 @@
(set! (-> v0-0 prim-id) arg1)
(set! (-> v0-0 prim-core action) (collide-action))
(set! (-> v0-0 prim-core collide-as) (collide-spec))
(set! (-> v0-0 prim-core collide-with) (the-as uint 0))
(set! (-> v0-0 prim-core collide-with) (collide-spec))
(set! (-> v0-0 transform-index) -2)
(set! (-> v0-0 prim-core prim-type) (prim-type prim))
v0-0
)
)
;; WARN: Return type mismatch collide-shape-prim vs collide-shape-prim-sphere.
(defmethod new collide-shape-prim-sphere ((allocation symbol) (type-to-make type) (arg0 collide-shape) (arg1 uint))
(let ((v0-0 ((method-of-type collide-shape-prim new) allocation type-to-make arg0 arg1 80)))
(set! (-> (the-as collide-shape-prim-sphere v0-0) pat)
@@ -491,6 +507,7 @@
)
)
;; WARN: Return type mismatch collide-shape-prim vs collide-shape-prim-mesh.
(defmethod new collide-shape-prim-mesh ((allocation symbol) (type-to-make type) (arg0 collide-shape) (arg1 uint) (arg2 uint))
(let ((v0-0 ((method-of-type collide-shape-prim new) allocation type-to-make arg0 arg2 80)))
(set! (-> (the-as collide-shape-prim-mesh v0-0) mesh) #f)
@@ -501,6 +518,7 @@
)
)
;; WARN: Return type mismatch collide-shape-prim vs collide-shape-prim-group.
(defmethod new collide-shape-prim-group ((allocation symbol) (type-to-make type) (arg0 collide-shape) (arg1 uint) (arg2 int))
(let ((v0-0 ((method-of-type collide-shape-prim new) allocation type-to-make arg0 (the-as uint arg2) 80)))
(set! (-> (the-as collide-shape-prim-group v0-0) num-children) arg1)
@@ -513,6 +531,7 @@
)
)
;; WARN: Return type mismatch uint8 vs int.
(defmethod length collide-shape-prim-group ((obj collide-shape-prim-group))
(the-as int (-> obj num-children))
)
@@ -565,6 +584,7 @@
)
)
;; WARN: Return type mismatch collide-shape vs collide-shape-moving.
(defmethod new collide-shape-moving ((allocation symbol) (type-to-make type) (arg0 process-drawable) (arg1 collide-list-enum))
(let ((v0-0 ((method-of-type collide-shape new) allocation type-to-make arg0 arg1)))
(set! (-> (the-as collide-shape-moving v0-0) gspot-pos y) -40959590.0)
@@ -602,3 +622,8 @@
(define-perm *collide-rider-pool* collide-rider-pool (new 'global 'collide-rider-pool))
0
@@ -5,5 +5,7 @@
;; name in dgo: default-menu
;; dgos: ENGINE, GAME
(declare-type debug-menu-context basic)
;; DECOMP BEGINS
+4
View File
@@ -26,6 +26,10 @@
;; NOTE - for cam-start
(define-extern reset-cameras (function none))
;; NOTE - for airlock
(define-extern process-entity-status! (function process entity-perm-status symbol int))
(define-extern process-drawable-from-entity! (function process-drawable entity-actor none))
;; DECOMP BEGINS
(define *generate-actor-vis* #f)
@@ -5,5 +5,136 @@
;; name in dgo: game-task-h
;; dgos: ENGINE, GAME
;; +++game-task
(defenum game-task
:type uint8
:bitfield #f
(none 0)
(complete 1)
(dummy0 2)
(eco-blue-button 3)
(eco-yellow-button 4)
(eco-red-button 5)
(fortress-escape 6)
(city-help-kid 7)
(city-vehicle-training 8)
(ruins-tower 9)
(atoll-water 10)
(fortress-dump 11)
(city-krew-delivery 12)
(city-red-gun-training 13)
(atoll-sig 14)
(sewer-enemy 15)
(strip-rescue 16)
(atoll-battle 17)
(mountain-lens 18)
(mountain-gear 19)
(mountain-shard 20)
(mountain-collection 21)
(city-keira-delivery 22)
(stadium-board1 23)
(city-krew-collection 24)
(city-yellow-gun-training 25)
(drill-eggs 26)
(city-power 27)
(palace-cable 28)
(palace-boss 29)
(city-shuttle 30)
(ruins-enemy 31)
(city-blue-gun-training 32)
(forest-scouts 33)
(city-escort-kid 34)
(dig-knock-down 35)
(strip-grenade 36)
(drill-ship 37)
(city-port-run 38)
(city-meet-brutter 39)
(sewer-board 40)
(forest-hunt 41)
(city-intercept-tanker 42)
(stadium-race-class3 43)
(city-protect-water-slums 44)
(dig-find-totem 45)
(city-destroy-guard-vehicles 46)
(city-play-onin-game 47)
(canyon-insert-items 48)
(tomb-poles 49)
(tomb-water 50)
(tomb-boss 51)
(fortress-save-friends 52)
(sewer-escort 53)
(city-dark-gun-training 54)
(stadium-race-class2 55)
(city-stop-bomb-bots 56)
(city-errol-challenge 57)
(strip-drop 58)
(ruins-mech 59)
(forest-protect 60)
(drill-mech 61)
(city-save-lurkers 62)
(stadium-race-class 63)
(palace-sneak-in 64)
(castle-break-in 65)
(castle-boss 66)
(city-whack 67)
(under-mech 68)
(under-sig 69)
(city-defend-stadium 70)
(consite-find-baron 71)
(nest-get-to-gun 72)
(nest-enter 73)
(nest-boss 74)
(city-win 75)
(city-oracle 76)
(city-burning-bush-ring-1 77)
(city-burning-bush-get-to-1 78)
(city-burning-bush-get-to-2 79)
(city-burning-bush-get-to-3 80)
(city-burning-bush-get-to-4 81)
(city-burning-bush-collection-1 82)
(city-burning-bush-racepoint-1 83)
(city-burning-bush-ring-2 84)
(city-burning-bush-get-to-5 85)
(city-burning-bush-get-to-6 86)
(city-burning-bush-shuttle-1 87)
(city-burning-bush-get-to-7 88)
(city-burning-bush-get-to-8 89)
(city-burning-bush-get-to-9 90)
(city-burning-bush-collection-2 91)
(city-burning-bush-get-to-10 92)
(city-burning-bush-get-to-11 93)
(city-burning-bush-ring-3 94)
(city-burning-bush-get-to-12 95)
(city-burning-bush-bombbot-1 96)
(city-burning-bush-get-to-13 97)
(city-burning-bush-get-to-14 98)
(city-burning-bush-get-to-15 99)
(city-burning-bush-collection-3 100)
(city-burning-bush-race-errol 101)
(city-burning-bush-race-port 102)
(stadium-burning-bush-race-board 103)
(stadium-burning-bush-race-class3 104)
(stadium-burning-bush-race-class2 105)
(stadium-burning-bush-race-class1 106)
(stadium-burning-bush-race-class3-r 107)
(stadium-burning-bush-race-class2-r 108)
(stadium-burning-bush-race-class1-r 109)
(max 110))
;; ---game-task
;; +++game-task-node
(defenum game-task-node
:type uint32
:bitfield #f
(dig-knock-down-resolution 113)
(tomb-boss-torches 167)
(fortress-save-friends-resolution 172)
(drill-mech-resolution 204)
(drill-mech-started-smashing 205))
;; ---game-task-node
;; NOTE - for mood-funcs
(define-extern task-node-closed? (function game-task-node symbol))
;; DECOMP BEGINS
@@ -5,123 +5,6 @@
;; name in dgo: task-control-h
;; dgos: ENGINE, GAME
(defenum game-task
:type uint8
:bitfield #f
(none 0)
(complete 1)
(dummy0 2)
(eco-blue-button 3)
(eco-yellow-button 4)
(eco-red-button 5)
(fortress-escape 6)
(city-help-kid 7)
(city-vehicle-training 8)
(ruins-tower 9)
(atoll-water 10)
(fortress-dump 11)
(city-krew-delivery 12)
(city-red-gun-training 13)
(atoll-sig 14)
(sewer-enemy 15)
(strip-rescue 16)
(atoll-battle 17)
(mountain-lens 18)
(mountain-gear 19)
(mountain-shard 20)
(mountain-collection 21)
(city-keira-delivery 22)
(stadium-board1 23)
(city-krew-collection 24)
(city-yellow-gun-training 25)
(drill-eggs 26)
(city-power 27)
(palace-cable 28)
(palace-boss 29)
(city-shuttle 30)
(ruins-enemy 31)
(city-blue-gun-training 32)
(forest-scouts 33)
(city-escort-kid 34)
(dig-knock-down 35)
(strip-grenade 36)
(drill-ship 37)
(city-port-run 38)
(city-meet-brutter 39)
(sewer-board 40)
(forest-hunt 41)
(city-intercept-tanker 42)
(stadium-race-class3 43)
(city-protect-water-slums 44)
(dig-find-totem 45)
(city-destroy-guard-vehicles 46)
(city-play-onin-game 47)
(canyon-insert-items 48)
(tomb-poles 49)
(tomb-water 50)
(tomb-boss 51)
(fortress-save-friends 52)
(sewer-escort 53)
(city-dark-gun-training 54)
(stadium-race-class2 55)
(city-stop-bomb-bots 56)
(city-errol-challenge 57)
(strip-drop 58)
(ruins-mech 59)
(forest-protect 60)
(drill-mech 61)
(city-save-lurkers 62)
(stadium-race-class 63)
(palace-sneak-in 64)
(castle-break-in 65)
(castle-boss 66)
(city-whack 67)
(under-mech 68)
(under-sig 69)
(city-defend-stadium 70)
(consite-find-baron 71)
(nest-get-to-gun 72)
(nest-enter 73)
(nest-boss 74)
(city-win 75)
(city-oracle 76)
(city-burning-bush-ring-1 77)
(city-burning-bush-get-to-1 78)
(city-burning-bush-get-to-2 79)
(city-burning-bush-get-to-3 80)
(city-burning-bush-get-to-4 81)
(city-burning-bush-collection-1 82)
(city-burning-bush-racepoint-1 83)
(city-burning-bush-ring-2 84)
(city-burning-bush-get-to-5 85)
(city-burning-bush-get-to-6 86)
(city-burning-bush-shuttle-1 87)
(city-burning-bush-get-to-7 88)
(city-burning-bush-get-to-8 89)
(city-burning-bush-get-to-9 90)
(city-burning-bush-collection-2 91)
(city-burning-bush-get-to-10 92)
(city-burning-bush-get-to-11 93)
(city-burning-bush-ring-3 94)
(city-burning-bush-get-to-12 95)
(city-burning-bush-bombbot-1 96)
(city-burning-bush-get-to-13 97)
(city-burning-bush-get-to-14 98)
(city-burning-bush-get-to-15 99)
(city-burning-bush-collection-3 100)
(city-burning-bush-race-errol 101)
(city-burning-bush-race-port 102)
(stadium-burning-bush-race-board 103)
(stadium-burning-bush-race-class3 104)
(stadium-burning-bush-race-class2 105)
(stadium-burning-bush-race-class1 106)
(stadium-burning-bush-race-class3-r 107)
(stadium-burning-bush-race-class2-r 108)
(stadium-burning-bush-race-class1-r 109)
(max 110)
)
(defenum game-task-actor
:bitfield #f
:type uint8
@@ -627,6 +510,7 @@
)
)
;; WARN: Return type mismatch int vs game-task.
(defun c-string->game-task ((arg0 string))
(the-as game-task (cond
((string= arg0 "GAME_TASK_FOREST_PROTECT")
@@ -1226,21 +1110,6 @@
:flag-assert #x900000010
)
(defmethod inspect game-task-event ((obj game-task-event))
(when (not obj)
(set! obj obj)
(goto cfg-4)
)
(format #t "[~8x] ~A~%" obj (-> obj type))
(format #t "~1Tactor: #x~X : ~S~%" (-> obj actor) (game-task-actor->string (-> obj actor)))
(format #t "~1Taction: #x~X : ~S~%" (-> obj action) (game-task-action->string (-> obj action)))
(format #t "~1Tflags: ~D~%" (-> obj flags))
(format #t "~1Ticon: ~D~%" (-> obj icon))
(format #t "~1Tscene: ~A~%" (-> obj scene))
(format #t "~1Tdistance: (meters ~m)~%" (-> obj distance))
(label cfg-4)
obj
)
(deftype task-manager-info (structure)
((mask task-manager-mask :offset-assert 0)
@@ -1276,64 +1145,8 @@
:flag-assert #x900000080
)
(defmethod inspect task-manager-info ((obj task-manager-info))
(when (not obj)
(set! obj obj)
(goto cfg-16)
)
(format #t "[~8x] ~A~%" obj 'task-manager-info)
(format #t "~1Tmask: #x~X : (task-manager-mask " (-> obj mask))
(let ((s5-0 (-> obj mask)))
(if (= (logand s5-0 (task-manager-mask intro-scene)) (task-manager-mask intro-scene))
(format #t "intro-scene ")
)
(if (= (logand s5-0 (task-manager-mask resolution-scene)) (task-manager-mask resolution-scene))
(format #t "resolution-scene ")
)
(if (= (logand s5-0 (task-manager-mask fail-message)) (task-manager-mask fail-message))
(format #t "fail-message ")
)
(if (= (logand s5-0 (task-manager-mask begin-sphere)) (task-manager-mask begin-sphere))
(format #t "begin-sphere ")
)
(if (= (logand s5-0 (task-manager-mask retry-message)) (task-manager-mask retry-message))
(format #t "retry-message ")
)
(if (= (logand s5-0 (task-manager-mask end-sphere)) (task-manager-mask end-sphere))
(format #t "end-sphere ")
)
)
(format #t ")~%")
(format #t "~1Tlevel: ~A~%" (-> obj level))
(format #t "~1Tmanager: ~`handle`P~%" (-> obj manager))
(format #t "~1Tfail-message: ~D~%" (-> obj fail-message))
(format #t "~1Tretry-message: ~D~%" (-> obj retry-message))
(format #t "~1Tintro-scene: ~A~%" (-> obj intro-scene))
(format #t "~1Tresolution-scene: ~A~%" (-> obj resolution-scene))
(format #t "~1Tresolution-scene-continue: ~A~%" (-> obj resolution-scene-continue))
(format #t "~1Tretry-continue: ~A~%" (-> obj retry-continue))
(format #t "~1Tfail-continue: ~A~%" (-> obj fail-continue))
(format #t "~1Tinit-hook: ~A~%" (-> obj init-hook))
(format #t "~1Tcleanup-hook: ~A~%" (-> obj cleanup-hook))
(format #t "~1Tupdate-hook: ~A~%" (-> obj update-hook))
(format #t "~1Tcode-hook: ~A~%" (-> obj code-hook))
(format #t "~1Tcomplete-hook: ~A~%" (-> obj complete-hook))
(format #t "~1Tfail-hook: ~A~%" (-> obj fail-hook))
(format #t "~1Tevent-hook: ~A~%" (-> obj event-hook))
(format #t "~1Tfinal-node: ~D~%" (-> obj final-node))
(format #t "~1Ttime-limit: ~D~%" (-> obj time-limit))
(format #t "~1Tsphere-count: ~D~%" (-> obj sphere-count))
(format #t "~1Tindex: ~D~%" (-> obj index))
(format #t "~1Tintro-delay: ~D~%" (-> obj intro-delay))
(format #t "~1Tsphere-array: #x~X~%" (-> obj sphere-array))
(format #t "~1Ton-complete: ~A~%" (-> obj on-complete))
(format #t "~1Ton-fail: ~A~%" (-> obj on-fail))
(format #t "~1Tbegin-sphere: #<sphere @ #x~X>~%" (-> obj begin-sphere))
(format #t "~1Tend-sphere: #<sphere @ #x~X>~%" (-> obj end-sphere))
(label cfg-16)
obj
)
;; WARN: Return type mismatch object vs none.
(defun-debug game-task-node-flag->string ((arg0 game-task-node-flag))
(if (= (logand arg0 (game-task-node-flag clear-task-mask)) (game-task-node-flag clear-task-mask))
(format #t "clear-task-mask ")
@@ -1508,99 +1321,6 @@
)
)
(defmethod inspect game-task-node-info ((obj game-task-node-info))
(when (not obj)
(set! obj obj)
(goto cfg-45)
)
(format #t "[~8x] ~A~%" obj (-> obj type))
(format #t "~1Tlevel: ~A~%" (-> obj level))
(format #t "~1Ttask: #x~X : ~S~%" (-> obj task) (game-task->string (-> obj task)))
(format #t "~1Tname: ~A~%" (-> obj name))
(format #t "~1Twhen-open: ~A~%" (-> obj when-open))
(format #t "~1Tflags: #x~X : (game-task-node-flag " (-> obj flags))
(game-task-node-flag->string (-> obj flags))
(format #t ")~%")
(format #t "~1Tparent-node[4] @ #x~X~%" (-> obj parent-node))
(dotimes (s5-1 4)
(format #t "~T [~D]~1Tparent-node: ~D~%" s5-1 (-> obj parent-node s5-1))
)
(format #t "~1Ttask-mask: #x~X : (task-mask " (-> obj task-mask))
(let ((s5-2 (-> obj task-mask)))
(if (= (logand s5-2 (task-mask task0)) (task-mask task0))
(format #t "task0 ")
)
(if (= (logand s5-2 (task-mask task2)) (task-mask task2))
(format #t "task2 ")
)
(if (= (logand s5-2 (task-mask task4)) (task-mask task4))
(format #t "task4 ")
)
(if (= (logand s5-2 (task-mask task6)) (task-mask task6))
(format #t "task6 ")
)
(if (= (logand s5-2 (task-mask ctywide)) (task-mask ctywide))
(format #t "ctywide ")
)
(if (= (logand s5-2 (task-mask never)) (task-mask never))
(format #t "never ")
)
(if (= (logand (task-mask movie1) s5-2) (task-mask movie1))
(format #t "movie1 ")
)
(if (= (logand s5-2 (task-mask dummy1)) (task-mask dummy1))
(format #t "dummy1 ")
)
(if (= (logand s5-2 (task-mask primary0)) (task-mask primary0))
(format #t "primary0 ")
)
(if (= (logand s5-2 (task-mask task1)) (task-mask task1))
(format #t "task1 ")
)
(if (= (logand s5-2 (task-mask task3)) (task-mask task3))
(format #t "task3 ")
)
(if (= (logand s5-2 (task-mask task5)) (task-mask task5))
(format #t "task5 ")
)
(if (= (logand s5-2 (task-mask task7)) (task-mask task7))
(format #t "task7 ")
)
(if (= (logand (task-mask movie2) s5-2) (task-mask movie2))
(format #t "movie2 ")
)
(if (= (logand s5-2 (task-mask dummy2)) (task-mask dummy2))
(format #t "dummy2 ")
)
(if (= (logand s5-2 (task-mask done)) (task-mask done))
(format #t "done ")
)
(if (= (logand s5-2 (task-mask special)) (task-mask special))
(format #t "special ")
)
(if (= (logand (task-mask movie0) s5-2) (task-mask movie0))
(format #t "movie0 ")
)
(if (= (logand s5-2 (task-mask dummy0)) (task-mask dummy0))
(format #t "dummy0 ")
)
)
(format #t ")~%")
(format #t "~1Ton-open: ~A~%" (-> obj on-open))
(format #t "~1Tinfo: #<task-manager-info @ #x~X>~%" (-> obj info))
(format #t "~1Tborrow: ~A~%" (-> obj borrow))
(format #t "~1Topen?: ~A~%" (-> obj open?))
(format #t "~1Ton-close: ~A~%" (-> obj on-close))
(format #t "~1Tclose-time: ~D~%" (-> obj close-time))
(format #t "~1Tdeath-count: ~D~%" (-> obj death-count))
(format #t "~1Tgem-count: ~D~%" (-> obj gem-count))
(format #t "~1Tskill-count: ~D~%" (-> obj skill-count))
(format #t "~1Tsuck-death-count: ~D~%" (-> obj suck-death-count))
(format #t "~1Tadd: #x~X : ~S~%" (-> obj add) (game-task-node-command->string (-> obj add)))
(format #t "~1Tdescription: ~D~%" (-> obj description))
(label cfg-45)
obj
)
(deftype game-task-info (basic)
((name basic :offset-assert 4)
@@ -1617,6 +1337,7 @@
:flag-assert #x900000020
)
(deftype game-task-control (basic)
((counter uint32 :offset-assert 4)
(actor game-task-actor :offset-assert 8)
@@ -1631,21 +1352,7 @@
)
)
(defmethod inspect game-task-control ((obj game-task-control))
(when (not obj)
(set! obj obj)
(goto cfg-4)
)
(format #t "[~8x] ~A~%" obj (-> obj type))
(format #t "~1Tcounter: ~D~%" (-> obj counter))
(format #t "~1Tactor: #x~X : ~S~%" (-> obj actor) (game-task-actor->string (-> obj actor)))
(format #t "~1Tcurrent-node: ~D~%" (-> obj current-node))
(format #t "~1Tcurrent-event: ~A~%" (-> obj current-event))
(label cfg-4)
obj
)
;; definition of type task-manager
(deftype task-manager (process)
((node-info basic :offset-assert 128)
(info task-manager-info :offset-assert 132)
@@ -1713,9 +1420,10 @@
)
;; definition for symbol *traffic-engine*, type object
(define *traffic-engine* (the-as object #f))
0
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
+58 -27
View File
@@ -7,6 +7,8 @@
;; todo docs and method names.
(declare-type sky-color-day structure)
;; DECOMP BEGINS
(deftype mood-channel (structure)
@@ -18,6 +20,7 @@
:flag-assert #x900000060
)
(deftype mood-channel-group (structure)
((data mood-channel 4 :inline :offset-assert 0)
)
@@ -26,6 +29,7 @@
:flag-assert #x900000180
)
(deftype mood-fog (structure)
((fog-color vector :inline :offset-assert 0)
(fog-dists vector :inline :offset-assert 16)
@@ -40,14 +44,17 @@
:flag-assert #x900000030
)
(deftype mood-fog-table (structure)
((data mood-fog 8 :inline :offset-assert 0)
((data mood-fog 8 :inline :offset-assert 0)
(data-raw uint128 24 :offset 0)
)
:method-count-assert 9
:size-assert #x180
:flag-assert #x900000180
)
(deftype mood-color (structure)
((lgt-color vector :inline :offset-assert 0)
(amb-color vector :inline :offset-assert 16)
@@ -57,6 +64,7 @@
:flag-assert #x900000020
)
(deftype mood-direction-table (structure)
((data vector 4 :inline :offset-assert 0)
)
@@ -65,14 +73,17 @@
:flag-assert #x900000040
)
(deftype mood-color-table (structure)
((data mood-color 8 :inline :offset-assert 0)
((data mood-color 8 :inline :offset-assert 0)
(data-raw uint128 16 :offset 0)
)
:method-count-assert 9
:size-assert #x100
:flag-assert #x900000100
)
(deftype mood-sky-table (structure)
((data vector 8 :inline :offset-assert 0)
)
@@ -81,6 +92,7 @@
:flag-assert #x900000080
)
(deftype mood-clouds (structure)
((cloud-min float :offset-assert 0)
(cloud-max float :offset-assert 4)
@@ -90,6 +102,7 @@
:flag-assert #x900000008
)
(deftype mood-weather (structure)
((data float 2 :offset-assert 0)
(cloud float :offset 0)
@@ -102,6 +115,7 @@
:flag-assert #x900000008
)
(deftype mood-iweather (structure)
((data int32 2 :offset-assert 0)
(cloud int32 :offset 0)
@@ -113,6 +127,7 @@
:flag-assert #x900000008
)
(deftype mood-range (structure)
((data float 4 :offset-assert 0)
(min-cloud float :offset 0)
@@ -126,6 +141,7 @@
:flag-assert #x900000010
)
(deftype mood-filters-table (structure)
((data vector 8 :inline :offset-assert 0)
)
@@ -134,19 +150,21 @@
:flag-assert #x900000080
)
(deftype mood-table (basic)
((mood-fog-table mood-fog-table :offset-assert 4)
(mood-color-table mood-color-table :offset-assert 8)
(mood-channel-group mood-channel-group :offset-assert 12)
(mood-direction-table mood-direction-table :offset-assert 16)
(mood-sky-table mood-sky-table :offset-assert 20)
(mood-interp-table basic :offset-assert 24)
(mood-interp-table sky-color-day :offset-assert 24)
)
:method-count-assert 9
:size-assert #x1c
:flag-assert #x90000001c
)
(deftype mood-context-core (structure)
((current-fog mood-fog :inline :offset-assert 0)
(current-sky-color vector :inline :offset-assert 48)
@@ -159,6 +177,7 @@
:flag-assert #x900000070
)
(deftype mood-context-core2 (mood-context-core)
((light-group light-group 8 :inline :offset-assert 112)
)
@@ -167,6 +186,7 @@
:flag-assert #x900000670
)
(deftype mood-context-core3 (mood-context-core2)
((times vector 8 :inline :offset-assert 1648)
)
@@ -175,16 +195,20 @@
:flag-assert #x9000006f0
)
(deftype mood-context (mood-context-core3)
"`state` holds an arbitrary state structure, ie `[[sewer-states]]` and is used
when updating the mood. This means that an individual state structure must be less than 128 bytes"
((itimes vector4w 4 :inline :offset-assert 1776)
(state uint32 32 :offset-assert 1840)
(clear uint128 123 :offset 0) ;; added
(data uint128 123 :offset 0)
)
:method-count-assert 9
:size-assert #x7b0
:flag-assert #x9000007b0
)
(deftype mood-control-work (structure)
((weather mood-weather :inline :offset-assert 0)
(iweather mood-iweather :inline :offset-assert 8)
@@ -202,33 +226,34 @@
:flag-assert #x90000004c
)
(deftype mood-control (mood-table)
((mood-clouds mood-clouds :offset-assert 28)
(current-interp mood-weather :inline :offset-assert 32)
(target-interp mood-weather :inline :offset-assert 40)
(speed-interp mood-weather :inline :offset-assert 48)
(range mood-range :inline :offset-assert 64)
(time-until-random mood-weather :inline :offset-assert 80)
(time-until-random-min mood-weather :inline :offset-assert 88)
(time-until-random-max mood-weather :inline :offset-assert 96)
(display-flag symbol :offset-assert 104)
(overide-weather-flag symbol :offset-assert 108)
(overide mood-weather :inline :offset-assert 112)
(lightning-index int32 :offset-assert 120)
(lightning-val int32 :offset-assert 124)
(lightning-time int32 :offset-assert 128)
(lightning-time2 float :offset-assert 132)
(lightning-flash float :offset-assert 136)
(lightning-id sound-id :offset-assert 140)
(lightning-count0 uint32 :offset-assert 144)
(lightning-count1 uint32 :offset-assert 148)
(lightning-count2 uint32 :offset-assert 152)
(rain-id uint32 :offset-assert 156)
(sound-pitch float :offset-assert 160)
((mood-clouds mood-clouds :offset-assert 28)
(current-interp mood-weather :inline :offset-assert 32)
(target-interp mood-weather :inline :offset-assert 40)
(speed-interp mood-weather :inline :offset-assert 48)
(range mood-range :inline :offset-assert 64)
(time-until-random mood-weather :inline :offset-assert 80)
(time-until-random-min mood-weather :inline :offset-assert 88)
(time-until-random-max mood-weather :inline :offset-assert 96)
(display-flag symbol :offset-assert 104)
(overide-weather-flag symbol :offset-assert 108)
(overide mood-weather :inline :offset-assert 112)
(lightning-index int32 :offset-assert 120)
(lightning-val int32 :offset-assert 124)
(lightning-time int32 :offset-assert 128)
(lightning-time2 float :offset-assert 132)
(lightning-flash float :offset-assert 136)
(lightning-id sound-id :offset-assert 140)
(lightning-count0 uint32 :offset-assert 144)
(lightning-count1 uint32 :offset-assert 148)
(lightning-count2 uint32 :offset-assert 152)
(rain-id uint32 :offset-assert 156)
(sound-pitch float :offset-assert 160)
(fogs mood-fog-table 9 :offset-assert 164)
(colors mood-color-table 3 :offset-assert 200)
(channels mood-channel-group 3 :offset-assert 212)
(clouds mood-clouds 9 :offset-assert 224)
(clouds mood-clouds 9 :offset-assert 224)
)
:method-count-assert 19
:size-assert #x104
@@ -247,3 +272,9 @@
)
)
0
+4 -1
View File
@@ -5,6 +5,8 @@
;; name in dgo: mood-tables
;; dgos: ENGINE, GAME
;; og:ignore-from-loc
;; DECOMP BEGINS
(define *no-cloud-haze-mood-fog-table*
@@ -799,6 +801,7 @@
)
)
;; WARN: Return type mismatch symbol vs none.
(defun init-mood-control ((arg0 mood-control))
(set! (-> arg0 mood-fog-table) (new 'global 'mood-fog-table))
(set! (-> arg0 mood-color-table) (new 'global 'mood-color-table))
@@ -806,7 +809,7 @@
(set! (-> arg0 mood-clouds) (new 'global 'mood-clouds))
(set! (-> arg0 mood-direction-table) *mood-direction-table*)
(set! (-> arg0 mood-sky-table) *mood-sky-table*)
(set! (-> arg0 mood-interp-table) (the-as basic *mood-interp-table*))
(set! (-> arg0 mood-interp-table) *mood-interp-table*)
(mem-copy! (the-as pointer (-> arg0 mood-fog-table)) (the-as pointer *no-cloud-clear-mood-fog-table*) 384)
(mem-copy! (the-as pointer (-> arg0 mood-color-table)) (the-as pointer *no-cloud-mood-color-table*) 256)
(mem-copy! (the-as pointer (-> arg0 mood-channel-group)) (the-as pointer *no-cloud-mood-channel-group*) 384)
@@ -5,6 +5,8 @@
;; name in dgo: mood-tables2
;; dgos: ENGINE, GAME
;; og:ignore-from-loc
;; DECOMP BEGINS
;; this file is debug only
@@ -94,13 +96,14 @@
)
)
;; WARN: Return type mismatch pointer vs none.
(defun init-overide-table ((arg0 mood-table))
(set! (-> arg0 mood-fog-table) (new 'debug 'mood-fog-table))
(set! (-> arg0 mood-color-table) (new 'debug 'mood-color-table))
(set! (-> arg0 mood-channel-group) *no-cloud-mood-channel-group*)
(set! (-> arg0 mood-direction-table) *mood-direction-table*)
(set! (-> arg0 mood-sky-table) *mood-sky-table*)
(set! (-> arg0 mood-interp-table) (the-as basic *mood-interp-table*))
(set! (-> arg0 mood-interp-table) *mood-interp-table*)
(mem-copy! (the-as pointer (-> arg0 mood-fog-table)) (the-as pointer *no-cloud-clear-mood-fog-table*) 384)
(mem-copy! (the-as pointer (-> arg0 mood-color-table)) (the-as pointer *no-cloud-mood-color-table*) 256)
(none)
@@ -110,6 +113,7 @@
(init-overide-table *overide-table*)
;; WARN: Return type mismatch object vs none.
(defun print-mood-tables ()
"Print out the contents of the [[*overide-table*]]"
(mem-copy! (the-as pointer (-> *overide-table* mood-fog-table)) (the-as pointer *overide-mood-fog-table*) 384)
@@ -251,6 +255,7 @@
(none)
)
;; WARN: Return type mismatch object vs none.
(defun desaturate-mood-colors ((arg0 float) (arg1 float) (arg2 float))
"Unused - Generate GOAL code for a new [[*overide-mood-color-table*]] definition that desaturates the color
Apply said overrides to the [[*overide-table*]]"
@@ -347,6 +352,7 @@
(none)
)
;; WARN: Return type mismatch object vs none.
(defun desaturate-mood-fog ((arg0 (pointer mood-fog-table)) (arg1 float) (arg2 float))
"Unused - Generate GOAL code for a new [[*overide-mood-fog-table*]] definition that desaturates the fog color
Apply said overrides to the [[*overide-table*]]"
@@ -423,3 +429,4 @@
+976 -2
View File
@@ -5,16 +5,990 @@
;; name in dgo: mood
;; dgos: ENGINE, GAME
;; og:ignore-form:update-mood-direction
;; og:ignore-form:(defmethod gen-lightning-and-thunder!
;; og:ignore-form:(defmethod init-weather!
(define-extern update-mood-direction (function mood-context-core3 mood-table float float))
;; DECOMP BEGINS
(defun palette-select-special ((arg0 mood-context-core3))
"Use the `special` time-of-day mode palette"
(dotimes (v1-0 8)
(if (logtest? (-> *time-of-day-context* mode) (ash 16 v1-0))
(set! (-> arg0 times v1-0 w) (-> *time-of-day-context* times v1-0 w))
(set! (-> arg0 times v1-0 w) 0.0)
)
)
#f
)
(defun clear-mood-times ((arg0 mood-context))
"Clear all of the mood times on the given context"
(dotimes (v1-0 8)
(set! (-> arg0 times v1-0 w) 0.0)
)
#f
)
;; WARN: Return type mismatch int vs none.
;; WARN: Function may read a register that is not set: f31
(defun update-mood-itimes ((arg0 mood-context))
(local-vars
(r0-0 int)
(r0-1 int)
(r0-2 int)
(v1-1 uint128)
(v1-2 uint128)
(v1-3 uint128)
(v1-4 uint128)
(a1-0 uint128)
(a1-1 uint128)
(a1-2 uint128)
(a1-3 uint128)
(a2-0 uint128)
(a2-1 uint128)
(a3-0 uint128)
(a3-1 uint128)
(t0-0 uint128)
(t0-1 uint128)
(t1-0 uint128)
(t1-1 uint128)
(t2-0 uint128)
(t2-1 uint128)
(t3-0 uint128)
(t3-1 uint128)
(f31-0 none)
)
(rlet ((vf1 :class vf)
(vf2 :class vf)
(vf3 :class vf)
(vf4 :class vf)
(vf5 :class vf)
(vf6 :class vf)
(vf7 :class vf)
(vf8 :class vf)
)
(nop!)
(nop!)
*time-of-day-context*
(nop!)
(.lvf vf1 (&-> arg0 times 0 quad))
(nop!)
(.lvf vf2 (&-> arg0 times 1 quad))
(.mul.w.vf vf1 vf1 vf1 :mask #b111)
(.lvf vf3 (&-> arg0 times 2 quad))
(.mul.w.vf vf2 vf2 vf2 :mask #b111)
(.lvf vf4 (&-> arg0 times 3 quad))
(.mul.w.vf vf3 vf3 vf3 :mask #b111)
(.lvf vf5 (&-> arg0 times 4 quad))
(.mul.w.vf vf4 vf4 vf4 :mask #b111)
(.lvf vf6 (&-> arg0 times 5 quad))
(.mul.w.vf vf5 vf5 vf5 :mask #b111)
(.lvf vf7 (&-> arg0 times 6 quad))
(.mul.w.vf vf6 vf6 vf6 :mask #b111)
(.lvf vf8 (&-> arg0 times 7 quad))
(.mul.w.vf vf7 vf7 vf7 :mask #b111)
(nop!)
(.mul.w.vf vf8 vf8 vf8 :mask #b111)
(nop!)
(vftoi12.xyzw vf1 vf1)
(nop!)
(vftoi12.xyzw vf2 vf2)
(nop!)
(vftoi12.xyzw vf3 vf3)
(nop!)
(vftoi12.xyzw vf4 vf4)
(nop!)
(vftoi12.xyzw vf5 vf5)
(nop!)
(vftoi12.xyzw vf6 vf6)
(nop!)
(vftoi12.xyzw vf7 vf7)
(nop!)
(vftoi12.xyzw vf8 vf8)
(nop!)
(.mov v1-1 vf1)
(nop!)
(.mov a1-0 vf2)
(nop!)
(.mov a2-0 vf3)
(.pw.sra v1-2 v1-1 6)
(.mov a3-0 vf4)
(.pw.sra a1-1 a1-0 6)
(.mov t0-0 vf5)
(.pw.sra a2-1 a2-0 6)
(.mov t1-0 vf6)
(.pw.sra a3-1 a3-0 6)
(.mov t2-0 vf7)
(.pw.sra t0-1 t0-0 6)
(.mov t3-0 vf8)
(.pw.sra t1-1 t1-0 6)
(.pw.sra t2-1 t2-0 6)
(.mov r0-0 f31-0)
(.pw.sra t3-1 t3-0 6)
(.mov r0-1 f31-0)
(.ppach v1-3 a1-1 v1-2)
(.mov r0-2 f31-0)
(.ppach a1-2 a3-1 a2-1)
(set! (-> arg0 itimes 0 quad) v1-3)
(.ppach v1-4 t1-1 t0-1)
(set! (-> arg0 itimes 1 quad) a1-2)
(.ppach a1-3 t3-1 t2-1)
(set! (-> arg0 itimes 2 quad) v1-4)
(nop!)
(set! (-> arg0 itimes 3 quad) a1-3)
0
(none)
)
)
;; ERROR: Expression building failed: In update-mood-direction: Failed to match non-power of two case: t3-14
(defun update-mood-exterior ((arg0 mood-context-core3) (arg1 mood-table) (arg2 float) (arg3 int))
(local-vars (v0-1 object) (sv-32 mood-color) (sv-48 mood-color) (sv-64 vector))
(cond
((< (the-as uint 8) (the-as uint (-> *time-of-day-context* mode)))
(palette-select-special arg0)
)
(else
0
0
0.0
(let* ((v1-3 (the int arg2))
(f0-4 (- arg2 (the float v1-3)))
(f1-3 (- 1.0 f0-4))
(a0-6 (/ v1-3 24))
(v1-7 (-> arg1 mood-interp-table hour (- v1-3 (* 24 a0-6))))
(s3-0 (-> v1-7 snapshot1))
(s2-0 (-> v1-7 snapshot2))
(f30-0 (+ (* f1-3 (-> v1-7 morph-start)) (* f0-4 (-> v1-7 morph-end))))
)
(set! v0-1
(cond
((and (-> *level* level arg3 bsp)
(nonzero? (-> *level* level arg3 bsp))
(not (-> *level* level arg3 bsp ambients))
)
(set! v0-1 (-> arg0 times))
(set! (-> (the-as (inline-array vector) v0-1) 0 x) 1.0)
(set! (-> (the-as (inline-array vector) v0-1) 0 y) 1.0)
(set! (-> (the-as (inline-array vector) v0-1) 0 z) 1.0)
(set! (-> (the-as (inline-array vector) v0-1) 0 w) 1.0)
v0-1
)
((= s3-0 s2-0)
(let ((a2-1 (-> arg1 mood-color-table data s3-0))
(v1-26 (-> arg0 times))
(a1-2 (-> arg0 times 1))
(a0-16 (-> arg0 light-group))
)
(set! (-> v1-26 0 quad) (-> a2-1 amb-color quad))
(set! (-> a1-2 quad) (-> a2-1 lgt-color quad))
(set! (-> arg0 times 2 quad) (-> a1-2 quad))
(set! (-> arg0 times 3 quad) (-> a1-2 quad))
(set! (-> arg0 times 4 quad) (-> a1-2 quad))
(set! (-> a0-16 0 ambi color quad) (-> v1-26 0 quad))
)
(set! (-> arg0 current-sky-color quad) (-> arg1 mood-sky-table data s3-0 quad))
(mem-copy! (the-as pointer (-> arg0 current-fog)) (the-as pointer (-> arg1 mood-fog-table data s3-0)) 48)
)
(else
(set! sv-32 (-> arg1 mood-color-table data s3-0))
(set! sv-48 (-> arg1 mood-color-table data s2-0))
(let ((s1-0 (-> arg0 times)))
(set! sv-64 (-> arg0 times 1))
(let ((s0-0 (-> arg0 light-group)))
(vector4-lerp! (the-as vector s1-0) (-> sv-32 amb-color) (-> sv-48 amb-color) f30-0)
(vector4-lerp! sv-64 (-> sv-32 lgt-color) (-> sv-48 lgt-color) f30-0)
(set! (-> arg0 times 2 quad) (-> sv-64 quad))
(set! (-> arg0 times 3 quad) (-> sv-64 quad))
(set! (-> arg0 times 4 quad) (-> sv-64 quad))
(set! (-> s0-0 0 ambi color quad) (-> s1-0 0 quad))
)
)
(vector4-lerp!
(-> arg0 current-sky-color)
(-> arg1 mood-sky-table data s3-0)
(-> arg1 mood-sky-table data s2-0)
f30-0
)
(vector4-array-lerp!
(the-as (inline-array vector4) (-> arg0 current-fog))
(the-as (inline-array vector4) (-> arg1 mood-fog-table data s3-0))
(the-as (inline-array vector4) (-> arg1 mood-fog-table data s2-0))
f30-0
3
)
)
)
)
)
(set-vector! (-> arg0 current-prt-color) 0.0 0.0 0.0 0.0)
(set-vector! (-> arg0 current-env-color) 0.0 0.0 0.0 0.0)
(let ((f0-18 (-> *mood-control* lightning-flash))
(a0-36 (-> *mood-control* lightning-index))
)
(when (and (!= f0-18 0.0) (< a0-36 4))
(let ((v1-64 (new 'stack-no-clear 'vector))
(a0-40 (-> arg0 times (+ a0-36 1)))
)
(set-vector! v1-64 f0-18 f0-18 f0-18 0.0)
(vector+! a0-40 a0-40 v1-64)
)
)
)
(update-mood-direction arg0 arg1 arg2)
)
)
)
(defun copy-mood-exterior ((arg0 mood-context))
(set! (-> *time-of-day-context* exterior-level) (the-as basic #t))
(cond
((< (the-as uint 8) (the-as uint (-> *time-of-day-context* mode)))
(palette-select-special arg0)
)
(else
(let ((v1-2 (the-as object arg0))
(a1-4 (the-as (inline-array vector) (-> *level* default-level mood-context)))
)
(dotimes (a2-0 31)
(set! (-> (the-as (inline-array vector) v1-2) 0 quad) (-> a1-4 0 quad))
(set! v1-2 (-> (the-as (inline-array vector) v1-2) 1))
(set! a1-4 (the-as (inline-array vector) (-> a1-4 1)))
)
)
(let ((v1-5 (-> arg0 times))
(a0-2 (the-as (inline-array vector) (+ #x83ac (the-as int *level*))))
)
(dotimes (a1-6 5)
(set! (-> v1-5 0 quad) (-> a0-2 0 quad))
(set! v1-5 (the-as (inline-array vector) (-> v1-5 1)))
(set! a0-2 (the-as (inline-array vector) (-> a0-2 1)))
)
)
#f
)
)
)
;; WARN: Return type mismatch object vs none.
(defun copy-mood-exterior-ambi ((arg0 mood-context) (arg1 symbol))
(cond
((< (the-as uint 8) (the-as uint (-> *time-of-day-context* mode)))
(palette-select-special arg0)
)
(else
(let ((v1-1 arg0)
(a2-3 (the-as structure (-> *level* default-level mood-context)))
)
(dotimes (a3-0 31)
(set! (-> v1-1 current-fog fog-color quad) (-> (the-as mood-context a2-3) current-fog fog-color quad))
(set! v1-1 (the-as mood-context (-> v1-1 current-fog fog-dists)))
(set! a2-3 (-> (the-as mood-context a2-3) current-fog fog-dists))
)
)
(set! (-> arg0 times 0 quad) (-> (the-as (pointer uint128) (+ #x83ac (the-as int *level*)))))
(when arg1
(set! (-> arg0 times 1 quad) (-> (the-as (pointer uint128) (+ #x83bc (the-as int *level*)))))
(set! (-> arg0 times 1 w) 1.0)
)
)
)
(none)
)
(defun clear-mood-context ((arg0 mood-context))
(let ((v1-0 arg0))
(dotimes (a1-0 123)
(set! (-> v1-0 clear a1-0) (the-as uint128 0))
(set! (-> v1-0 data a1-0) (the-as uint128 0))
)
)
(dotimes (v1-3 8)
(set-vector! (-> arg0 times v1-3) 1.0 1.0 1.0 0.0)
)
#f
)
(defun update-mood-interior ((arg0 mood-context))
(let ((v1-0 (-> arg0 light-group)))
(set! (-> arg0 current-fog fog-color quad) (-> *level* default-level mood-context current-fog fog-color quad))
(set-vector! (-> arg0 current-fog fog-dists) 98304.0 3072000.0 255.0 150.0)
(set-vector! (-> arg0 current-fog erase-color) 0.0 0.0 0.0 128.0)
(set-vector! (-> arg0 current-prt-color) 0.0 0.0 0.0 0.0)
(set-vector! (-> arg0 current-env-color) 96.0 96.0 96.0 128.0)
(set-vector! (-> arg0 current-sky-color) 0.0 0.0 0.0 1.0)
(let ((a0-2 (-> v1-0 0)))
(set! (-> a0-2 dir0 direction x) 0.0)
(set! (-> a0-2 dir0 direction y) 1.0)
(set! (-> a0-2 dir0 direction z) 0.0)
(set! (-> a0-2 dir0 direction w) 0.0)
)
(set-vector! (-> v1-0 0 dir0 color) 0.667 0.667 0.667 1.0)
(set-vector! (-> v1-0 0 ambi color) 0.333 0.333 0.333 1.0)
(set! (-> v1-0 0 dir0 extra x) 1.0)
(set! (-> v1-0 0 dir1 extra x) 0.0)
(set! (-> v1-0 0 dir2 extra x) 0.0)
(let ((f0-35 1.0))
(set! (-> v1-0 0 ambi extra x) f0-35)
f0-35
)
)
)
(deftype flames-state (structure)
((time float :offset-assert 0)
(index uint8 :offset-assert 4)
(length uint8 :offset-assert 5)
(height uint8 :offset-assert 6)
)
:pack-me
:method-count-assert 9
:size-assert #x7
:flag-assert #x900000007
)
(defbehavior update-mood-flames time-of-day-proc ((arg0 mood-context) (arg1 int) (arg2 int) (arg3 int) (arg4 float) (arg5 float) (arg6 float))
(let* ((gp-0 (the-as flames-state (+ (+ arg3 1840) (the-as int arg0))))
(s4-0 (+ (-> gp-0 index) arg1))
(f0-0 (-> gp-0 time))
(v1-2 (-> gp-0 length))
(s0-0 (-> gp-0 height))
)
(dotimes (a0-1 arg2)
(set! (-> arg0 times (+ arg1 a0-1) w) arg4)
)
(cond
((>= f0-0 (the float v1-2))
(set! (-> gp-0 index) (the-as uint (the int (rand-vu-float-range 0.0 (+ -0.01 (the float arg2))))))
(set! (-> gp-0 time) 0.0)
(set! (-> gp-0 length) (the-as uint (the int (* (rand-vu-float-range 7.0 15.0) arg6))))
(set! (-> gp-0 height) (the-as uint (the int (rand-vu-float-range 0.0 255.0))))
(let ((f0-11 arg4))
(set! (-> arg0 times s4-0 w) f0-11)
f0-11
)
)
(else
(let ((f0-14 (sin (* 32768.0 (/ f0-0 (the float v1-2))))))
(set! (-> arg0 times s4-0 w) (+ (* (the float s0-0) f0-14 arg5) arg4))
)
(when (not (paused?))
(let ((f0-19 (+ (-> gp-0 time) (if (= (-> *display* bg-clock clock-ratio) 0.0)
1.0
(-> self clock time-adjust-ratio)
)
)
)
)
(set! (-> gp-0 time) f0-19)
f0-19
)
)
)
)
)
)
(define *flash0*
(the-as (array float)
(new 'static 'boxed-array :type float 1.0 0.0 0.5 1.0 0.5 0.0 0.5 0.35 0.4 0.35 0.25 0.1 0.04)
)
)
(define *flash1*
(the-as (array float) (new 'static 'boxed-array :type float 1.0 0.8 0.0 1.0 0.5 1.0 0.4 0.2 0.1))
)
(define *flash2*
(the-as (array float) (new 'static 'boxed-array :type float 1.0 0.9 0.8 0.7 0.0 0.0 1.0 0.0 1.0 0.5))
)
(define *flash3*
(the-as (array float)
(new 'static 'boxed-array :type float 0.5 0.0 1.0 0.9 1.0 0.8 0.3 0.0 0.0 0.5 0.1 0.5 0.35)
)
)
(define *flash4*
(the-as (array float)
(new 'static 'boxed-array :type float 1.0 0.0 1.0 0.0 1.0 0.9 0.8 0.7 0.6 0.5 0.4 0.3 0.2 0.5 0.4 0.3 0.2 0.1)
)
)
(define *flash5* (the-as (array float) (new 'static 'boxed-array :type float
1.0
0.0
1.0
0.0
1.0
0.95
0.9
0.85
0.8
0.75
0.7
0.65
0.6
0.55
0.5
0.45
0.4
0.35
0.3
0.25
0.2
0.5
0.45
0.4
0.35
0.3
0.25
0.2
0.15
0.1
0.05
)
)
)
(define *flash6*
(the-as (array float)
(new 'static 'boxed-array :type float 1.0 0.0 1.0 0.0 0.5 0.0 0.5 0.35 0.0 0.0 1.0 0.0 0.2 0.1)
)
)
(define *flash7*
(the-as (array float)
(new 'static 'boxed-array :type float 1.0 0.8 0.3 0.0 0.6 0.5 0.4 0.3 0.2 0.5 0.4 0.3 0.2 0.1)
)
)
(deftype light-state (structure)
((time float :offset-assert 0)
(fade float :offset-assert 4)
)
:pack-me
:method-count-assert 9
:size-assert #x8
:flag-assert #x900000008
)
(defun update-mood-light ((arg0 mood-context) (arg1 int) (arg2 int) (arg3 float) (arg4 float) (arg5 float) (arg6 float) (arg7 float))
(with-pp
(let ((gp-0 (the-as light-state (+ (+ arg2 1840) (the-as int arg0)))))
(let* ((f0-0 512.0)
(f1-1 (+ (-> gp-0 time) arg6))
(f28-0 (* f0-0 (- f1-1 (* (the float (the int (/ f1-1 256.0))) 256.0))))
(f0-3 (+ arg3 (* (cos f28-0) arg4)))
(f30-1 (-> gp-0 fade))
)
(cond
((or (>= arg5 18.0) (>= 6.0 arg5))
(cond
((< f28-0 3640.889)
(set! (-> arg0 times arg1 w) f0-3)
(set! (-> gp-0 fade) 1.0)
)
((= f30-1 1.0)
(set! (-> arg0 times arg1 w) f0-3)
)
)
)
((= f30-1 1.0)
(cond
((< f28-0 3640.889)
(set! (-> arg0 times arg1 w) f0-3)
(set! (-> gp-0 fade) 0.99)
)
(else
(set! (-> arg0 times arg1 w) f0-3)
)
)
)
((and (< f30-1 1.0) (< 0.0 f30-1))
(set! (-> arg0 times arg1 w) f30-1)
(when (not (paused?))
(if (< 0.75 f30-1)
(set! (-> gp-0 fade) (- (-> gp-0 fade) (* 0.04 (-> pp clock time-adjust-ratio))))
(set! (-> gp-0 fade) (- (-> gp-0 fade) (* 0.02 (-> pp clock time-adjust-ratio))))
)
)
)
(else
(set! (-> gp-0 fade) 0.0)
(set! (-> gp-0 time) 0.0)
)
)
)
(when (not (paused?))
(let ((f0-15 (-> gp-0 time)))
(set! arg7 (cond
((= (-> *display* bg-clock clock-ratio) 0.0)
(empty)
arg7
)
(else
(* arg7 (-> pp clock time-adjust-ratio))
)
)
)
(let ((f0-16 (+ f0-15 arg7)))
(set! (-> gp-0 time) f0-16)
f0-16
)
)
)
)
)
)
(deftype lava-state (structure)
((lava float :offset-assert 0)
)
:method-count-assert 9
:size-assert #x4
:flag-assert #x900000004
)
(defun update-mood-lava ((arg0 mood-context) (arg1 int) (arg2 int) (arg3 float) (arg4 float) (arg5 float) (arg6 float) (arg7 float))
"Unused"
(let ((gp-0 (the-as lava-state (+ (+ arg2 1840) (the-as int arg0)))))
(let ((f0-1 (cos (-> gp-0 lava))))
(set! (-> arg0 times arg1 w) (+ arg3 (* f0-1 arg4)))
(set! (-> arg0 times (+ arg1 1) w) (+ arg3 (* (- f0-1) arg4)))
)
(when (not (paused?))
(let ((f0-6 (+ (-> gp-0 lava) arg5)))
(set! (-> gp-0 lava) f0-6)
f0-6
)
)
)
)
(deftype flicker-state (structure)
((flicker-off uint8 :offset-assert 0)
(flicker-on uint8 :offset-assert 1)
)
:method-count-assert 9
:size-assert #x2
:flag-assert #x900000002
)
;; WARN: Return type mismatch int vs none.
(defun update-mood-flicker ((arg0 mood-context) (arg1 int) (arg2 int))
"Unused"
(let ((gp-0 (the-as flicker-state (+ (+ arg2 1840) (the-as int arg0)))))
(cond
((nonzero? (-> gp-0 flicker-on))
(set! (-> arg0 times arg1 w) 1.0)
(if (not (paused?))
(+! (-> gp-0 flicker-on) -1)
)
)
((nonzero? (-> gp-0 flicker-off))
(if (not (paused?))
(+! (-> gp-0 flicker-off) -1)
)
)
(else
(set! (-> gp-0 flicker-on) (the-as uint (the int (rand-vu-float-range 2.0 20.0))))
(if (zero? (the int (rand-vu-float-range 0.0 3.0)))
(set! (-> gp-0 flicker-off) (the-as uint (the int (rand-vu-float-range 2.0 120.0))))
(set! (-> gp-0 flicker-off) (the-as uint (the int (rand-vu-float-range 2.0 20.0))))
)
)
)
)
(none)
)
)
(deftype florescent-state (structure)
((value float :offset-assert 0)
(delay int8 :offset-assert 4)
(delay2 int8 :offset-assert 5)
)
:method-count-assert 9
:size-assert #x6
:flag-assert #x900000006
)
(defun update-mood-florescent ((arg0 mood-context) (arg1 int) (arg2 int))
"Unused"
(let ((gp-0 (the-as florescent-state (+ (+ arg2 1840) (the-as int arg0)))))
(set! (-> arg0 times arg1 w) (-> gp-0 value))
(when (not (paused?))
(cond
((zero? (-> gp-0 delay))
(set! (-> gp-0 delay2) (the int (rand-vu-float-range 10.0 60.0)))
(set! (-> gp-0 delay) (the int (rand-vu-float-range 60.0 120.0)))
)
(else
(+! (-> gp-0 delay) -1)
)
)
(cond
((>= (-> gp-0 delay2) (-> gp-0 delay))
(let ((f0-5 (rand-vu-float-range 1.0 1.5)))
(set! (-> gp-0 value) f0-5)
f0-5
)
)
((< (-> gp-0 delay2) (-> gp-0 delay))
(let ((f0-6 1.5))
(set! (-> gp-0 value) f0-6)
f0-6
)
)
)
)
)
)
(deftype electricity-state (structure)
((value float :offset-assert 0)
(scale float :offset-assert 4)
)
:allow-misaligned
:method-count-assert 9
:size-assert #x8
:flag-assert #x900000008
)
;; WARN: Return type mismatch float vs none.
(defun update-mood-electricity ((arg0 mood-context) (arg1 int) (arg2 int) (arg3 float) (arg4 float))
(let ((gp-0 (the-as electricity-state (+ (+ arg2 1840) (the-as int arg0)))))
(set! (-> arg0 times arg1 w) (* (-> gp-0 value) (-> gp-0 scale)))
(if (not (paused?))
(set! (-> gp-0 value) (rand-vu-float-range arg3 arg4))
)
)
(none)
)
(deftype pulse-state (structure)
((pulse float :offset-assert 0)
)
:allow-misaligned
:method-count-assert 9
:size-assert #x4
:flag-assert #x900000004
)
;; WARN: Return type mismatch float vs none.
(defun update-mood-pulse ((arg0 mood-context) (arg1 int) (arg2 int) (arg3 float) (arg4 float) (arg5 float) (arg6 float))
(let ((gp-0 (the-as pulse-state (+ (+ arg2 1840) (the-as int arg0)))))
(set! (-> arg0 times arg1 w) (+ arg3 (* (cos (+ (-> gp-0 pulse) arg6)) arg4)))
(if (not (paused?))
(+! (-> gp-0 pulse) arg5)
)
)
(none)
)
(deftype strobe-state (structure)
((time float :offset-assert 0)
)
:pack-me
:method-count-assert 9
:size-assert #x4
:flag-assert #x900000004
)
(defun update-mood-strobe ((arg0 mood-context) (arg1 int) (arg2 int) (arg3 int) (arg4 float))
(let ((gp-0 (the-as strobe-state (+ (+ arg2 1840) (the-as int arg0)))))
(let ((a2-1 (the int (-> gp-0 time))))
(if (logtest? arg3 (ash 1 a2-1))
(set! (-> arg0 times arg1 w) 1.0)
(set! (-> arg0 times arg1 w) 0.3)
)
)
(when (not (paused?))
(let* ((f0-5 (+ (-> gp-0 time) arg4))
(f0-6 (- f0-5 (* (the float (the int (/ f0-5 32.0))) 32.0)))
)
(set! (-> gp-0 time) f0-6)
f0-6
)
)
)
)
(defun update-mood-caustics ((arg0 mood-context) (arg1 int) (arg2 float) (arg3 float) (arg4 float) (arg5 float))
(let* ((f0-2 (sin (+ arg2 arg3))) (f0-4 (+ arg4 (* f0-2 arg5)))) (set! (-> arg0 times arg1 w) f0-4) f0-4)
)
;; WARN: Return type mismatch int vs none.
(defmethod apply-mood-clouds-and-fog mood-control ((obj mood-control) (arg0 mood-control-work))
(let ((v1-0 (-> obj mood-fog-table)))
(dotimes (a0-1 24)
(set! (-> v1-0 data-raw a0-1) (the-as uint128 0))
)
)
(let ((s4-0 (-> obj mood-fog-table)))
(let ((f30-0 (- 1.0 (-> arg0 interp cloud))))
(when (!= f30-0 0.0)
(let ((f0-4 (* (- 1.0 (-> arg0 interp fog)) f30-0))
(a2-0 (-> obj fogs (-> arg0 index 0)))
)
(if (!= f0-4 0.0)
(vector4-array-madd!
(the-as (inline-array vector4) s4-0)
(the-as (inline-array vector4) s4-0)
(the-as (inline-array vector4) a2-0)
f0-4
24
)
)
)
(let ((f0-6 (* (-> arg0 interp fog) f30-0))
(a2-1 (-> obj fogs (-> arg0 index 1)))
)
(if (!= f0-6 0.0)
(vector4-array-madd!
(the-as (inline-array vector4) s4-0)
(the-as (inline-array vector4) s4-0)
(the-as (inline-array vector4) a2-1)
f0-6
24
)
)
)
)
)
(let ((f30-1 (-> arg0 interp cloud)))
(when (!= f30-1 0.0)
(let ((f0-10 (* (- 1.0 (-> arg0 interp fog)) f30-1))
(a2-2 (-> obj fogs (-> arg0 index 2)))
)
(if (!= f0-10 0.0)
(vector4-array-madd!
(the-as (inline-array vector4) s4-0)
(the-as (inline-array vector4) s4-0)
(the-as (inline-array vector4) a2-2)
f0-10
24
)
)
)
(let ((f0-12 (* (-> arg0 interp fog) f30-1))
(a2-3 (-> obj fogs (-> arg0 index 3)))
)
(if (!= f0-12 0.0)
(vector4-array-madd!
(the-as (inline-array vector4) s4-0)
(the-as (inline-array vector4) s4-0)
(the-as (inline-array vector4) a2-3)
f0-12
24
)
)
)
)
)
)
(let ((f0-13 (-> *time-of-day-context* fog-mult))
(v1-29 (-> obj mood-fog-table))
)
(dotimes (a0-6 8)
(set! (-> v1-29 data a0-6 fog-dists y) (* (-> v1-29 data a0-6 fog-dists y) f0-13))
)
)
0
(none)
)
;; WARN: Return type mismatch int vs none.
(defmethod apply-mood-color mood-control ((obj mood-control) (arg0 mood-control-work))
(let ((v1-0 (-> obj mood-color-table)))
(dotimes (a0-1 16)
(set! (-> v1-0 data-raw a0-1) (the-as uint128 0))
)
)
(let ((s4-0 (-> obj mood-color-table)))
(let ((f0-1 (- 1.0 (-> arg0 color-interp)))
(a2-0 (-> obj colors (-> arg0 color-index 0)))
)
(if (!= f0-1 0.0)
(vector4-array-madd!
(the-as (inline-array vector4) s4-0)
(the-as (inline-array vector4) s4-0)
(the-as (inline-array vector4) a2-0)
f0-1
16
)
)
)
(let ((f0-2 (-> arg0 color-interp))
(a2-1 (-> obj colors (-> arg0 color-index 1)))
)
(if (!= f0-2 0.0)
(vector4-array-madd!
(the-as (inline-array vector4) s4-0)
(the-as (inline-array vector4) s4-0)
(the-as (inline-array vector4) a2-1)
f0-2
16
)
)
)
)
0
(none)
)
;; WARN: Return type mismatch int vs none.
(defmethod apply-mood-channels mood-control ((obj mood-control) (arg0 mood-control-work))
(let ((v1-0 (-> obj mood-channel-group)))
(dotimes (a0-1 24)
(set! (-> v1-0 data 0 vecs a0-1 quad) (the-as uint128 0))
)
)
(let ((s4-0 (-> obj mood-channel-group)))
(let ((f0-1 (- 1.0 (-> arg0 channel-interp)))
(a2-0 (-> obj channels (-> arg0 channel-index 0)))
)
(if (!= f0-1 0.0)
(vector4-array-madd!
(the-as (inline-array vector4) s4-0)
(the-as (inline-array vector4) s4-0)
(the-as (inline-array vector4) a2-0)
f0-1
24
)
)
)
(let ((f0-2 (-> arg0 channel-interp))
(a2-1 (-> obj channels (-> arg0 channel-index 1)))
)
(if (!= f0-2 0.0)
(vector4-array-madd!
(the-as (inline-array vector4) s4-0)
(the-as (inline-array vector4) s4-0)
(the-as (inline-array vector4) a2-1)
f0-2
24
)
)
)
)
0
(none)
)
;; WARN: Return type mismatch int vs none.
(defmethod adjust-num-clouds! mood-control ((obj mood-control) (arg0 mood-control-work))
(let ((v1-0 (-> obj mood-clouds)))
(set! (-> v1-0 cloud-min) 0.0)
(set! (-> v1-0 cloud-max) 0.0)
(let ((f0-3 (- 1.0 (-> arg0 cloud-interp)))
(a2-4 (-> obj clouds (-> arg0 cloud-index 0)))
)
(when (!= f0-3 0.0)
(set! (-> v1-0 cloud-min) (* (-> a2-4 cloud-min) f0-3))
(set! (-> v1-0 cloud-max) (* (-> a2-4 cloud-max) f0-3))
)
)
(let ((f0-5 (-> arg0 cloud-interp))
(a0-2 (-> obj clouds (-> arg0 cloud-index 1)))
)
(when (!= f0-5 0.0)
(+! (-> v1-0 cloud-min) (* (-> a0-2 cloud-min) f0-5))
(+! (-> v1-0 cloud-max) (* (-> a0-2 cloud-max) f0-5))
)
)
)
0
(none)
)
;; WARN: Return type mismatch int vs sound-id.
(defmethod play-or-stop-lightning! mood-control ((obj mood-control) (arg0 sound-spec) (arg1 vector))
"Handles playing/stopping of the lightning sound
- Plays the lightning sound if we are not loading and `lightning-id` is zero
- Stops the lightning sound first if `lightning-id` is non-zero
Returns the current value of `lightning-id`"
(vector+! (new 'stack-no-clear 'vector) arg1 (math-camera-pos))
(the-as sound-id (cond
((or (load-in-progress? *level*) (movie?))
(the-as sound-id (when (nonzero? (-> obj lightning-id))
(sound-stop (-> obj lightning-id))
(set! (-> obj lightning-id) (new 'static 'sound-id))
(new 'static 'sound-id)
)
)
)
(else
(when (nonzero? (-> obj lightning-id))
(sound-stop (-> obj lightning-id))
(set! (-> obj lightning-id) (new 'static 'sound-id))
0
)
(let ((lightning-sound-id (sound-play-by-spec arg0 (new-sound-id) arg1)))
(set! (-> obj lightning-id) lightning-sound-id)
lightning-sound-id
)
)
)
)
)
;; WARN: disable def twice: 141. This may happen when a cond (no else) is nested inside of another conditional, but it should be rare.
;; WARN: Return type mismatch int vs none.
;; WARN: Return type mismatch int vs none.
(defmethod update-mood-weather! mood-control ((obj mood-control) (cloud-target float) (fog-target float) (cloud-speed float) (fog-speed float))
"Set the `target-interp` and `speed-interp` for the clouds and fog
If `*-speed` is 0.0, use the `*-target` args to set `current-interp`
See [[mood-weather]]"
(set! (-> obj target-interp cloud) cloud-target)
(set! (-> obj target-interp fog) fog-target)
(set! (-> obj speed-interp cloud) cloud-speed)
(set! (-> obj speed-interp fog) fog-speed)
(if (= cloud-speed 0.0)
(set! (-> obj current-interp cloud) cloud-target)
)
(if (= fog-speed 0.0)
(set! (-> obj current-interp fog) fog-target)
)
0
(none)
)
;; WARN: Return type mismatch int vs none.
(defmethod update-mood-range! mood-control ((obj mood-control) (min-cloud float) (max-cloud float) (min-fog float) (max-fog float))
"Set the minimum and maximum ranges of clouds and fog
See [[mood-range]]"
(set! (-> obj range min-cloud) min-cloud)
(set! (-> obj range max-cloud) max-cloud)
(set! (-> obj range min-fog) min-fog)
(set! (-> obj range max-fog) max-fog)
0
(none)
)
;; WARN: Return type mismatch int vs none.
(defmethod set-time-for-random-weather! mood-control ((obj mood-control) (arg0 float) (arg1 float))
"Set the `time-until-random`'s cloud and fog values
See [[mood-weather]]"
(set! (-> obj time-until-random cloud) arg0)
(set! (-> obj time-until-random fog) arg1)
0
(none)
)
@@ -24,6 +24,9 @@
(palette-7 11) ;; 2048
)
;; NOTE - for mood-funcs
(define-extern set-filter-color! (function float float float none))
;; DECOMP BEGINS
(deftype palette-fade-control (structure)
@@ -5,6 +5,10 @@
;; name in dgo: ocean-h
;; dgos: ENGINE, GAME
;; NOTE - for mood-funcs2
(declare-type ocean-map structure)
(define-extern *ocean-map-sewer* ocean-map)
;; DECOMP BEGINS
(deftype ocean-corner (structure)
@@ -42,6 +42,9 @@
(declare-type sparticle-launch-control inline-array-class)
(define-extern forall-particles-with-key (function sparticle-launch-control (function sparticle-system sparticle-cpuinfo none) symbol symbol none))
;; NOTE - for many things
(define-extern *part-id-table* (array sparticle-launcher))
;; NOTE - for sparticle-launcher
(define-extern sp-get-particle (function sparticle-system int sparticle-launch-state sparticle-cpuinfo))
(define-extern kill-all-particles-with-key (function sparticle-launch-control none))
+1 -1
View File
@@ -65,7 +65,7 @@
(texture-flags texture-page-flag 10 :offset 130)
;; 0 (maybe padding) 150
;; 0 (was boxes, current back flags?, byte?) 152
;; #t (was ambients?) 156
(ambients symbol :offset 156)
(subdivide-close float :offset 160)
(subdivide-far float :offset-assert 164)
(race-meshes (array entity-race-mesh) :offset-assert 168)
+4 -4
View File
@@ -1805,7 +1805,7 @@
(arg0 process)
(arg1 gui-channel)
(arg2 gui-action)
(arg3 int)
(arg3 string)
(arg4 float)
(arg5 time-frame)
)
@@ -1823,7 +1823,7 @@
(set! sv-64 (the-as gui-connection (-> sv-48 next0)))
(while (!= sv-48 (-> obj engine alive-list-end))
(when (and (= arg1 (-> (the-as gui-connection sv-48) channel))
(string= (the-as string arg3) (-> (the-as gui-connection sv-48) name))
(string= arg3 (-> (the-as gui-connection sv-48) name))
(= (get-process sv-48) arg0)
)
(set! sv-32 (the-as gui-connection sv-48))
@@ -1842,7 +1842,7 @@
(set! sv-20 (-> obj connections sv-80))
(if (and (nonzero? (-> sv-20 id))
(= arg1 (-> sv-20 channel))
(string= (the-as string arg3) (-> sv-20 name))
(string= arg3 (-> sv-20 name))
(>= (-> sv-20 priority) -1.0)
)
(set! sv-16 (the-as int (-> sv-20 id)))
@@ -1859,7 +1859,7 @@
(set! (-> sv-32 priority) arg4)
(set! (-> sv-32 channel) arg1)
(set! (-> sv-32 action) arg2)
(set! (-> sv-32 param2) arg3)
(set! (-> sv-32 param2) (the-as int arg3))
(set! (-> sv-32 hold-time) arg5)
(set! (-> sv-32 flags) (the-as uint 1))
(set! (-> sv-32 fade) (the-as uint 0))
@@ -15,6 +15,11 @@
(define-extern ja-aframe (function float int float :behavior process-drawable))
(define-extern vector<-matrix! (function vector matrix vector))
;; NOTE - for airlock
(define-extern transform-post (function int :behavior process-drawable))
(define-extern ja-min? (function int symbol :behavior process-drawable))
(define-extern ja-max? (function int symbol :behavior process-drawable))
;; DECOMP BEGINS
(defun cspace-by-name-no-fail ((arg0 process-drawable) (arg1 string))
+21 -1
View File
@@ -114,6 +114,26 @@
:type int32
)
(defmacro static-sound-name (str)
"Convert a string constant to a static sound-name."
;; all this is done at compile-time so we can come up with 2
;; 64-bit constants to use
(when (> (string-length str) 16)
(error "static-sound-name got a string that is too long")
)
(let ((lo-val 0)
(hi-val 0)
)
(dotimes (i (string-length str))
(if (>= i 8)
(+! hi-val (ash (string-ref str i) (* 8 (- i 8))))
(+! lo-val (ash (string-ref str i) (* 8 i)))
)
)
`(new 'static 'sound-name :lo ,lo-val :hi ,hi-val)
)
)
;; DECOMP BEGINS
@@ -497,4 +517,4 @@
;; ghost function
(define-extern *debug-effect-control* symbol)
(define-extern effect-param->sound-spec (function sound-spec (pointer float) int sound-spec))
(define-extern effect-param->sound-spec (function sound-spec (pointer float) int sound-spec))
+15 -7
View File
@@ -8,9 +8,9 @@
;; DECOMP BEGINS
(deftype board (process-drawable)
((control control-info :offset 128)
(shadow-backup shadow-geo :offset 208)
(main joint-mod :offset 212)
((control control-info :offset 128)
(shadow-backup shadow-geo :offset 208)
(main joint-mod :offset 212)
)
:heap-base #x60
:method-count-assert 23
@@ -23,6 +23,7 @@
)
)
(deftype board-info (basic)
((board uint32 :offset-assert 4)
(camera-interp float :offset-assert 8)
@@ -160,6 +161,7 @@
)
)
(deftype target-board-bank (basic)
((jump-height-min meters :offset-assert 4)
(jump-height-max meters :offset-assert 8)
@@ -178,6 +180,7 @@
:flag-assert #x900000034
)
(define *TARGET_BOARD-bank* (new 'static 'target-board-bank
:jump-height-min (meters 1.01)
:jump-height-max (meters 3.5)
@@ -194,7 +197,6 @@
)
(defbehavior want-to-board? target ()
"Can we get on the jetboard?"
(and (logtest? (-> self game features) (game-feature board))
(or (and (cpad-pressed? (-> self control unknown-cpad-info00 number) r2)
(or (!= *cheat-mode* 'debug)
@@ -243,8 +245,10 @@
(let ((v1-55 gp-0))
(set! (-> v1-55 spheres) s5-0)
(set! (-> v1-55 num-spheres) (the-as uint 3))
(set! (-> v1-55 collide-with)
(the-as collide-spec (logand -16561 (-> self control root-prim prim-core collide-with)))
(set! (-> v1-55 collide-with) (logclear
(-> self control root-prim prim-core collide-with)
(collide-spec civilian enemy vehicle-sphere projectile)
)
)
(set! (-> v1-55 ignore-process0) #f)
(set! (-> v1-55 ignore-process1) #f)
@@ -294,4 +298,8 @@
:top-plane (new 'static 'plane :y 1.0 :w 2048.0)
)
)
)
)
+5 -3
View File
@@ -70,6 +70,9 @@
(max 96)
)
(declare-type gui-control basic)
(define-extern *gui-control* gui-control)
;; DECOMP BEGINS
(deftype gui-connection (connection)
@@ -109,7 +112,7 @@
:flag-assert #x1900000cd0
(:methods
(new (symbol type int) _type_ 0)
(gui-control-method-9 (_type_ process gui-channel gui-action int float time-frame) sound-id 9)
(gui-control-method-9 (_type_ process gui-channel gui-action string float time-frame) sound-id 9)
(gui-control-method-10 (_type_ process gui-channel) none 10)
(gui-control-method-11 (_type_ gui-connection) int 11)
(gui-control-method-12 (_type_ process gui-channel gui-action string int float sound-id) sound-id 12)
@@ -128,8 +131,7 @@
)
)
(define-extern *gui-control* gui-control)
0
+8 -24
View File
@@ -23,6 +23,7 @@
)
)
(deftype script-context (structure)
((load-state load-state :offset-assert 0)
(key basic :offset-assert 4)
@@ -40,36 +41,14 @@
:flag-assert #xc000000a0
(:methods
(new (symbol type basic process vector) _type_ 0)
(script-context-method-9 () none 9)
(eval! (_type_ structure) pair 9)
(script-context-method-10 () none 10)
(script-context-method-11 () none 11)
)
)
(defmethod inspect script-context ((obj script-context))
(when (not obj)
(return obj)
)
(format #t "[~8x] ~A~%" obj 'script-context)
(format #t "~1Tload-state: ~A~%" (-> obj load-state))
(format #t "~1Tkey: ~A~%" (-> obj key))
(format #t "~1Tprocess: ~A~%" (-> obj process))
(format #t "~1Ttrans: #<vector @ #x~X>~%" (-> obj trans))
(format #t "~1Tside-effect?: ~A~%" (-> obj side-effect?))
(format #t "~1Tgot-error?: ~A~%" (-> obj got-error?))
(format #t "~1Texpr: ~A~%" (-> obj expr))
(format #t "~1Tparam-count: ~D~%" (-> obj param-count))
(format #t "~1Tparam[16] @ #x~X~%" (-> obj param))
(dotimes (s5-0 (-> obj param-count))
(format #t "~T [~D]~1Tparam: ~`object`P~%" s5-0 (-> obj param s5-0))
)
(format #t "~1Tparam-type[16] @ #x~X~%" (-> obj param-type))
(dotimes (s5-1 (-> obj param-count))
(format #t "~T [~D]~1Tparam-type: ~`object`P~%" s5-1 (-> obj param-type s5-1))
)
obj
)
;; WARN: Return type mismatch structure vs script-context.
(defmethod new script-context ((allocation symbol) (type-to-make type) (arg0 basic) (arg1 process) (arg2 vector))
(let ((t9-0 (method-of-type structure new))
(v1-1 type-to-make)
@@ -87,3 +66,8 @@
)
)
0
File diff suppressed because it is too large Load Diff
@@ -114,7 +114,7 @@ def lookahead_for_code(lines, index):
# returns form, or none
def is_line_start_of_form(line):
if line.rstrip().startswith(";"):
if line.lstrip().startswith(";"):
return None
matches = re.search(r"\(\s*([^\s.]*)\s+", line)
if matches is not None:
+2 -2
View File
@@ -142,10 +142,10 @@ with open(decomp_file_path) as f:
if not skip_form:
decomp_form_def_lines.append(decomp_within_form)
decomp_lines.append(line)
while i < len(lines):
while i + 1 < len(lines):
i = i + 1
line = lines[i]
if not skip_form:
if not skip_form and not should_ignore_line(line):
decomp_lines.append(line)
if has_form_ended(decomp_form_paren_stack, line):
decomp_within_form = None
+1 -1
View File
@@ -32,7 +32,7 @@
;; definition for function update-mood-itimes
;; INFO: Used lq/sq
;; INFO: Return type mismatch int vs none.
;; ERROR: Function may read a register that is not set: f31
;; WARN: Function may read a register that is not set: f31
(defun update-mood-itimes ((arg0 mood-context))
(local-vars
(r0-0 int)
+6 -6
View File
@@ -2583,12 +2583,12 @@
;; definition for function cam-string-move
;; INFO: Used lq/sq
;; ERROR: Stack slot load at 240 mismatch: defined as size 4, got size 16
;; ERROR: Stack slot load at 256 mismatch: defined as size 4, got size 16
;; ERROR: Stack slot load at 240 mismatch: defined as size 4, got size 16
;; ERROR: Stack slot load at 256 mismatch: defined as size 4, got size 16
;; ERROR: Stack slot load at 240 mismatch: defined as size 4, got size 16
;; ERROR: Stack slot load at 256 mismatch: defined as size 4, got size 16
;; WARN: Stack slot load at 240 mismatch: defined as size 4, got size 16
;; WARN: Stack slot load at 256 mismatch: defined as size 4, got size 16
;; WARN: Stack slot load at 240 mismatch: defined as size 4, got size 16
;; WARN: Stack slot load at 256 mismatch: defined as size 4, got size 16
;; WARN: Stack slot load at 240 mismatch: defined as size 4, got size 16
;; WARN: Stack slot load at 256 mismatch: defined as size 4, got size 16
(defbehavior cam-string-move camera-slave ()
(local-vars (sv-240 float) (sv-256 float))
(vector-! (-> self velocity) (-> self desired-pos) (-> self string-trans))
+1 -1
View File
@@ -357,7 +357,7 @@
;; definition for method 10 of type collide-mesh
;; INFO: Used lq/sq
;; ERROR: Function may read a register that is not set: f31
;; WARN: Function may read a register that is not set: f31
(defmethod overlap-test collide-mesh ((obj collide-mesh) (arg0 collide-mesh-cache-tri) (arg1 vector))
(local-vars
(r0-0 int)
+2 -2
View File
@@ -3,7 +3,7 @@
;; definition for function drawable-sphere-box-intersect?
;; INFO: Used lq/sq
;; ERROR: Function may read a register that is not set: f31
;; WARN: Function may read a register that is not set: f31
(defun drawable-sphere-box-intersect? ((arg0 drawable) (arg1 bounding-box4w))
(local-vars
(r0-0 int)
@@ -57,7 +57,7 @@
;; definition for function instance-sphere-box-intersect?
;; INFO: Used lq/sq
;; ERROR: Function may read a register that is not set: f31
;; WARN: Function may read a register that is not set: f31
(defun instance-sphere-box-intersect? ((arg0 drawable) (arg1 instance-tie) (arg2 bounding-box4w))
(local-vars
(r0-0 int)
+1 -1
View File
@@ -1043,7 +1043,7 @@
;; definition (debug) for function add-debug-yrot-vector
;; INFO: Used lq/sq
;; WARN: Stack slot offset 32 signed mismatch
;; ERROR: Stack slot load at 32 mismatch: defined as size 4, got size 16
;; WARN: Stack slot load at 32 mismatch: defined as size 4, got size 16
(defun-debug add-debug-yrot-vector ((arg0 symbol) (arg1 bucket-id) (arg2 vector) (arg3 float) (arg4 float) (arg5 rgba))
(local-vars (sv-32 float))
(set! sv-32 arg3)
+8 -8
View File
@@ -640,14 +640,14 @@
;; definition for function debug-menu-make-from-template
;; INFO: Used lq/sq
;; ERROR: Stack slot load at 48 mismatch: defined as size 4, got size 16
;; ERROR: Stack slot load at 64 mismatch: defined as size 4, got size 16
;; ERROR: Stack slot load at 80 mismatch: defined as size 4, got size 16
;; ERROR: Stack slot load at 96 mismatch: defined as size 4, got size 16
;; ERROR: Stack slot load at 48 mismatch: defined as size 4, got size 16
;; ERROR: Stack slot load at 64 mismatch: defined as size 4, got size 16
;; ERROR: Stack slot load at 80 mismatch: defined as size 4, got size 16
;; ERROR: Stack slot load at 96 mismatch: defined as size 4, got size 16
;; WARN: Stack slot load at 48 mismatch: defined as size 4, got size 16
;; WARN: Stack slot load at 64 mismatch: defined as size 4, got size 16
;; WARN: Stack slot load at 80 mismatch: defined as size 4, got size 16
;; WARN: Stack slot load at 96 mismatch: defined as size 4, got size 16
;; WARN: Stack slot load at 48 mismatch: defined as size 4, got size 16
;; WARN: Stack slot load at 64 mismatch: defined as size 4, got size 16
;; WARN: Stack slot load at 80 mismatch: defined as size 4, got size 16
;; WARN: Stack slot load at 96 mismatch: defined as size 4, got size 16
(defun debug-menu-make-from-template ((arg0 debug-menu-context) (arg1 pair))
(local-vars (s5-0 basic) (sv-16 object) (sv-32 int) (sv-48 float) (sv-64 float) (sv-80 float) (sv-96 float))
(when (or (not arg1) (null? arg1))
+1 -1
View File
@@ -661,7 +661,7 @@
;; definition for function ocean-mid-add-upload-table
;; INFO: Used lq/sq
;; ERROR: Function may read a register that is not set: f31
;; WARN: Function may read a register that is not set: f31
(defun ocean-mid-add-upload-table ((arg0 dma-buffer) (arg1 uint) (arg2 uint) (arg3 (pointer float)) (arg4 int) (arg5 symbol))
(local-vars
(r0-0 int)
+1 -1
View File
@@ -435,7 +435,7 @@
;; definition for function ocean-near-add-upload
;; INFO: Used lq/sq
;; INFO: Return type mismatch pointer vs none.
;; ERROR: Function may read a register that is not set: f31
;; WARN: Function may read a register that is not set: f31
(defun ocean-near-add-upload ((arg0 dma-buffer) (arg1 uint) (arg2 uint))
(local-vars
(r0-0 int)
+2 -2
View File
@@ -100,7 +100,7 @@
;; definition for function ocean-trans-add-upload-table
;; INFO: Used lq/sq
;; ERROR: Function may read a register that is not set: f31
;; WARN: Function may read a register that is not set: f31
(defun ocean-trans-add-upload-table ((arg0 dma-buffer) (arg1 int) (arg2 int) (arg3 (pointer float)) (arg4 int) (arg5 symbol))
(local-vars
(r0-0 int)
@@ -302,7 +302,7 @@
;; definition for function ocean-trans-add-upload-strip
;; INFO: Used lq/sq
;; ERROR: Function may read a register that is not set: f31
;; WARN: Function may read a register that is not set: f31
(defun ocean-trans-add-upload-strip ((arg0 dma-buffer) (arg1 uint) (arg2 uint) (arg3 uint) (arg4 uint) (arg5 uint))
(local-vars
(r0-0 int)
+1 -1
View File
@@ -149,7 +149,7 @@
;; definition for function close-sky-buffer
;; INFO: Used lq/sq
;; INFO: Return type mismatch pointer vs none.
;; ERROR: Function may read a register that is not set: ra
;; WARN: Function may read a register that is not set: ra
;; ERROR: Unsupported inline assembly instruction kind - [jr ra]
(defun close-sky-buffer ((arg0 dma-buffer))
(local-vars (ra-0 none))
+1 -1
View File
@@ -396,7 +396,7 @@
;; definition for function bsp-camera-asm
;; INFO: Return type mismatch int vs none.
;; ERROR: Function may read a register that is not set: a2
;; WARN: Function may read a register that is not set: a2
(defun bsp-camera-asm ((bsp-hdr bsp-header) (camera-pos vector))
(local-vars (v1-1 float) (real-node bsp-node))
(rlet ((vf1 :class vf)
+1 -1
View File
@@ -228,7 +228,7 @@
;; definition for function matrix-transpose!
;; INFO: Used lq/sq
;; ERROR: Function may read a register that is not set: f31
;; WARN: Function may read a register that is not set: f31
(defun matrix-transpose! ((dst matrix) (src matrix))
(local-vars
(r0-0 int)
+4 -4
View File
@@ -264,10 +264,10 @@
;; definition (debug) for function target-print-stats
;; INFO: Used lq/sq
;; ERROR: Stack slot load at 160 mismatch: defined as size 4, got size 16
;; ERROR: Stack slot load at 176 mismatch: defined as size 4, got size 16
;; ERROR: Stack slot load at 160 mismatch: defined as size 4, got size 16
;; ERROR: Stack slot load at 176 mismatch: defined as size 4, got size 16
;; WARN: Stack slot load at 160 mismatch: defined as size 4, got size 16
;; WARN: Stack slot load at 176 mismatch: defined as size 4, got size 16
;; WARN: Stack slot load at 160 mismatch: defined as size 4, got size 16
;; WARN: Stack slot load at 176 mismatch: defined as size 4, got size 16
(defun-debug target-print-stats ((arg0 target) (arg1 symbol))
(local-vars
(sv-64 string)
+1 -1
View File
@@ -1458,7 +1458,7 @@
;; definition for function robotboss-redshot
;; INFO: Used lq/sq
;; ERROR: Stack slot load at 64 mismatch: defined as size 4, got size 16
;; WARN: Stack slot load at 64 mismatch: defined as size 4, got size 16
(defbehavior robotboss-redshot robotboss ((arg0 redshot-launch-info) (arg1 symbol))
(local-vars (sv-32 redshot-launch-info) (sv-48 vector) (sv-64 float) (sv-80 time-frame) (sv-96 time-frame))
(set! sv-32 arg0)
+1 -1
View File
@@ -873,7 +873,7 @@
;; definition for function race-time-save
;; ERROR: Type Propagation failed: Failed type prop at op 6 ((set! v1 (l.wu (+ a0 -4)))): Could not get type of load: (set! v1 (l.wu (+ a0 -4))).
;; ERROR: Type analysis failed
;; ERROR: Function may read a register that is not set: a2
;; WARN: Function may read a register that is not set: a2
(defun race-time-save ((a0-0 race-time) (a1-0 task-control))
(local-vars
(v0-0 none)
+1 -1
View File
@@ -943,7 +943,7 @@ swamp-rat-nest-default-event-handler
;; definition for function swamp-rat-nest-spawn-rat
;; INFO: Used lq/sq
;; INFO: Return type mismatch (pointer process) vs (pointer swamp-rat).
;; ERROR: Function may read a register that is not set: t2
;; WARN: Function may read a register that is not set: t2
(defbehavior swamp-rat-nest-spawn-rat swamp-rat-nest ()
(local-vars (t2-0 none))
(the-as
+1 -1
View File
@@ -80,7 +80,7 @@
)
;; definition for method 11 of type traffic-suppression-params
;; INFO: Return type mismatch symbol vs none.
;; WARN: Return type mismatch symbol vs none.
(defmethod has-valid-id? traffic-suppression-params ((obj traffic-suppression-params))
(!= (-> obj id) -1)
(none)
+1 -5
View File
@@ -47,7 +47,7 @@
)
;; definition for method 0 of type align-control
;; INFO: Return type mismatch object vs align-control.
;; WARN: Return type mismatch object vs align-control.
(defmethod new align-control ((allocation symbol) (type-to-make type) (arg0 process))
(let ((obj (object-new allocation type-to-make (the-as int (-> type-to-make size)))))
(when (zero? obj)
@@ -58,7 +58,3 @@
(the-as align-control obj)
)
)
+1 -1
View File
@@ -154,7 +154,7 @@
)
;; definition (debug) for function joint-mod-debug-draw
;; INFO: Return type mismatch int vs none.
;; WARN: Return type mismatch int vs none.
(defun-debug joint-mod-debug-draw ((arg0 joint-mod))
(add-debug-matrix #t (bucket-id bucket-318) (-> arg0 joint bone transform) 8192.0)
0
+20 -20
View File
@@ -3,7 +3,7 @@
;; definition for function joint-mod-ik-callback
;; INFO: Used lq/sq
;; INFO: Return type mismatch matrix vs none.
;; WARN: Return type mismatch matrix vs none.
;; WARN: Function joint-mod-ik-callback has a return type of none, but the expression builder found a return statement.
;; ERROR: Unsupported inline assembly instruction kind - [mula.s f0, f3]
;; ERROR: Unsupported inline assembly instruction kind - [madda.s f1, f4]
@@ -310,7 +310,7 @@
;; definition for method 9 of type joint-mod-ik
;; INFO: Used lq/sq
;; INFO: Return type mismatch int vs none.
;; WARN: Return type mismatch int vs none.
(defmethod handle-copy! joint-mod-ik ((obj joint-mod-ik) (arg0 vector))
(set! (-> obj handle-pos quad) (-> arg0 quad))
0
@@ -318,7 +318,7 @@
)
;; definition for method 10 of type joint-mod-ik
;; INFO: Return type mismatch int vs none.
;; WARN: Return type mismatch int vs none.
(defmethod enable-set! joint-mod-ik ((obj joint-mod-ik) (arg0 symbol))
(if arg0
(logior! (-> obj flags) (joint-mod-ik-flags enable))
@@ -329,7 +329,7 @@
)
;; definition for function real-joint-mod-gun-look-at-handler
;; INFO: Return type mismatch int vs none.
;; WARN: Return type mismatch int vs none.
(defbehavior real-joint-mod-gun-look-at-handler process ((arg0 cspace) (arg1 transformq))
(local-vars
(sv-16 joint-mod)
@@ -517,7 +517,7 @@
;; definition for function joint-mod-foot-rot-handler
;; INFO: Used lq/sq
;; INFO: Return type mismatch int vs none.
;; WARN: Return type mismatch int vs none.
(defbehavior joint-mod-foot-rot-handler process ((arg0 cspace) (arg1 transformq))
(let ((s5-0 (the-as joint-mod (-> arg0 param1)))
(gp-0 (-> arg0 bone transform))
@@ -604,7 +604,7 @@
)
;; definition for method 9 of type joint-mod
;; INFO: Return type mismatch joint-mod vs none.
;; WARN: Return type mismatch joint-mod vs none.
(defmethod mode-set! joint-mod ((obj joint-mod) (arg0 joint-mod-mode))
(set! (-> obj mode) arg0)
(let ((v1-0 (-> obj joint)))
@@ -713,7 +713,7 @@
)
;; definition for method 15 of type joint-mod
;; INFO: Return type mismatch joint-mod vs none.
;; WARN: Return type mismatch joint-mod vs none.
(defmethod shut-down joint-mod ((obj joint-mod))
(set! (-> obj shutting-down?) #t)
(set! (-> obj blend) 0.0)
@@ -736,7 +736,7 @@
;; definition for method 14 of type joint-mod
;; INFO: Used lq/sq
;; INFO: Return type mismatch int vs none.
;; WARN: Return type mismatch int vs none.
(defmethod trs-set! joint-mod ((obj joint-mod) (arg0 vector) (arg1 quaternion) (arg2 vector))
(if arg0
(set! (-> obj trans quad) (-> arg0 quad))
@@ -753,7 +753,7 @@
;; definition for method 10 of type joint-mod
;; INFO: Used lq/sq
;; INFO: Return type mismatch int vs none.
;; WARN: Return type mismatch int vs none.
(defmethod target-set! joint-mod ((obj joint-mod) (arg0 vector))
(if (= (-> obj mode) (joint-mod-mode reset))
(mode-set! obj (joint-mod-mode look-at))
@@ -775,7 +775,7 @@
;; definition for method 11 of type joint-mod
;; INFO: Used lq/sq
;; INFO: Return type mismatch int vs none.
;; WARN: Return type mismatch int vs none.
(defmethod look-at! joint-mod ((obj joint-mod) (arg0 vector) (arg1 symbol) (arg2 process))
(when (= arg1 'attacking)
(let* ((s2-0 arg2)
@@ -834,7 +834,7 @@
;; ERROR: Stack slot load at 176 mismatch: defined as size 4, got size 16
;; ERROR: Stack slot load at 176 mismatch: defined as size 4, got size 16
;; ERROR: Stack slot load at 176 mismatch: defined as size 4, got size 16
;; INFO: Return type mismatch int vs none.
;; WARN: Return type mismatch int vs none.
;; ERROR: Unsupported inline assembly instruction kind - [mula.s f0, f3]
;; ERROR: Unsupported inline assembly instruction kind - [madda.s f1, f4]
;; ERROR: Unsupported inline assembly instruction kind - [madd.s f0, f2, f5]
@@ -1019,7 +1019,7 @@
;; definition for function joint-mod-polar-look-at-guts
;; INFO: Used lq/sq
;; INFO: Return type mismatch symbol vs none.
;; WARN: Return type mismatch symbol vs none.
(defbehavior joint-mod-polar-look-at-guts process ((arg0 cspace) (arg1 transformq))
(let ((gp-0 (the-as joint-mod (-> arg0 param1))))
(cspace<-parented-transformq-joint! arg0 arg1)
@@ -1143,7 +1143,7 @@
)
;; definition for function joint-mod-polar-look-at-handler
;; INFO: Return type mismatch int vs none.
;; WARN: Return type mismatch int vs none.
(defbehavior joint-mod-polar-look-at-handler process ((arg0 cspace) (arg1 transformq))
(joint-mod-polar-look-at-guts arg0 arg1)
0
@@ -1152,7 +1152,7 @@
;; definition for function joint-mod-world-look-at-handler
;; INFO: Used lq/sq
;; INFO: Return type mismatch int vs none.
;; WARN: Return type mismatch int vs none.
(defbehavior joint-mod-world-look-at-handler process ((arg0 cspace) (arg1 transformq))
(local-vars (sv-48 vector) (sv-52 vector) (sv-56 vector))
(let ((gp-0 (the-as joint-mod (-> arg0 param1))))
@@ -1261,7 +1261,7 @@
)
;; definition for function joint-mod-rotate-handler
;; INFO: Return type mismatch int vs none.
;; WARN: Return type mismatch int vs none.
(defbehavior joint-mod-rotate-handler process ((arg0 cspace) (arg1 transformq))
(rlet ((vf0 :class vf)
(vf4 :class vf)
@@ -1343,7 +1343,7 @@
)
;; definition for function joint-mod-scale-handler
;; INFO: Return type mismatch int vs none.
;; WARN: Return type mismatch int vs none.
(defbehavior joint-mod-scale-handler process ((arg0 cspace) (arg1 transformq))
(rlet ((vf0 :class vf)
(vf4 :class vf)
@@ -1375,7 +1375,7 @@
;; definition for function joint-mod-joint-set-handler
;; INFO: Used lq/sq
;; INFO: Return type mismatch int vs none.
;; WARN: Return type mismatch int vs none.
(defbehavior joint-mod-joint-set-handler process ((arg0 cspace) (arg1 transformq))
(let ((s4-0 (the-as joint-mod (-> arg0 param1))))
(if (zero? (logand (-> s4-0 track-mode) (track-mode no-trans)))
@@ -1395,7 +1395,7 @@
;; definition for function joint-mod-joint-set-world-handler
;; INFO: Used lq/sq
;; INFO: Return type mismatch int vs none.
;; WARN: Return type mismatch int vs none.
;; WARN: Function joint-mod-joint-set-world-handler has a return type of none, but the expression builder found a return statement.
(defbehavior joint-mod-joint-set-world-handler process ((arg0 cspace) (arg1 transformq))
(cspace<-parented-transformq-joint! arg0 arg1)
@@ -1480,7 +1480,7 @@
)
;; definition for function joint-mod-joint-set*-handler
;; INFO: Return type mismatch int vs none.
;; WARN: Return type mismatch int vs none.
(defbehavior joint-mod-joint-set*-handler process ((arg0 cspace) (arg1 transformq))
(rlet ((vf0 :class vf)
(vf4 :class vf)
@@ -1519,7 +1519,7 @@
)
;; definition for function joint-mod-joint-set*-world-handler
;; INFO: Return type mismatch int vs none.
;; WARN: Return type mismatch int vs none.
(defbehavior joint-mod-joint-set*-world-handler process ((arg0 cspace) (arg1 transformq))
(cspace<-parented-transformq-joint! arg0 arg1)
(let ((s5-0 (the-as joint-mod (-> arg0 param1))))
+19 -19
View File
@@ -31,19 +31,19 @@
)
;; definition for method 5 of type joint-anim-matrix
;; INFO: Return type mismatch uint vs int.
;; WARN: Return type mismatch uint vs int.
(defmethod asize-of joint-anim-matrix ((obj joint-anim-matrix))
(the-as int (+ (-> joint-anim-matrix size) (* (-> obj length) 64)))
)
;; definition for method 5 of type joint-anim-transformq
;; INFO: Return type mismatch uint vs int.
;; WARN: Return type mismatch uint vs int.
(defmethod asize-of joint-anim-transformq ((obj joint-anim-transformq))
(the-as int (+ (-> joint-anim-transformq size) (* 48 (-> obj length))))
)
;; definition for method 5 of type joint-anim-drawable
;; INFO: Return type mismatch uint vs int.
;; WARN: Return type mismatch uint vs int.
(defmethod asize-of joint-anim-drawable ((obj joint-anim-drawable))
(the-as int (+ (-> joint-anim-drawable size) (* (-> obj length) 4)))
)
@@ -156,7 +156,7 @@
)
;; definition for method 5 of type joint-control
;; INFO: Return type mismatch uint vs int.
;; WARN: Return type mismatch uint vs int.
(defmethod asize-of joint-control ((obj joint-control))
(the-as int (+ (-> obj type size) (* (-> obj allocated-length) 64)))
)
@@ -276,13 +276,13 @@
)
;; definition for method 10 of type art
;; INFO: Return type mismatch symbol vs basic.
;; WARN: Return type mismatch symbol vs basic.
(defmethod get-art-by-name-method art ((obj art) (arg0 string) (arg1 type))
(the-as basic #f)
)
;; definition for method 11 of type art
;; INFO: Return type mismatch symbol vs int.
;; WARN: Return type mismatch symbol vs int.
(defmethod get-art-idx-by-name-method art ((obj art) (arg0 string) (arg1 type))
(the-as int #f)
)
@@ -350,7 +350,7 @@
)
;; definition for method 5 of type art-joint-anim
;; INFO: Return type mismatch uint vs int.
;; WARN: Return type mismatch uint vs int.
(defmethod asize-of art-joint-anim ((obj art-joint-anim))
(the-as int (+ (-> art size) (* (-> obj length) 4)))
)
@@ -381,7 +381,7 @@
)
;; definition for method 10 of type art-group
;; INFO: Return type mismatch art-element vs basic.
;; WARN: Return type mismatch art-element vs basic.
(defmethod get-art-by-name-method art-group ((obj art-group) (arg0 string) (arg1 type))
(cond
(arg1
@@ -466,7 +466,7 @@
)
;; definition for method 7 of type art-group
;; INFO: Return type mismatch art-group vs none.
;; WARN: Return type mismatch art-group vs none.
(defmethod relocate art-group ((obj art-group) (arg0 kheap) (arg1 (pointer uint8)))
(let ((s4-0 (clear *temp-string*)))
(string<-charp s4-0 arg1)
@@ -533,7 +533,7 @@
)
;; definition for method 5 of type art-mesh-geo
;; INFO: Return type mismatch uint vs int.
;; WARN: Return type mismatch uint vs int.
(defmethod asize-of art-mesh-geo ((obj art-mesh-geo))
(the-as int (+ (-> art size) (* (-> obj length) 4)))
)
@@ -579,13 +579,13 @@
)
;; definition for method 5 of type art-joint-geo
;; INFO: Return type mismatch uint vs int.
;; WARN: Return type mismatch uint vs int.
(defmethod asize-of art-joint-geo ((obj art-joint-geo))
(the-as int (+ (-> art size) (* (-> obj length) 4)))
)
;; definition for method 10 of type art-joint-geo
;; INFO: Return type mismatch joint vs basic.
;; WARN: Return type mismatch joint vs basic.
(defmethod get-art-by-name-method art-joint-geo ((obj art-joint-geo) (arg0 string) (arg1 type))
(cond
(arg1
@@ -727,7 +727,7 @@
;; definition for function joint-control-remap!
;; INFO: Used lq/sq
;; INFO: Return type mismatch symbol vs object.
;; WARN: Return type mismatch symbol vs object.
;; WARN: Using new Jak 2 rtype-of
(defun joint-control-remap! ((arg0 joint-control) (arg1 art-group) (arg2 art-group) (arg3 pair) (arg4 int) (arg5 string))
(local-vars
@@ -986,7 +986,7 @@
)
;; definition for function matrix-from-joint-anim-frame
;; INFO: Return type mismatch object vs matrix.
;; WARN: Return type mismatch object vs matrix.
(defun matrix-from-joint-anim-frame ((arg0 joint-anim-compressed-control) (arg1 int) (arg2 int))
(let ((v1-1 (the-as object (-> arg0 fixed data)))
(v0-0 (the-as object (-> arg0 data arg2 data)))
@@ -1083,7 +1083,7 @@
;; definition for function matrix-from-control!
;; INFO: Used lq/sq
;; INFO: Return type mismatch (inline-array matrix) vs matrix.
;; WARN: Return type mismatch (inline-array matrix) vs matrix.
(defun matrix-from-control! ((arg0 matrix-stack) (arg1 joint) (arg2 joint-control) (arg3 symbol))
(set! (-> arg0 top) (the-as matrix (-> arg0 data)))
(dotimes (s2-0 (the-as int (+ (-> arg2 active-channels) (-> arg2 float-channels))))
@@ -1438,7 +1438,7 @@
)
;; definition for function cspace<-matrix-joint-flip-z!
;; INFO: Return type mismatch int vs none.
;; WARN: Return type mismatch int vs none.
(defun cspace<-matrix-joint-flip-z! ((arg0 cspace) (arg1 matrix))
(local-vars (v1-2 float))
(rlet ((vf0 :class vf)
@@ -1459,7 +1459,7 @@
)
;; definition for function cspace<-parented-transformq-joint!
;; ERROR: Function may read a register that is not set: ra
;; WARN: Function may read a register that is not set: ra
;; ERROR: Unsupported inline assembly instruction kind - [jr ra]
;; ERROR: Unsupported inline assembly instruction kind - [jr ra]
(defun cspace<-parented-transformq-joint! ((arg0 cspace) (arg1 transformq))
@@ -1606,7 +1606,7 @@
)
;; definition for function cspace<-parented-transformq-joint-flip-z!
;; INFO: Return type mismatch int vs none.
;; WARN: Return type mismatch int vs none.
(defun cspace<-parented-transformq-joint-flip-z! ((arg0 cspace) (arg1 transformq))
(cspace<-parented-transformq-joint! arg0 arg1)
(cspace<-matrix-joint-flip-z! arg0 (-> arg0 bone transform))
@@ -2135,7 +2135,7 @@
)
;; definition for method 13 of type art-joint-anim-manager
;; INFO: Return type mismatch int vs none.
;; WARN: Return type mismatch int vs none.
(defmethod unload-from-level art-joint-anim-manager ((obj art-joint-anim-manager) (arg0 level))
(let ((s5-0 (-> arg0 heap base))
(s4-0 (-> arg0 heap top-base))
+1 -1
View File
@@ -432,7 +432,7 @@
;; definition for function cam-combiner-init
;; INFO: Used lq/sq
;; INFO: Return type mismatch int vs none.
;; WARN: Return type mismatch int vs none.
(defbehavior cam-combiner-init camera-combiner ()
(stack-size-set! (-> self main-thread) 512)
(vector-reset! (-> self trans))
+5 -8
View File
@@ -11,7 +11,7 @@
(define *redline-index* 0)
;; definition for function float-save-redline
;; INFO: Return type mismatch int vs none.
;; WARN: Return type mismatch int vs none.
(defun float-save-redline ((arg0 float))
(set! (-> *redline-table* *redline-index*) arg0)
(set! *redline-index* (+ *redline-index* 1))
@@ -36,7 +36,7 @@
(define *blueline-index* 0)
;; definition for function float-save-blueline
;; INFO: Return type mismatch int vs none.
;; WARN: Return type mismatch int vs none.
(defun float-save-blueline ((arg0 float))
(set! (-> *blueline-table* *blueline-index*) arg0)
(set! *blueline-index* (+ *blueline-index* 1))
@@ -61,7 +61,7 @@
(define *greenline-index* 0)
;; definition for function float-save-greenline
;; INFO: Return type mismatch int vs none.
;; WARN: Return type mismatch int vs none.
(defun float-save-greenline ((arg0 float))
(set! (-> *greenline-table* *greenline-index*) arg0)
(set! *greenline-index* (+ *greenline-index* 1))
@@ -86,7 +86,7 @@
(define *yellowline-index* 0)
;; definition for function float-save-yellowline
;; INFO: Return type mismatch int vs none.
;; WARN: Return type mismatch int vs none.
(defun float-save-yellowline ((arg0 float))
(set! (-> *yellowline-table* *yellowline-index*) arg0)
(set! *yellowline-index* (+ *yellowline-index* 1))
@@ -111,7 +111,7 @@
(define *timeplot-index* 0)
;; definition for function float-save-timeplot
;; INFO: Return type mismatch int vs none.
;; WARN: Return type mismatch int vs none.
(defun float-save-timeplot ((arg0 float))
(set! (-> *timeplot-table* *timeplot-index*) arg0)
(set! *timeplot-index* (+ *timeplot-index* 1))
@@ -136,6 +136,3 @@
0
)
+26 -26
View File
@@ -86,7 +86,7 @@
)
;; definition for function cam-slave-options->string
;; INFO: Return type mismatch object vs string.
;; WARN: Return type mismatch object vs string.
(defun cam-slave-options->string ((arg0 cam-slave-options) (arg1 object))
(if (= (logand arg0 (cam-slave-options SAME_SIDE)) (cam-slave-options SAME_SIDE))
(format arg1 "SAME_SIDE ")
@@ -166,7 +166,7 @@
)
;; definition for function cam-index-options->string
;; INFO: Return type mismatch object vs string.
;; WARN: Return type mismatch object vs string.
(defun cam-index-options->string ((arg0 cam-index-options) (arg1 object))
(if (= (logand arg0 (cam-index-options SPHERICAL)) (cam-index-options SPHERICAL))
(format arg1 "RADIAL ")
@@ -297,7 +297,7 @@
;; definition for function camera-plot-float-func
;; INFO: Used lq/sq
;; INFO: Return type mismatch int vs none.
;; WARN: Return type mismatch int vs none.
(defun camera-plot-float-func ((arg0 float) (arg1 float) (arg2 float) (arg3 float) (arg4 (function float float)) (arg5 vector4w))
(let ((f30-0 (- arg1 arg0))
(f24-0 (- arg3 arg2))
@@ -400,7 +400,7 @@
;; definition for function camera-line-setup
;; INFO: Used lq/sq
;; INFO: Return type mismatch int vs none.
;; WARN: Return type mismatch int vs none.
(defun camera-line-setup ((arg0 vector4w))
(let ((v1-0 (-> arg0 quad)))
(set! (-> (the-as cam-dbg-scratch #x70000000) color quad) v1-0)
@@ -412,7 +412,7 @@
;; definition for function camera-line-draw
;; INFO: Used lq/sq
;; INFO: Return type mismatch int vs none.
;; WARN: Return type mismatch int vs none.
;; WARN: Function camera-line-draw has a return type of none, but the expression builder found a return statement.
(defun camera-line-draw ((arg0 vector) (arg1 vector))
(set! (-> (the-as (pointer uint128) (+ 80 (the-as int (the-as cam-dbg-scratch #x70000000))))) (-> arg0 quad))
@@ -441,7 +441,7 @@
)
;; definition for function camera-line
;; INFO: Return type mismatch int vs none.
;; WARN: Return type mismatch int vs none.
(defun camera-line ((arg0 vector) (arg1 vector) (arg2 vector4w))
(camera-line-setup arg2)
(camera-line-draw arg0 arg1)
@@ -469,7 +469,7 @@
)
;; definition for function camera-sphere
;; INFO: Return type mismatch int vs none.
;; WARN: Return type mismatch int vs none.
(defun camera-sphere ((arg0 vector) (arg1 float) (arg2 vector4w))
(camera-line-setup arg2)
(dotimes (s4-0 10)
@@ -584,7 +584,7 @@
;; definition for function camera-bounding-box-draw
;; INFO: Used lq/sq
;; INFO: Return type mismatch int vs none.
;; WARN: Return type mismatch int vs none.
(defun camera-bounding-box-draw ((arg0 bounding-box) (arg1 basic) (arg2 rgba))
(camera-line-setup (new 'static 'vector4w :x #x7f :y #x7f :z #x7f :w #x80))
(set! (-> (the-as (pointer uint128) (+ 240 (the-as int (the-as cam-dbg-scratch #x70000000)))))
@@ -683,7 +683,7 @@
(define *cam-debug-coll-tri* (the-as (inline-array cam-debug-tri) (malloc 'debug #x8fc0)))
;; definition for function cam-debug-reset-coll-tri
;; INFO: Return type mismatch int vs none.
;; WARN: Return type mismatch int vs none.
(defun cam-debug-reset-coll-tri ()
(set! *cam-debug-los-tri-current* 0)
(set! *cam-debug-coll-tri-current* 0)
@@ -693,7 +693,7 @@
;; definition for function cam-debug-add-los-tri
;; INFO: Used lq/sq
;; INFO: Return type mismatch int vs none.
;; WARN: Return type mismatch int vs none.
(defun cam-debug-add-los-tri ((arg0 (inline-array collide-cache-tri)) (arg1 vector) (arg2 vector))
(cond
((>= *cam-debug-los-tri-current* 460)
@@ -718,7 +718,7 @@
;; definition for function cam-debug-add-coll-tri
;; INFO: Used lq/sq
;; INFO: Return type mismatch int vs none.
;; WARN: Return type mismatch int vs none.
(defun cam-debug-add-coll-tri ((arg0 cam-debug-tri) (arg1 vector) (arg2 cam-debug-tri))
(cond
((>= *cam-debug-coll-tri-current* 460)
@@ -891,7 +891,7 @@
;; definition for function camera-fov-frame
;; INFO: Used lq/sq
;; INFO: Return type mismatch none vs symbol.
;; WARN: Return type mismatch none vs symbol.
(defun camera-fov-frame ((arg0 matrix) (arg1 vector) (arg2 float) (arg3 float) (arg4 float) (arg5 vector4w))
(vector-float*!
(the-as vector (+ 432 (the-as int (the-as cam-dbg-scratch #x70000000))))
@@ -998,7 +998,7 @@
)
;; definition for method 11 of type tracking-spline
;; INFO: Return type mismatch int vs none.
;; WARN: Return type mismatch int vs none.
(defmethod debug-point-info tracking-spline ((obj tracking-spline) (arg0 int))
(if (= arg0 (-> obj used-point))
(format 0 "u")
@@ -1028,7 +1028,7 @@
)
;; definition for method 12 of type tracking-spline
;; INFO: Return type mismatch int vs none.
;; WARN: Return type mismatch int vs none.
(defmethod debug-all-points tracking-spline ((obj tracking-spline))
(let ((s5-0 (-> obj used-point)))
(while (!= s5-0 -134250495)
@@ -1042,7 +1042,7 @@
)
;; definition for method 23 of type tracking-spline
;; INFO: Return type mismatch int vs none.
;; WARN: Return type mismatch int vs none.
(defmethod debug-draw-spline tracking-spline ((obj tracking-spline))
(let ((s5-0 (-> obj used-point)))
(let ((s4-0 (-> obj point (-> obj used-point) next)))
@@ -1202,7 +1202,7 @@
;; definition for function camera-slave-debug
;; INFO: Used lq/sq
;; INFO: Return type mismatch int vs none.
;; WARN: Return type mismatch int vs none.
(defun camera-slave-debug ((arg0 camera-slave))
(rlet ((acc :class vf)
(vf0 :class vf)
@@ -1551,7 +1551,7 @@
;; definition for function master-draw-coordinates
;; INFO: Used lq/sq
;; INFO: Return type mismatch int vs none.
;; WARN: Return type mismatch int vs none.
(defun master-draw-coordinates ((arg0 vector))
(let ((s5-0 (new-stack-vector0))
(gp-0 (new-stack-vector0))
@@ -1706,7 +1706,7 @@
;; definition for function cam-collision-record-save
;; INFO: Used lq/sq
;; INFO: Return type mismatch int vs none.
;; WARN: Return type mismatch int vs none.
(defun cam-collision-record-save ((arg0 vector) (arg1 vector) (arg2 int) (arg3 symbol) (arg4 camera-slave))
(with-pp
(when *record-cam-collide-history*
@@ -1746,7 +1746,7 @@
)
;; definition for function cam-collision-record-step
;; INFO: Return type mismatch int vs none.
;; WARN: Return type mismatch int vs none.
(defun cam-collision-record-step ((arg0 int))
(set! *cam-collision-record-show* (+ *cam-collision-record-show* arg0))
(while (>= *cam-collision-record-show* 600)
@@ -1761,11 +1761,11 @@
;; definition for function cam-collision-record-draw
;; INFO: Used lq/sq
;; INFO: Return type mismatch int vs none.
;; ERROR: Function may read a register that is not set: t0
;; ERROR: Function may read a register that is not set: t1
;; ERROR: Function may read a register that is not set: t2
;; ERROR: Function may read a register that is not set: t3
;; WARN: Return type mismatch int vs none.
;; WARN: Function may read a register that is not set: t0
;; WARN: Function may read a register that is not set: t1
;; WARN: Function may read a register that is not set: t2
;; WARN: Function may read a register that is not set: t3
(defun cam-collision-record-draw ()
(local-vars (t0-0 none) (t1-0 none) (t2-0 none) (t3-0 none))
(cond
@@ -1939,7 +1939,7 @@
)
;; definition for function camera-master-debug
;; INFO: Return type mismatch int vs none.
;; WARN: Return type mismatch int vs none.
(defun camera-master-debug ((arg0 camera-master))
(rlet ((acc :class vf)
(vf0 :class vf)
@@ -2079,7 +2079,7 @@
;; definition (debug) for function cam-restore
;; INFO: Used lq/sq
;; INFO: Return type mismatch int vs none.
;; WARN: Return type mismatch int vs none.
(defun-debug cam-restore ()
(let ((a0-0 (new-stack-vector0))
(a1-0 (new-stack-matrix0))
+1 -1
View File
@@ -113,7 +113,7 @@
;; definition for function camera-teleport-to-entity
;; INFO: Used lq/sq
;; INFO: Return type mismatch object vs none.
;; WARN: Return type mismatch object vs none.
(defbehavior camera-teleport-to-entity process ((arg0 entity-actor))
(let ((gp-0 (new 'stack 'transformq)))
(set! (-> gp-0 trans quad) (-> arg0 extra trans quad))
+1 -1
View File
@@ -12,7 +12,7 @@
)
;; definition for function cam-start
;; INFO: Return type mismatch int vs none.
;; WARN: Return type mismatch int vs none.
(defun cam-start ((arg0 symbol))
(cam-stop)
(set! *camera-combiner*
+1 -1
View File
@@ -186,7 +186,7 @@
)
;; definition for function cam-free-floating-input
;; INFO: Return type mismatch uint vs vector.
;; WARN: Return type mismatch uint vs vector.
(defun cam-free-floating-input ((arg0 vector) (arg1 vector) (arg2 symbol) (arg3 int))
(with-pp
(the-as
+22 -22
View File
@@ -1010,7 +1010,7 @@
;; definition for function cam-circular-code
;; INFO: Used lq/sq
;; ERROR: failed type prop at 56: Called a function, but we do not know its type
;; INFO: Return type mismatch none vs float.
;; WARN: Return type mismatch none vs float.
(defbehavior cam-circular-code camera-slave ()
(local-vars
(v0-0 vector)
@@ -1253,10 +1253,10 @@
;; definition for function cam-string-find-position-rel!
;; INFO: Used lq/sq
;; ERROR: Function may read a register that is not set: t0
;; ERROR: Function may read a register that is not set: t1
;; ERROR: Function may read a register that is not set: t2
;; ERROR: Function may read a register that is not set: t3
;; WARN: Function may read a register that is not set: t0
;; WARN: Function may read a register that is not set: t1
;; WARN: Function may read a register that is not set: t2
;; WARN: Function may read a register that is not set: t3
;; WARN: new jak 2 until loop case, check carefully
(defun cam-string-find-position-rel! ((arg0 vector))
(local-vars (t0-0 none) (t1-0 none) (t2-0 none) (t3-0 none))
@@ -1329,7 +1329,7 @@
;; definition for function cam-string-set-position-rel!
;; INFO: Used lq/sq
;; INFO: Return type mismatch uint vs cam-slave-options.
;; WARN: Return type mismatch uint vs cam-slave-options.
(defbehavior cam-string-set-position-rel! camera-slave ((arg0 vector))
(vector-flatten! (-> self view-flat) arg0 (-> *camera* local-down))
(set! (-> self min-z-override) (vector-length (-> self view-flat)))
@@ -1349,7 +1349,7 @@
)
;; definition (debug) for function cam-draw-collide-cache
;; INFO: Return type mismatch int vs none.
;; WARN: Return type mismatch int vs none.
(defun-debug cam-draw-collide-cache ((arg0 collide-cache))
(let ((gp-0 (the-as object (-> arg0 tris))))
(countdown (s5-0 (-> arg0 num-tris))
@@ -1433,7 +1433,7 @@
)
;; definition for function dist-info-init
;; INFO: Return type mismatch int vs none.
;; WARN: Return type mismatch int vs none.
(defun dist-info-init ((arg0 collide-los-dist-info))
(set! (-> arg0 min-par) 1.0)
(set! (-> arg0 max-par) 0.0)
@@ -1448,7 +1448,7 @@
)
;; definition for function dist-info-append
;; INFO: Return type mismatch int vs none.
;; WARN: Return type mismatch int vs none.
(defun dist-info-append ((arg0 collide-los-dist-info) (arg1 vector))
(cond
((dist-info-valid? arg0)
@@ -1875,7 +1875,7 @@
;; definition for function cam-los-collide
;; INFO: Used lq/sq
;; INFO: Return type mismatch int vs symbol.
;; WARN: Return type mismatch int vs symbol.
;; ERROR: Unsupported inline assembly instruction kind - [mula.s f2, f5]
;; ERROR: Unsupported inline assembly instruction kind - [madda.s f3, f6]
;; ERROR: Unsupported inline assembly instruction kind - [madd.s f2, f4, f7]
@@ -2375,7 +2375,7 @@
;; definition for function cam-string-joystick
;; INFO: Used lq/sq
;; ERROR: failed type prop at 785: Could not figure out load: (set! v1 (l.wu (+ v1 124)))
;; INFO: Return type mismatch symbol vs vector.
;; WARN: Return type mismatch symbol vs vector.
;; ERROR: Unsupported inline assembly instruction kind - [sllv a0, v1, r0]
;; ERROR: Unsupported inline assembly instruction kind - [sllv a0, v1, r0]
(defbehavior cam-string-joystick camera-slave ()
@@ -4232,11 +4232,11 @@
;; definition for function cam-string-find-hidden
;; INFO: Used lq/sq
;; INFO: Return type mismatch int vs none.
;; ERROR: Function may read a register that is not set: t0
;; ERROR: Function may read a register that is not set: t1
;; ERROR: Function may read a register that is not set: t2
;; ERROR: Function may read a register that is not set: t3
;; WARN: Return type mismatch int vs none.
;; WARN: Function may read a register that is not set: t0
;; WARN: Function may read a register that is not set: t1
;; WARN: Function may read a register that is not set: t2
;; WARN: Function may read a register that is not set: t3
(defbehavior cam-string-find-hidden camera-slave ()
(local-vars (t0-0 none) (t1-0 none) (t2-0 none) (t3-0 none))
(let* ((s5-0 (new 'stack-no-clear 'collide-query))
@@ -4294,11 +4294,11 @@
;; definition for function cam-string-move
;; INFO: Used lq/sq
;; ERROR: Function may read a register that is not set: a3
;; ERROR: Function may read a register that is not set: t0
;; ERROR: Function may read a register that is not set: t1
;; ERROR: Function may read a register that is not set: t2
;; ERROR: Function may read a register that is not set: t3
;; WARN: Function may read a register that is not set: a3
;; WARN: Function may read a register that is not set: t0
;; WARN: Function may read a register that is not set: t1
;; WARN: Function may read a register that is not set: t2
;; WARN: Function may read a register that is not set: t3
(defbehavior cam-string-move camera-slave ()
(local-vars (a3-0 object) (t0-0 object) (t1-0 float) (t2-0 none) (t3-0 none))
(rlet ((acc :class vf)
@@ -4530,7 +4530,7 @@
;; definition for function cam-string-code
;; INFO: Used lq/sq
;; ERROR: failed type prop at 11: Called a function, but we do not know its type
;; INFO: Return type mismatch none vs vector.
;; WARN: Return type mismatch none vs vector.
(defbehavior cam-string-code camera-slave ()
(local-vars
(v0-0 none)
+2 -2
View File
@@ -96,7 +96,7 @@
;; definition for function update-visible
;; INFO: Used lq/sq
;; ERROR: failed type prop at 93: Could not figure out load: (set! a1 (l.hu (+ a1 124)))
;; INFO: Return type mismatch none vs symbol.
;; WARN: Return type mismatch none vs symbol.
(defun update-visible ((a0-0 math-camera))
(local-vars
(v0-0 none)
@@ -1007,7 +1007,7 @@
;; definition for function external-cam-reset!
;; INFO: Used lq/sq
;; INFO: Return type mismatch int vs none.
;; WARN: Return type mismatch int vs none.
(defun external-cam-reset! ()
(when (not (movie?))
(vector-reset! (-> *math-camera* trans))
+5 -5
View File
@@ -183,7 +183,7 @@
)
;; definition for method 9 of type cam-float-seeker
;; INFO: Return type mismatch int vs none.
;; WARN: Return type mismatch int vs none.
(defmethod init cam-float-seeker ((obj cam-float-seeker) (arg0 float) (arg1 float) (arg2 float) (arg3 float))
(set! (-> obj target) arg0)
(set! (-> obj value) arg0)
@@ -196,7 +196,7 @@
)
;; definition for method 10 of type cam-float-seeker
;; INFO: Return type mismatch int vs none.
;; WARN: Return type mismatch int vs none.
(defmethod copy-to cam-float-seeker ((obj cam-float-seeker) (arg0 cam-float-seeker))
(set! (-> obj target) (-> arg0 target))
(set! (-> obj value) (-> arg0 value))
@@ -209,7 +209,7 @@
)
;; definition for method 11 of type cam-float-seeker
;; INFO: Return type mismatch int vs none.
;; WARN: Return type mismatch int vs none.
(defmethod update! cam-float-seeker ((obj cam-float-seeker) (arg0 float))
(with-pp
0.0
@@ -280,7 +280,7 @@
;; definition for method 9 of type cam-vector-seeker
;; INFO: Used lq/sq
;; INFO: Return type mismatch int vs none.
;; WARN: Return type mismatch int vs none.
(defmethod init cam-vector-seeker ((obj cam-vector-seeker) (arg0 vector) (arg1 float) (arg2 float) (arg3 float))
(cond
(arg0
@@ -301,7 +301,7 @@
)
;; definition for method 10 of type cam-vector-seeker
;; INFO: Return type mismatch int vs none.
;; WARN: Return type mismatch int vs none.
(defmethod update! cam-vector-seeker ((obj cam-vector-seeker) (arg0 vector))
(with-pp
(let ((v1-0 (new 'stack-no-clear 'vector)))
+13 -13
View File
@@ -50,7 +50,7 @@
)
;; definition for function cam-slave-get-flags
;; INFO: Return type mismatch uint128 vs uint.
;; WARN: Return type mismatch uint128 vs uint.
(defun cam-slave-get-flags ((arg0 entity) (arg1 symbol))
(let ((s5-0 (res-lump-value arg0 arg1 uint128 :time -1000000000.0))
(s3-0 (method-of-type res-lump get-property-value))
@@ -474,7 +474,7 @@
;; definition for method 10 of type tracking-spline
;; INFO: Used lq/sq
;; INFO: Return type mismatch int vs none.
;; WARN: Return type mismatch int vs none.
(defmethod tracking-spline-method-10 tracking-spline ((obj tracking-spline) (arg0 vector))
(set! (-> obj point 0 position quad) (-> arg0 quad))
(set! (-> obj point 0 next) -134250495)
@@ -500,7 +500,7 @@
)
;; definition for method 13 of type tracking-spline
;; INFO: Return type mismatch int vs none.
;; WARN: Return type mismatch int vs none.
(defmethod tracking-spline-method-13 tracking-spline ((obj tracking-spline) (arg0 int))
(let ((v1-3 (-> obj point arg0 next)))
(cond
@@ -535,7 +535,7 @@
)
;; definition for method 14 of type tracking-spline
;; INFO: Return type mismatch int vs none.
;; WARN: Return type mismatch int vs none.
(defmethod tracking-spline-method-14 tracking-spline ((obj tracking-spline) (arg0 tracking-spline-sampler))
(let ((v1-0 (-> obj used-point)))
(set! (-> obj partial-point) (-> arg0 partial-pt))
@@ -574,7 +574,7 @@
)
;; definition for method 15 of type tracking-spline
;; INFO: Return type mismatch int vs none.
;; WARN: Return type mismatch int vs none.
(defmethod tracking-spline-method-15 tracking-spline ((obj tracking-spline))
(let ((s5-0 (new 'stack-no-clear 'tracking-spline-sampler)))
(let ((a2-0 (new 'stack-no-clear 'vector)))
@@ -622,7 +622,7 @@
)
;; definition for method 16 of type tracking-spline
;; INFO: Return type mismatch int vs none.
;; WARN: Return type mismatch int vs none.
(defmethod tracking-spline-method-16 tracking-spline ((obj tracking-spline) (arg0 float))
(let ((s4-0 (new 'stack-no-clear 'tracking-spline-sampler)))
(let ((a2-0 (new 'stack-no-clear 'vector)))
@@ -757,7 +757,7 @@
)
;; definition for method 20 of type tracking-spline
;; INFO: Return type mismatch int vs none.
;; WARN: Return type mismatch int vs none.
(defmethod tracking-spline-method-20 tracking-spline ((obj tracking-spline) (arg0 vector) (arg1 int))
(let ((s3-0 (new 'stack-no-clear 'vector)))
(vector-!
@@ -892,7 +892,7 @@
)
;; definition for method 22 of type tracking-spline
;; INFO: Return type mismatch int vs none.
;; WARN: Return type mismatch int vs none.
(defmethod tracking-spline-method-22 tracking-spline ((obj tracking-spline) (arg0 float))
(when (< arg0 (-> obj summed-len))
(let ((s5-0 (new 'stack-no-clear 'tracking-spline-sampler)))
@@ -909,7 +909,7 @@
)
;; definition for method 9 of type tracking-spline
;; INFO: Return type mismatch int vs none.
;; WARN: Return type mismatch int vs none.
(defmethod tracking-spline-method-9 tracking-spline ((obj tracking-spline))
(let ((v1-0 (-> obj used-point))
(s4-0 0)
@@ -1032,7 +1032,7 @@
)
;; definition for function cam-slave-go
;; INFO: Return type mismatch int vs none.
;; WARN: Return type mismatch int vs none.
(defbehavior cam-slave-go camera-slave ((arg0 (state camera-slave)))
(cam-slave-init-vars)
(go arg0)
@@ -1041,7 +1041,7 @@
)
;; definition for function cam-slave-init
;; INFO: Return type mismatch int vs none.
;; WARN: Return type mismatch int vs none.
(defbehavior cam-slave-init camera-slave ((arg0 (state camera-slave)) (arg1 entity))
(stack-size-set! (-> self main-thread) 512)
(if (and (nonzero? camera-slave-debug) *debug-segment*)
@@ -1163,7 +1163,7 @@
)
;; definition for function cam-curve-setup
;; INFO: Return type mismatch int vs none.
;; WARN: Return type mismatch int vs none.
(defbehavior cam-curve-setup camera-slave ((arg0 vector))
(when (get-curve-data! (-> self cam-entity) (-> self spline-curve) 'campath 'campath-k -1000000000.0)
(curve-get-pos! (-> self spline-offset) 0.0 (-> self spline-curve))
@@ -1609,7 +1609,7 @@
;; definition for function slave-set-rotation!
;; INFO: Used lq/sq
;; INFO: Return type mismatch int vs none.
;; WARN: Return type mismatch int vs none.
;; ERROR: Unsupported inline assembly instruction kind - [mula.s f0, f3]
;; ERROR: Unsupported inline assembly instruction kind - [madda.s f1, f4]
;; ERROR: Unsupported inline assembly instruction kind - [madd.s f0, f2, f5]
+116 -116
View File
@@ -56,7 +56,7 @@
)
;; definition for method 10 of type collide-rider-pool
;; INFO: Return type mismatch int vs none.
;; WARN: Return type mismatch int vs none.
(defmethod prepare collide-rider-pool ((obj collide-rider-pool))
"Gets this pool ready to be used to allow allocations. This should be called once at the start of every frame."
(set! (-> obj alloc-count) 0)
@@ -182,7 +182,7 @@
(deftype collide-prim-core (structure)
((world-sphere vector :inline :offset-assert 0)
(collide-as collide-spec :offset-assert 16)
(collide-with uint32 :offset-assert 20)
(collide-with collide-spec :offset-assert 20)
(action collide-action :offset-assert 24)
(prim-type prim-type :offset-assert 28)
(unused1 uint8 3 :offset-assert 29)
@@ -348,85 +348,85 @@
(format #t ")~%")
(format #t "~1Tcollide-with: #x~X : (collide-spec " (-> obj prim-core collide-with))
(let ((s5-1 (-> obj prim-core collide-with)))
(if (= (logand #x800000 s5-1) #x800000)
(if (= (logand (collide-spec special-obstacle) s5-1) (collide-spec special-obstacle))
(format #t "special-obstacle ")
)
(if (= (logand #x200000 s5-1) #x200000)
(if (= (logand (collide-spec bot-targetable) s5-1) (collide-spec bot-targetable))
(format #t "bot-targetable ")
)
(if (= (logand (the-as int s5-1) 4096) 4096)
(if (= (logand s5-1 (collide-spec collectable)) (collide-spec collectable))
(format #t "collectable ")
)
(if (= (logand (the-as int s5-1) #x4000) #x4000)
(if (= (logand s5-1 (collide-spec projectile)) (collide-spec projectile))
(format #t "projectile ")
)
(if (= (logand #x1000000 s5-1) #x1000000)
(if (= (logand (collide-spec mech-punch) s5-1) (collide-spec mech-punch))
(format #t "mech-punch ")
)
(if (= (logand #x4000000 s5-1) #x4000000)
(if (= (logand (collide-spec vehicle-mesh-probeable) s5-1) (collide-spec vehicle-mesh-probeable))
(format #t "vehicle-mesh-probeable ")
)
(if (= (logand #x2000000 s5-1) #x2000000)
(if (= (logand (collide-spec obstacle-for-jak) s5-1) (collide-spec obstacle-for-jak))
(format #t "obstacle-for-jak ")
)
(if (= (logand (the-as int s5-1) 4) 4)
(if (= (logand s5-1 (collide-spec bot)) (collide-spec bot))
(format #t "bot ")
)
(if (= (logand (the-as int s5-1) 8192) 8192)
(if (= (logand s5-1 (collide-spec blocking-plane)) (collide-spec blocking-plane))
(format #t "blocking-plane ")
)
(if (= (logand (the-as int s5-1) 32) 32)
(if (= (logand s5-1 (collide-spec enemy)) (collide-spec enemy))
(format #t "enemy ")
)
(if (= (logand (the-as int s5-1) 256) 256)
(if (= (logand s5-1 (collide-spec hit-by-player-list)) (collide-spec hit-by-player-list))
(format #t "hit-by-player-list ")
)
(if (= (logand (the-as int s5-1) 64) 64)
(if (= (logand s5-1 (collide-spec obstacle)) (collide-spec obstacle))
(format #t "obstacle ")
)
(if (= (logand #x400000 s5-1) #x400000)
(if (= (logand (collide-spec jak-vehicle) s5-1) (collide-spec jak-vehicle))
(format #t "jak-vehicle ")
)
(if (= (logand #x100000 s5-1) #x100000)
(if (= (logand (collide-spec vehicle-mesh) s5-1) (collide-spec vehicle-mesh))
(format #t "vehicle-mesh ")
)
(if (= (logand (the-as int s5-1) 2048) 2048)
(if (= (logand s5-1 (collide-spec water)) (collide-spec water))
(format #t "water ")
)
(if (= (logand #x20000 s5-1) #x20000)
(if (= (logand (collide-spec notice-blue-eco-powerup) s5-1) (collide-spec notice-blue-eco-powerup))
(format #t "notice-blue-eco-powerup ")
)
(if (= (logand (the-as int s5-1) 16) 16)
(if (= (logand s5-1 (collide-spec civilian)) (collide-spec civilian))
(format #t "civilian ")
)
(if (= (logand (the-as int s5-1) 1024) 1024)
(if (= (logand s5-1 (collide-spec player-list)) (collide-spec player-list))
(format #t "player-list ")
)
(if (= (logand (the-as int s5-1) 1) 1)
(if (= (logand s5-1 (collide-spec backgnd)) (collide-spec backgnd))
(format #t "backgnd ")
)
(if (= (logand (the-as int s5-1) 2) 2)
(if (= (logand s5-1 (collide-spec jak)) (collide-spec jak))
(format #t "jak ")
)
(if (= (logand #x80000 s5-1) #x80000)
(if (= (logand (collide-spec pusher) s5-1) (collide-spec pusher))
(format #t "pusher ")
)
(if (= (logand (the-as int s5-1) #x8000) #x8000)
(if (= (logand s5-1 (collide-spec jak-vulnerable)) (collide-spec jak-vulnerable))
(format #t "jak-vulnerable ")
)
(if (= (logand #x10000 s5-1) #x10000)
(if (= (logand (collide-spec camera-blocker) s5-1) (collide-spec camera-blocker))
(format #t "camera-blocker ")
)
(if (= (logand (the-as int s5-1) 512) 512)
(if (= (logand s5-1 (collide-spec hit-by-others-list)) (collide-spec hit-by-others-list))
(format #t "hit-by-others-list ")
)
(if (= (logand (the-as int s5-1) 8) 8)
(if (= (logand s5-1 (collide-spec crate)) (collide-spec crate))
(format #t "crate ")
)
(if (= (logand #x40000 s5-1) #x40000)
(if (= (logand (collide-spec tobot) s5-1) (collide-spec tobot))
(format #t "tobot ")
)
(if (= (logand (the-as int s5-1) 128) 128)
(if (= (logand s5-1 (collide-spec vehicle-sphere)) (collide-spec vehicle-sphere))
(format #t "vehicle-sphere ")
)
)
@@ -607,85 +607,85 @@
(format #t ")~%")
(format #t "~1Tcollide-with: #x~X : (collide-spec " (-> obj prim-core collide-with))
(let ((s5-1 (-> obj prim-core collide-with)))
(if (= (logand #x800000 s5-1) #x800000)
(if (= (logand (collide-spec special-obstacle) s5-1) (collide-spec special-obstacle))
(format #t "special-obstacle ")
)
(if (= (logand #x200000 s5-1) #x200000)
(if (= (logand (collide-spec bot-targetable) s5-1) (collide-spec bot-targetable))
(format #t "bot-targetable ")
)
(if (= (logand (the-as int s5-1) 4096) 4096)
(if (= (logand s5-1 (collide-spec collectable)) (collide-spec collectable))
(format #t "collectable ")
)
(if (= (logand (the-as int s5-1) #x4000) #x4000)
(if (= (logand s5-1 (collide-spec projectile)) (collide-spec projectile))
(format #t "projectile ")
)
(if (= (logand #x1000000 s5-1) #x1000000)
(if (= (logand (collide-spec mech-punch) s5-1) (collide-spec mech-punch))
(format #t "mech-punch ")
)
(if (= (logand #x4000000 s5-1) #x4000000)
(if (= (logand (collide-spec vehicle-mesh-probeable) s5-1) (collide-spec vehicle-mesh-probeable))
(format #t "vehicle-mesh-probeable ")
)
(if (= (logand #x2000000 s5-1) #x2000000)
(if (= (logand (collide-spec obstacle-for-jak) s5-1) (collide-spec obstacle-for-jak))
(format #t "obstacle-for-jak ")
)
(if (= (logand (the-as int s5-1) 4) 4)
(if (= (logand s5-1 (collide-spec bot)) (collide-spec bot))
(format #t "bot ")
)
(if (= (logand (the-as int s5-1) 8192) 8192)
(if (= (logand s5-1 (collide-spec blocking-plane)) (collide-spec blocking-plane))
(format #t "blocking-plane ")
)
(if (= (logand (the-as int s5-1) 32) 32)
(if (= (logand s5-1 (collide-spec enemy)) (collide-spec enemy))
(format #t "enemy ")
)
(if (= (logand (the-as int s5-1) 256) 256)
(if (= (logand s5-1 (collide-spec hit-by-player-list)) (collide-spec hit-by-player-list))
(format #t "hit-by-player-list ")
)
(if (= (logand (the-as int s5-1) 64) 64)
(if (= (logand s5-1 (collide-spec obstacle)) (collide-spec obstacle))
(format #t "obstacle ")
)
(if (= (logand #x400000 s5-1) #x400000)
(if (= (logand (collide-spec jak-vehicle) s5-1) (collide-spec jak-vehicle))
(format #t "jak-vehicle ")
)
(if (= (logand #x100000 s5-1) #x100000)
(if (= (logand (collide-spec vehicle-mesh) s5-1) (collide-spec vehicle-mesh))
(format #t "vehicle-mesh ")
)
(if (= (logand (the-as int s5-1) 2048) 2048)
(if (= (logand s5-1 (collide-spec water)) (collide-spec water))
(format #t "water ")
)
(if (= (logand #x20000 s5-1) #x20000)
(if (= (logand (collide-spec notice-blue-eco-powerup) s5-1) (collide-spec notice-blue-eco-powerup))
(format #t "notice-blue-eco-powerup ")
)
(if (= (logand (the-as int s5-1) 16) 16)
(if (= (logand s5-1 (collide-spec civilian)) (collide-spec civilian))
(format #t "civilian ")
)
(if (= (logand (the-as int s5-1) 1024) 1024)
(if (= (logand s5-1 (collide-spec player-list)) (collide-spec player-list))
(format #t "player-list ")
)
(if (= (logand (the-as int s5-1) 1) 1)
(if (= (logand s5-1 (collide-spec backgnd)) (collide-spec backgnd))
(format #t "backgnd ")
)
(if (= (logand (the-as int s5-1) 2) 2)
(if (= (logand s5-1 (collide-spec jak)) (collide-spec jak))
(format #t "jak ")
)
(if (= (logand #x80000 s5-1) #x80000)
(if (= (logand (collide-spec pusher) s5-1) (collide-spec pusher))
(format #t "pusher ")
)
(if (= (logand (the-as int s5-1) #x8000) #x8000)
(if (= (logand s5-1 (collide-spec jak-vulnerable)) (collide-spec jak-vulnerable))
(format #t "jak-vulnerable ")
)
(if (= (logand #x10000 s5-1) #x10000)
(if (= (logand (collide-spec camera-blocker) s5-1) (collide-spec camera-blocker))
(format #t "camera-blocker ")
)
(if (= (logand (the-as int s5-1) 512) 512)
(if (= (logand s5-1 (collide-spec hit-by-others-list)) (collide-spec hit-by-others-list))
(format #t "hit-by-others-list ")
)
(if (= (logand (the-as int s5-1) 8) 8)
(if (= (logand s5-1 (collide-spec crate)) (collide-spec crate))
(format #t "crate ")
)
(if (= (logand #x40000 s5-1) #x40000)
(if (= (logand (collide-spec tobot) s5-1) (collide-spec tobot))
(format #t "tobot ")
)
(if (= (logand (the-as int s5-1) 128) 128)
(if (= (logand s5-1 (collide-spec vehicle-sphere)) (collide-spec vehicle-sphere))
(format #t "vehicle-sphere ")
)
)
@@ -870,85 +870,85 @@
(format #t ")~%")
(format #t "~1Tcollide-with: #x~X : (collide-spec " (-> obj prim-core collide-with))
(let ((s5-1 (-> obj prim-core collide-with)))
(if (= (logand #x800000 s5-1) #x800000)
(if (= (logand (collide-spec special-obstacle) s5-1) (collide-spec special-obstacle))
(format #t "special-obstacle ")
)
(if (= (logand #x200000 s5-1) #x200000)
(if (= (logand (collide-spec bot-targetable) s5-1) (collide-spec bot-targetable))
(format #t "bot-targetable ")
)
(if (= (logand (the-as int s5-1) 4096) 4096)
(if (= (logand s5-1 (collide-spec collectable)) (collide-spec collectable))
(format #t "collectable ")
)
(if (= (logand (the-as int s5-1) #x4000) #x4000)
(if (= (logand s5-1 (collide-spec projectile)) (collide-spec projectile))
(format #t "projectile ")
)
(if (= (logand #x1000000 s5-1) #x1000000)
(if (= (logand (collide-spec mech-punch) s5-1) (collide-spec mech-punch))
(format #t "mech-punch ")
)
(if (= (logand #x4000000 s5-1) #x4000000)
(if (= (logand (collide-spec vehicle-mesh-probeable) s5-1) (collide-spec vehicle-mesh-probeable))
(format #t "vehicle-mesh-probeable ")
)
(if (= (logand #x2000000 s5-1) #x2000000)
(if (= (logand (collide-spec obstacle-for-jak) s5-1) (collide-spec obstacle-for-jak))
(format #t "obstacle-for-jak ")
)
(if (= (logand (the-as int s5-1) 4) 4)
(if (= (logand s5-1 (collide-spec bot)) (collide-spec bot))
(format #t "bot ")
)
(if (= (logand (the-as int s5-1) 8192) 8192)
(if (= (logand s5-1 (collide-spec blocking-plane)) (collide-spec blocking-plane))
(format #t "blocking-plane ")
)
(if (= (logand (the-as int s5-1) 32) 32)
(if (= (logand s5-1 (collide-spec enemy)) (collide-spec enemy))
(format #t "enemy ")
)
(if (= (logand (the-as int s5-1) 256) 256)
(if (= (logand s5-1 (collide-spec hit-by-player-list)) (collide-spec hit-by-player-list))
(format #t "hit-by-player-list ")
)
(if (= (logand (the-as int s5-1) 64) 64)
(if (= (logand s5-1 (collide-spec obstacle)) (collide-spec obstacle))
(format #t "obstacle ")
)
(if (= (logand #x400000 s5-1) #x400000)
(if (= (logand (collide-spec jak-vehicle) s5-1) (collide-spec jak-vehicle))
(format #t "jak-vehicle ")
)
(if (= (logand #x100000 s5-1) #x100000)
(if (= (logand (collide-spec vehicle-mesh) s5-1) (collide-spec vehicle-mesh))
(format #t "vehicle-mesh ")
)
(if (= (logand (the-as int s5-1) 2048) 2048)
(if (= (logand s5-1 (collide-spec water)) (collide-spec water))
(format #t "water ")
)
(if (= (logand #x20000 s5-1) #x20000)
(if (= (logand (collide-spec notice-blue-eco-powerup) s5-1) (collide-spec notice-blue-eco-powerup))
(format #t "notice-blue-eco-powerup ")
)
(if (= (logand (the-as int s5-1) 16) 16)
(if (= (logand s5-1 (collide-spec civilian)) (collide-spec civilian))
(format #t "civilian ")
)
(if (= (logand (the-as int s5-1) 1024) 1024)
(if (= (logand s5-1 (collide-spec player-list)) (collide-spec player-list))
(format #t "player-list ")
)
(if (= (logand (the-as int s5-1) 1) 1)
(if (= (logand s5-1 (collide-spec backgnd)) (collide-spec backgnd))
(format #t "backgnd ")
)
(if (= (logand (the-as int s5-1) 2) 2)
(if (= (logand s5-1 (collide-spec jak)) (collide-spec jak))
(format #t "jak ")
)
(if (= (logand #x80000 s5-1) #x80000)
(if (= (logand (collide-spec pusher) s5-1) (collide-spec pusher))
(format #t "pusher ")
)
(if (= (logand (the-as int s5-1) #x8000) #x8000)
(if (= (logand s5-1 (collide-spec jak-vulnerable)) (collide-spec jak-vulnerable))
(format #t "jak-vulnerable ")
)
(if (= (logand #x10000 s5-1) #x10000)
(if (= (logand (collide-spec camera-blocker) s5-1) (collide-spec camera-blocker))
(format #t "camera-blocker ")
)
(if (= (logand (the-as int s5-1) 512) 512)
(if (= (logand s5-1 (collide-spec hit-by-others-list)) (collide-spec hit-by-others-list))
(format #t "hit-by-others-list ")
)
(if (= (logand (the-as int s5-1) 8) 8)
(if (= (logand s5-1 (collide-spec crate)) (collide-spec crate))
(format #t "crate ")
)
(if (= (logand #x40000 s5-1) #x40000)
(if (= (logand (collide-spec tobot) s5-1) (collide-spec tobot))
(format #t "tobot ")
)
(if (= (logand (the-as int s5-1) 128) 128)
(if (= (logand s5-1 (collide-spec vehicle-sphere)) (collide-spec vehicle-sphere))
(format #t "vehicle-sphere ")
)
)
@@ -1134,85 +1134,85 @@
(format #t ")~%")
(format #t "~1Tcollide-with: #x~X : (collide-spec " (-> obj prim-core collide-with))
(let ((s5-1 (-> obj prim-core collide-with)))
(if (= (logand #x800000 s5-1) #x800000)
(if (= (logand (collide-spec special-obstacle) s5-1) (collide-spec special-obstacle))
(format #t "special-obstacle ")
)
(if (= (logand #x200000 s5-1) #x200000)
(if (= (logand (collide-spec bot-targetable) s5-1) (collide-spec bot-targetable))
(format #t "bot-targetable ")
)
(if (= (logand (the-as int s5-1) 4096) 4096)
(if (= (logand s5-1 (collide-spec collectable)) (collide-spec collectable))
(format #t "collectable ")
)
(if (= (logand (the-as int s5-1) #x4000) #x4000)
(if (= (logand s5-1 (collide-spec projectile)) (collide-spec projectile))
(format #t "projectile ")
)
(if (= (logand #x1000000 s5-1) #x1000000)
(if (= (logand (collide-spec mech-punch) s5-1) (collide-spec mech-punch))
(format #t "mech-punch ")
)
(if (= (logand #x4000000 s5-1) #x4000000)
(if (= (logand (collide-spec vehicle-mesh-probeable) s5-1) (collide-spec vehicle-mesh-probeable))
(format #t "vehicle-mesh-probeable ")
)
(if (= (logand #x2000000 s5-1) #x2000000)
(if (= (logand (collide-spec obstacle-for-jak) s5-1) (collide-spec obstacle-for-jak))
(format #t "obstacle-for-jak ")
)
(if (= (logand (the-as int s5-1) 4) 4)
(if (= (logand s5-1 (collide-spec bot)) (collide-spec bot))
(format #t "bot ")
)
(if (= (logand (the-as int s5-1) 8192) 8192)
(if (= (logand s5-1 (collide-spec blocking-plane)) (collide-spec blocking-plane))
(format #t "blocking-plane ")
)
(if (= (logand (the-as int s5-1) 32) 32)
(if (= (logand s5-1 (collide-spec enemy)) (collide-spec enemy))
(format #t "enemy ")
)
(if (= (logand (the-as int s5-1) 256) 256)
(if (= (logand s5-1 (collide-spec hit-by-player-list)) (collide-spec hit-by-player-list))
(format #t "hit-by-player-list ")
)
(if (= (logand (the-as int s5-1) 64) 64)
(if (= (logand s5-1 (collide-spec obstacle)) (collide-spec obstacle))
(format #t "obstacle ")
)
(if (= (logand #x400000 s5-1) #x400000)
(if (= (logand (collide-spec jak-vehicle) s5-1) (collide-spec jak-vehicle))
(format #t "jak-vehicle ")
)
(if (= (logand #x100000 s5-1) #x100000)
(if (= (logand (collide-spec vehicle-mesh) s5-1) (collide-spec vehicle-mesh))
(format #t "vehicle-mesh ")
)
(if (= (logand (the-as int s5-1) 2048) 2048)
(if (= (logand s5-1 (collide-spec water)) (collide-spec water))
(format #t "water ")
)
(if (= (logand #x20000 s5-1) #x20000)
(if (= (logand (collide-spec notice-blue-eco-powerup) s5-1) (collide-spec notice-blue-eco-powerup))
(format #t "notice-blue-eco-powerup ")
)
(if (= (logand (the-as int s5-1) 16) 16)
(if (= (logand s5-1 (collide-spec civilian)) (collide-spec civilian))
(format #t "civilian ")
)
(if (= (logand (the-as int s5-1) 1024) 1024)
(if (= (logand s5-1 (collide-spec player-list)) (collide-spec player-list))
(format #t "player-list ")
)
(if (= (logand (the-as int s5-1) 1) 1)
(if (= (logand s5-1 (collide-spec backgnd)) (collide-spec backgnd))
(format #t "backgnd ")
)
(if (= (logand (the-as int s5-1) 2) 2)
(if (= (logand s5-1 (collide-spec jak)) (collide-spec jak))
(format #t "jak ")
)
(if (= (logand #x80000 s5-1) #x80000)
(if (= (logand (collide-spec pusher) s5-1) (collide-spec pusher))
(format #t "pusher ")
)
(if (= (logand (the-as int s5-1) #x8000) #x8000)
(if (= (logand s5-1 (collide-spec jak-vulnerable)) (collide-spec jak-vulnerable))
(format #t "jak-vulnerable ")
)
(if (= (logand #x10000 s5-1) #x10000)
(if (= (logand (collide-spec camera-blocker) s5-1) (collide-spec camera-blocker))
(format #t "camera-blocker ")
)
(if (= (logand (the-as int s5-1) 512) 512)
(if (= (logand s5-1 (collide-spec hit-by-others-list)) (collide-spec hit-by-others-list))
(format #t "hit-by-others-list ")
)
(if (= (logand (the-as int s5-1) 8) 8)
(if (= (logand s5-1 (collide-spec crate)) (collide-spec crate))
(format #t "crate ")
)
(if (= (logand #x40000 s5-1) #x40000)
(if (= (logand (collide-spec tobot) s5-1) (collide-spec tobot))
(format #t "tobot ")
)
(if (= (logand (the-as int s5-1) 128) 128)
(if (= (logand s5-1 (collide-spec vehicle-sphere)) (collide-spec vehicle-sphere))
(format #t "vehicle-sphere ")
)
)
@@ -1907,7 +1907,7 @@
(set! (-> v0-0 prim-id) arg1)
(set! (-> v0-0 prim-core action) (collide-action))
(set! (-> v0-0 prim-core collide-as) (collide-spec))
(set! (-> v0-0 prim-core collide-with) (the-as uint 0))
(set! (-> v0-0 prim-core collide-with) (collide-spec))
(set! (-> v0-0 transform-index) -2)
(set! (-> v0-0 prim-core prim-type) (prim-type prim))
v0-0
@@ -1915,7 +1915,7 @@
)
;; definition for method 0 of type collide-shape-prim-sphere
;; INFO: Return type mismatch collide-shape-prim vs collide-shape-prim-sphere.
;; WARN: Return type mismatch collide-shape-prim vs collide-shape-prim-sphere.
(defmethod new collide-shape-prim-sphere ((allocation symbol) (type-to-make type) (arg0 collide-shape) (arg1 uint))
(let ((v0-0 ((method-of-type collide-shape-prim new) allocation type-to-make arg0 arg1 80)))
(set! (-> (the-as collide-shape-prim-sphere v0-0) pat)
@@ -1927,7 +1927,7 @@
)
;; definition for method 0 of type collide-shape-prim-mesh
;; INFO: Return type mismatch collide-shape-prim vs collide-shape-prim-mesh.
;; WARN: Return type mismatch collide-shape-prim vs collide-shape-prim-mesh.
(defmethod new collide-shape-prim-mesh ((allocation symbol) (type-to-make type) (arg0 collide-shape) (arg1 uint) (arg2 uint))
(let ((v0-0 ((method-of-type collide-shape-prim new) allocation type-to-make arg0 arg2 80)))
(set! (-> (the-as collide-shape-prim-mesh v0-0) mesh) #f)
@@ -1939,7 +1939,7 @@
)
;; definition for method 0 of type collide-shape-prim-group
;; INFO: Return type mismatch collide-shape-prim vs collide-shape-prim-group.
;; WARN: Return type mismatch collide-shape-prim vs collide-shape-prim-group.
(defmethod new collide-shape-prim-group ((allocation symbol) (type-to-make type) (arg0 collide-shape) (arg1 uint) (arg2 int))
(let ((v0-0 ((method-of-type collide-shape-prim new) allocation type-to-make arg0 (the-as uint arg2) 80)))
(set! (-> (the-as collide-shape-prim-group v0-0) num-children) arg1)
@@ -1953,7 +1953,7 @@
)
;; definition for method 4 of type collide-shape-prim-group
;; INFO: Return type mismatch uint8 vs int.
;; WARN: Return type mismatch uint8 vs int.
(defmethod length collide-shape-prim-group ((obj collide-shape-prim-group))
(the-as int (-> obj num-children))
)
@@ -2009,7 +2009,7 @@
;; definition for method 0 of type collide-shape-moving
;; INFO: Used lq/sq
;; INFO: Return type mismatch collide-shape vs collide-shape-moving.
;; WARN: Return type mismatch collide-shape vs collide-shape-moving.
(defmethod new collide-shape-moving ((allocation symbol) (type-to-make type) (arg0 process-drawable) (arg1 collide-list-enum))
(let ((v0-0 ((method-of-type collide-shape new) allocation type-to-make arg0 arg1)))
(set! (-> (the-as collide-shape-moving v0-0) gspot-pos y) -40959590.0)
+4 -4
View File
@@ -93,7 +93,7 @@
)
;; definition for method 11 of type touching-prims-entry-pool
;; INFO: Return type mismatch int vs none.
;; WARN: Return type mismatch int vs none.
(defmethod init-list! touching-prims-entry-pool ((obj touching-prims-entry-pool))
(let ((v1-0 (the-as touching-prims-entry #f)))
(let ((a1-0 (the-as touching-prims-entry (-> obj nodes))))
@@ -115,7 +115,7 @@
)
;; definition for method 0 of type touching-prims-entry-pool
;; INFO: Return type mismatch structure vs touching-prims-entry-pool.
;; WARN: Return type mismatch structure vs touching-prims-entry-pool.
(defmethod new touching-prims-entry-pool ((allocation symbol) (type-to-make type))
(let ((t9-0 (method-of-type structure new))
(v1-1 type-to-make)
@@ -202,7 +202,7 @@
)
;; definition for method 0 of type touching-list
;; INFO: Return type mismatch structure vs touching-list.
;; WARN: Return type mismatch structure vs touching-list.
(defmethod new touching-list ((allocation symbol) (type-to-make type))
(let ((t9-0 (method-of-type structure new))
(v1-1 type-to-make)
@@ -222,7 +222,7 @@
)
;; definition for method 10 of type touching-shapes-entry
;; INFO: Return type mismatch collide-shape vs touching-prims-entry.
;; WARN: Return type mismatch collide-shape vs touching-prims-entry.
(defmethod get-next touching-shapes-entry ((obj touching-shapes-entry) (arg0 touching-shapes-entry))
(the-as touching-prims-entry (-> arg0 cshape1))
)
+1 -1
View File
@@ -113,7 +113,7 @@
)
;; definition for method 0 of type joint-anim-frame
;; INFO: Return type mismatch structure vs joint-anim-frame.
;; WARN: Return type mismatch structure vs joint-anim-frame.
(defmethod new joint-anim-frame ((allocation symbol) (type-to-make type) (arg0 int))
(let ((v1-1 (max 0 (+ arg0 -2))))
(the-as
+13 -13
View File
@@ -883,7 +883,7 @@
)
;; definition for function all-texture-tweak-adjust
;; INFO: Return type mismatch int vs none.
;; WARN: Return type mismatch int vs none.
(defun all-texture-tweak-adjust ((arg0 texture-page-dir) (arg1 float))
(dotimes (s4-0 (-> arg0 length))
(let ((s3-0 (-> arg0 entries s4-0 page)))
@@ -995,7 +995,7 @@
)
;; definition for function dm-bug-report-report-pick-func
;; INFO: Return type mismatch int vs none.
;; WARN: Return type mismatch int vs none.
(defun dm-bug-report-report-pick-func ((arg0 symbol) (arg1 debug-menu-msg))
(if (= arg1 (debug-menu-msg press))
(bug-report-display)
@@ -1026,7 +1026,7 @@
(define *shader-pick-menu* (the-as debug-menu #f))
;; definition for function build-shader-list
;; INFO: Return type mismatch pair vs none.
;; WARN: Return type mismatch pair vs none.
(defun build-shader-list ()
(debug-menu-remove-all-items *shader-pick-menu*)
(when *texture-page-dir*
@@ -1059,7 +1059,7 @@
)
;; definition for function dm-instance-pick-func
;; INFO: Return type mismatch object vs basic.
;; WARN: Return type mismatch object vs basic.
(defun dm-instance-pick-func ((arg0 string) (arg1 debug-menu-msg))
(when (= arg1 (debug-menu-msg press))
(if (find-instance-by-name arg0)
@@ -1100,7 +1100,7 @@
(define *enable-instance-tie-menu* (the-as debug-menu #f))
;; definition for function build-instance-list
;; INFO: Return type mismatch int vs none.
;; WARN: Return type mismatch int vs none.
(defun build-instance-list ((arg0 object))
(debug-menu-remove-all-items *instance-shrub-menu*)
(debug-menu-remove-all-items *instance-tie-menu*)
@@ -1233,7 +1233,7 @@
)
;; definition for function debug-create-cam-restore
;; INFO: Return type mismatch object vs none.
;; WARN: Return type mismatch object vs none.
(defun debug-create-cam-restore ()
(cond
(*math-camera*
@@ -3384,10 +3384,10 @@
(task-node-close! (the-as game-task gp-0))
)
)
(if (and (not (task-node-closed? (the-as game-task gp-0))) (not (task-node-open? (the-as game-task gp-0))))
(if (and (not (task-node-closed? (the-as game-task-node gp-0))) (not (task-node-open? (the-as game-task gp-0))))
(return 'invalid)
)
(task-node-closed? (the-as game-task gp-0))
(task-node-closed? (the-as game-task-node gp-0))
)
)
@@ -3471,7 +3471,7 @@
;; definition for function debug-menu-make-task-sub-menu
;; INFO: Used lq/sq
;; ERROR: failed type prop at 11: Could not figure out load: (set! a0 (l.wu v1))
;; INFO: Return type mismatch pair vs debug-menu-node.
;; WARN: Return type mismatch pair vs debug-menu-node.
(defun debug-menu-make-task-sub-menu ((a0-0 debug-menu-context))
(local-vars
(v0-0 none)
@@ -3723,7 +3723,7 @@
)
;; definition for function dm-play-task-with-continue
;; INFO: Return type mismatch int vs none.
;; WARN: Return type mismatch int vs none.
(defun dm-play-task-with-continue ((arg0 game-task) (arg1 string))
(let* ((t9-0 play-task)
(a1-1 'debug)
@@ -3823,7 +3823,7 @@
;; definition for function debug-menu-make-play-menu
;; INFO: Used lq/sq
;; ERROR: failed type prop at 12: Could not figure out load: (set! a0 (l.wu (+ v1 20)))
;; INFO: Return type mismatch debug-menu-node vs none.
;; WARN: Return type mismatch debug-menu-node vs none.
(defun debug-menu-make-play-menu ((a0-0 symbol))
(local-vars
(v0-0 none)
@@ -4066,7 +4066,7 @@
)
;; definition for function dm-pilot-mode
;; INFO: Return type mismatch object vs none.
;; WARN: Return type mismatch object vs none.
(defun dm-pilot-mode ((arg0 object))
"TODO - what is the third arg to target's change-mode?"
(if (not *target*)
@@ -4077,7 +4077,7 @@
)
;; definition for function dm-pilot-race-mode
;; INFO: Return type mismatch object vs none.
;; WARN: Return type mismatch object vs none.
(defun dm-pilot-race-mode ((arg0 object))
"TODO - what is the third arg to target's change-mode?"
(if (not *target*)
+4 -4
View File
@@ -166,7 +166,7 @@
)
;; definition for method 5 of type history
;; INFO: Return type mismatch uint vs int.
;; WARN: Return type mismatch uint vs int.
(defmethod asize-of history ((obj history))
(the-as int (+ (-> obj type size) (* 48 (-> obj allocated-length))))
)
@@ -180,7 +180,7 @@
)
;; definition for method 10 of type history
;; INFO: Return type mismatch int vs none.
;; WARN: Return type mismatch int vs none.
(defmethod clear-history-entries! history ((obj history))
"Iterates through each [[history-elt]] in the `elt` dynamic array
For each entry:
@@ -469,7 +469,7 @@
;; WARN: Stack slot offset 16 signed mismatch
;; WARN: Stack slot offset 16 signed mismatch
;; WARN: Stack slot offset 16 signed mismatch
;; INFO: Return type mismatch int vs none.
;; WARN: Return type mismatch int vs none.
;; WARN: new jak 2 until loop case, check carefully
(defun history-print ((arg0 history-iterator))
(local-vars
@@ -627,7 +627,7 @@
)
;; definition for function history-draw
;; INFO: Return type mismatch int vs none.
;; WARN: Return type mismatch int vs none.
;; ERROR: Expression building failed: In history-draw: Unmatched field: start bit 24, size 40, signed? true, type rgba
(defun history-draw ((arg0 history-iterator))
(local-vars
+3 -7
View File
@@ -298,7 +298,7 @@
(set! (-> perf-stat-array heap-base) (the-as uint 52))
;; definition for method 11 of type perf-stat
;; INFO: Return type mismatch int vs none.
;; WARN: Return type mismatch int vs none.
;; ERROR: Unsupported inline assembly instruction kind - [mtc0 Perf, r0]
;; ERROR: Unsupported inline assembly instruction kind - [sync.l]
;; ERROR: Unsupported inline assembly instruction kind - [sync.p]
@@ -330,7 +330,7 @@
)
;; definition for method 12 of type perf-stat
;; INFO: Return type mismatch int vs none.
;; WARN: Return type mismatch int vs none.
;; ERROR: Unsupported inline assembly instruction kind - [mtc0 Perf, r0]
;; ERROR: Unsupported inline assembly instruction kind - [sync.l]
;; ERROR: Unsupported inline assembly instruction kind - [sync.p]
@@ -352,7 +352,7 @@
)
;; definition for method 13 of type perf-stat
;; INFO: Return type mismatch int vs none.
;; WARN: Return type mismatch int vs none.
(defmethod update-wait-stats perf-stat ((obj perf-stat) (arg0 uint) (arg1 uint) (arg2 uint))
(when (nonzero? (-> obj ctrl))
(+! (-> obj to-vu0-waits) arg0)
@@ -369,7 +369,3 @@
(set! (-> perf-stat method-table 12) nothing)
(set! (-> perf-stat method-table 13) nothing)
)
+2 -6
View File
@@ -2,7 +2,7 @@
(in-package goal)
;; definition for function dma-buffer-add-buckets
;; INFO: Return type mismatch pointer vs (inline-array dma-bucket).
;; WARN: Return type mismatch pointer vs (inline-array dma-bucket).
(defun dma-buffer-add-buckets ((arg0 dma-buffer) (arg1 int))
(let ((v0-0 (-> arg0 base)))
(let ((v1-0 (the-as object v0-0)))
@@ -20,7 +20,7 @@
)
;; definition for function dma-buffer-patch-buckets
;; INFO: Return type mismatch object vs (inline-array dma-bucket).
;; WARN: Return type mismatch object vs (inline-array dma-bucket).
(defun dma-buffer-patch-buckets ((arg0 (inline-array dma-bucket)) (arg1 int))
(when (nonzero? arg0)
(dotimes (v1-1 arg1)
@@ -61,7 +61,3 @@
;; failed to figure out what this is:
0
+1 -4
View File
@@ -449,7 +449,7 @@
)
;; definition for function disasm-dma-tag
;; INFO: Return type mismatch object vs none.
;; WARN: Return type mismatch object vs none.
(defun disasm-dma-tag ((arg0 dma-tag) (arg1 symbol))
(format arg1 "(dma-tag ")
(let ((t9-1 format)
@@ -728,6 +728,3 @@
)
)
+1 -1
View File
@@ -43,7 +43,7 @@
)
;; definition for method 10 of type drawable-tree-actor
;; INFO: Return type mismatch int vs none.
;; WARN: Return type mismatch int vs none.
(defmethod draw drawable-tree-actor ((obj drawable-tree-actor) (arg0 drawable-tree-actor) (arg1 display-frame))
0
(none)
+7 -7
View File
@@ -3,7 +3,7 @@
;; definition for function entity-actor-lookup
;; INFO: Used lq/sq
;; INFO: Return type mismatch entity vs entity-actor.
;; WARN: Return type mismatch entity vs entity-actor.
(defun entity-actor-lookup ((arg0 res-lump) (arg1 symbol) (arg2 int))
(local-vars (sv-16 res-tag))
(set! sv-16 (new 'static 'res-tag))
@@ -116,13 +116,13 @@
)
;; definition for method 14 of type actor-link-info
;; INFO: Return type mismatch basic vs process.
;; WARN: Return type mismatch basic vs process.
(defmethod get-next-process actor-link-info ((obj actor-link-info))
(the-as process (and (-> obj next) (-> obj next extra process)))
)
;; definition for method 15 of type actor-link-info
;; INFO: Return type mismatch basic vs process.
;; WARN: Return type mismatch basic vs process.
(defmethod get-prev-process actor-link-info ((obj actor-link-info))
(the-as process (and (-> obj prev) (-> obj prev extra process)))
)
@@ -233,7 +233,7 @@
)
;; definition for method 23 of type actor-link-info
;; INFO: Return type mismatch symbol vs none.
;; WARN: Return type mismatch symbol vs none.
(defmethod send-to-next actor-link-info ((obj actor-link-info) (arg0 symbol))
(let ((a0-1 (-> obj next)))
(when a0-1
@@ -248,7 +248,7 @@
)
;; definition for method 24 of type actor-link-info
;; INFO: Return type mismatch symbol vs none.
;; WARN: Return type mismatch symbol vs none.
(defmethod send-to-prev actor-link-info ((obj actor-link-info) (arg0 symbol))
(let ((a0-1 (-> obj prev)))
(when a0-1
@@ -263,7 +263,7 @@
)
;; definition for method 22 of type actor-link-info
;; INFO: Return type mismatch symbol vs none.
;; WARN: Return type mismatch symbol vs none.
(defmethod send-to-next-and-prev actor-link-info ((obj actor-link-info) (arg0 symbol))
(send-to-next obj arg0)
(send-to-prev obj arg0)
@@ -271,7 +271,7 @@
)
;; definition for method 19 of type actor-link-info
;; INFO: Return type mismatch symbol vs none.
;; WARN: Return type mismatch symbol vs none.
(defmethod send-to-all actor-link-info ((obj actor-link-info) (arg0 symbol))
(send-to-all-after obj arg0)
(send-to-all-before obj arg0)
+1 -1
View File
@@ -190,7 +190,7 @@
)
;; definition for function entity-info-lookup
;; INFO: Return type mismatch basic vs entity-info.
;; WARN: Return type mismatch basic vs entity-info.
(defun entity-info-lookup ((arg0 type))
"Given a type, return the [[entity-info]] from [[*entity-info*]] whos type
matches the `ptype` field. Set's `method 13` on said type that returns the `length`
+8 -8
View File
@@ -95,7 +95,7 @@
)
;; definition for method 7 of type process-drawable
;; INFO: Return type mismatch process vs process-drawable.
;; WARN: Return type mismatch process vs process-drawable.
(defmethod relocate process-drawable ((obj process-drawable) (arg0 int))
(let ((v1-0 *kernel-context*))
(set! (-> v1-0 relocating-process) obj)
@@ -163,7 +163,7 @@
)
;; definition for method 7 of type collide-shape-moving
;; INFO: Return type mismatch collide-shape vs collide-shape-moving.
;; WARN: Return type mismatch collide-shape vs collide-shape-moving.
(defmethod relocate collide-shape-moving ((obj collide-shape-moving) (arg0 int))
(if (-> obj dynam)
(&+! (-> obj dynam) arg0)
@@ -340,7 +340,7 @@
)
;; definition for method 7 of type camera-master
;; INFO: Return type mismatch process vs camera-master.
;; WARN: Return type mismatch process vs camera-master.
(defmethod relocate camera-master ((obj camera-master) (arg0 int))
(if (nonzero? (-> obj water-drip))
(&+! (-> obj water-drip) arg0)
@@ -349,7 +349,7 @@
)
;; definition for method 7 of type time-of-day-proc
;; INFO: Return type mismatch process vs time-of-day-proc.
;; WARN: Return type mismatch process vs time-of-day-proc.
(defmethod relocate time-of-day-proc ((obj time-of-day-proc) (arg0 int))
(if (nonzero? (-> obj sun))
(&+! (-> obj sun) arg0)
@@ -364,7 +364,7 @@
)
;; definition for method 7 of type part-tracker
;; INFO: Return type mismatch process vs part-tracker.
;; WARN: Return type mismatch process vs part-tracker.
(defmethod relocate part-tracker ((obj part-tracker) (arg0 int))
(if (nonzero? (-> obj root))
(&+! (-> obj root) arg0)
@@ -376,7 +376,7 @@
)
;; definition for method 7 of type part-spawner
;; INFO: Return type mismatch process vs part-spawner.
;; WARN: Return type mismatch process vs part-spawner.
(defmethod relocate part-spawner ((obj part-spawner) (arg0 int))
(if (nonzero? (-> obj root))
(&+! (-> obj root) arg0)
@@ -391,7 +391,7 @@
)
;; definition for method 7 of type lightning-tracker
;; INFO: Return type mismatch process vs lightning-tracker.
;; WARN: Return type mismatch process vs lightning-tracker.
(defmethod relocate lightning-tracker ((obj lightning-tracker) (arg0 int))
(if (nonzero? (-> obj root))
(&+! (-> obj root) arg0)
@@ -403,7 +403,7 @@
)
;; definition for method 7 of type manipy
;; INFO: Return type mismatch process-drawable vs manipy.
;; WARN: Return type mismatch process-drawable vs manipy.
(defmethod relocate manipy ((obj manipy) (arg0 int))
(if (nonzero? (-> obj joint 0))
(&+! (-> obj joint 0) arg0)
+6 -6
View File
@@ -25,7 +25,7 @@
)
;; definition for method 4 of type res-tag
;; INFO: Return type mismatch uint vs int.
;; WARN: Return type mismatch uint vs int.
(defmethod length res-tag ((obj res-tag))
(the-as int (if (zero? (-> obj inlined?))
(* (-> obj elt-count) 4)
@@ -63,7 +63,7 @@
)
;; definition for method 5 of type res-lump
;; INFO: Return type mismatch uint vs int.
;; WARN: Return type mismatch uint vs int.
(defmethod asize-of res-lump ((obj res-lump))
(the-as int (+ (-> obj type psize) (* (-> obj allocated-length) 16) (-> obj data-size)))
)
@@ -112,7 +112,7 @@
;; definition for method 19 of type res-lump
;; INFO: Used lq/sq
;; INFO: Return type mismatch int vs res-tag-pair.
;; WARN: Return type mismatch int vs res-tag-pair.
(defmethod lookup-tag-idx res-lump ((obj res-lump) (arg0 symbol) (arg1 symbol) (arg2 float))
(local-vars (t4-1 int))
(when (or (= arg0 'id)
@@ -421,7 +421,7 @@
;; definition for method 10 of type res-lump
;; INFO: Used lq/sq
;; INFO: Return type mismatch object vs structure.
;; WARN: Return type mismatch object vs structure.
(defmethod get-property-struct res-lump ((obj res-lump)
(arg0 symbol)
(arg1 symbol)
@@ -454,7 +454,7 @@
;; definition for method 11 of type res-lump
;; INFO: Used lq/sq
;; INFO: Return type mismatch int vs uint128.
;; WARN: Return type mismatch int vs uint128.
(defmethod get-property-value res-lump ((obj res-lump)
(arg0 symbol)
(arg1 symbol)
@@ -770,7 +770,7 @@
;; definition for method 8 of type res-lump
;; INFO: Used lq/sq
;; INFO: Return type mismatch int vs res-lump.
;; WARN: Return type mismatch int vs res-lump.
;; WARN: Using new Jak 2 rtype-of
;; WARN: Using new Jak 2 rtype-of
;; WARN: Using new Jak 2 rtype-of
+1 -5
View File
@@ -62,7 +62,7 @@
)
;; definition for method 13 of type effect-control
;; INFO: Return type mismatch int vs none.
;; WARN: Return type mismatch int vs none.
(defmethod set-channel-offset! effect-control ((obj effect-control) (arg0 int))
(set! (-> obj channel-offset) arg0)
0
@@ -71,7 +71,3 @@
;; failed to figure out what this is:
0
+2 -2
View File
@@ -1340,7 +1340,7 @@
;; definition for method 0 of type fact-info
;; INFO: Used lq/sq
;; INFO: Return type mismatch object vs fact-info.
;; WARN: Return type mismatch object vs fact-info.
(defmethod new fact-info ((allocation symbol) (type-to-make type) (arg0 process) (arg1 pickup-type) (arg2 float))
(local-vars (sv-16 fact-info) (sv-20 entity) (sv-24 task-mask))
(set! sv-16 (object-new allocation type-to-make (the-as int (-> type-to-make size))))
@@ -1478,7 +1478,7 @@
)
;; definition for method 12 of type fact-info-enemy
;; INFO: Return type mismatch int vs none.
;; WARN: Return type mismatch int vs none.
(defmethod clear-mask-bits fact-info-enemy ((obj fact-info-enemy) (arg0 int))
(let ((v1-0 (lognot arg0)))
(dotimes (a1-1 (-> obj trig-mask-count))
+1 -5
View File
@@ -43,7 +43,7 @@
)
;; definition for function penetrated-by-all&hit-points->penetrated-by
;; INFO: Return type mismatch uint vs penetrate.
;; WARN: Return type mismatch uint vs penetrate.
(defun penetrated-by-all&hit-points->penetrated-by ((arg0 penetrate) (arg1 int))
(let ((a0-1 arg1))
(the-as penetrate (logior (logclear arg0 (penetrate
@@ -116,7 +116,3 @@
;; failed to figure out what this is:
0
+7 -7
View File
@@ -544,7 +544,7 @@
;; definition for method 10 of type cam-setting-data
;; INFO: Used lq/sq
;; INFO: Return type mismatch cam-setting-data vs none.
;; WARN: Return type mismatch cam-setting-data vs none.
(defmethod cam-setting-data-method-10 cam-setting-data ((obj cam-setting-data) (arg0 object) (arg1 (pointer process)) (arg2 float) (arg3 int))
(case arg0
(('fov)
@@ -804,7 +804,7 @@
)
;; definition for method 9 of type setting-control
;; INFO: Return type mismatch int vs none.
;; WARN: Return type mismatch int vs none.
(defmethod add-setting setting-control ((obj setting-control) (arg0 process) (arg1 symbol) (arg2 object) (arg3 object) (arg4 object))
(add-connection (-> obj engine) arg0 arg1 arg2 arg3 arg4)
0
@@ -812,7 +812,7 @@
)
;; definition for method 11 of type setting-control
;; INFO: Return type mismatch int vs none.
;; WARN: Return type mismatch int vs none.
(defmethod set-setting setting-control ((obj setting-control) (arg0 process) (arg1 symbol) (arg2 object) (arg3 object) (arg4 object))
(remove-setting obj arg0 arg1)
(add-connection (-> obj engine) arg0 arg1 arg2 arg3 arg4)
@@ -821,7 +821,7 @@
)
;; definition for method 10 of type setting-control
;; INFO: Return type mismatch int vs none.
;; WARN: Return type mismatch int vs none.
(defmethod persist-with-delay setting-control ((obj setting-control)
(arg0 process)
(arg1 time-frame)
@@ -843,7 +843,7 @@
)
;; definition for method 12 of type setting-control
;; INFO: Return type mismatch int vs none.
;; WARN: Return type mismatch int vs none.
(defmethod remove-setting setting-control ((obj setting-control) (arg0 process) (arg1 symbol))
(when arg0
(let ((s5-0 (-> obj engine))
@@ -864,7 +864,7 @@
)
;; definition for method 13 of type setting-control
;; INFO: Return type mismatch int vs none.
;; WARN: Return type mismatch int vs none.
(defmethod kill-persister setting-control ((obj setting-control) (arg0 engine-pers) (arg1 object))
"Calls [[engine-pers::kill-matching]]"
(kill-matching
@@ -898,7 +898,7 @@
)
;; definition for method 15 of type setting-control
;; INFO: Return type mismatch int vs none.
;; WARN: Return type mismatch int vs none.
(defmethod remove-setting-by-arg0 setting-control ((obj setting-control) (arg0 object))
"Calls [[engine::remove-by-param0]] on `engine-hi`"
(remove-by-param0 (-> obj engine-hi) arg0)
+4 -8
View File
@@ -44,7 +44,7 @@
)
;; definition for method 13 of type bounding-box
;; INFO: Return type mismatch int vs none.
;; WARN: Return type mismatch int vs none.
(defmethod set-from-point-offset! bounding-box ((obj bounding-box) (arg0 vector) (arg1 vector))
(rlet ((vf0 :class vf)
(vf1 :class vf)
@@ -69,7 +69,7 @@
)
;; definition for method 11 of type bounding-box
;; INFO: Return type mismatch int vs none.
;; WARN: Return type mismatch int vs none.
(defmethod add-point! bounding-box ((obj bounding-box) (arg0 vector))
(rlet ((vf1 :class vf)
(vf2 :class vf)
@@ -108,7 +108,7 @@
;; definition for method 15 of type bounding-box
;; INFO: Used lq/sq
;; INFO: Return type mismatch int vs none.
;; WARN: Return type mismatch int vs none.
(defmethod set-to-point! bounding-box ((obj bounding-box) (arg0 vector))
(set! (-> obj min quad) (-> arg0 quad))
(set! (-> obj max quad) (-> arg0 quad))
@@ -144,7 +144,7 @@
)
;; definition for method 16 of type bounding-box
;; INFO: Return type mismatch int vs none.
;; WARN: Return type mismatch int vs none.
(defmethod set-from-sphere! bounding-box ((obj bounding-box) (arg0 sphere))
(rlet ((vf0 :class vf)
(vf1 :class vf)
@@ -264,7 +264,3 @@
)
)
)
+2 -2
View File
@@ -73,7 +73,7 @@
;; definition for method 9 of type cylinder
;; INFO: Used lq/sq
;; INFO: Return type mismatch int vs none.
;; WARN: Return type mismatch int vs none.
(defmethod debug-draw cylinder ((obj cylinder) (arg0 vector4w))
(local-vars
(sv-896 matrix)
@@ -318,7 +318,7 @@
;; definition for method 9 of type cylinder-flat
;; INFO: Used lq/sq
;; INFO: Return type mismatch int vs none.
;; WARN: Return type mismatch int vs none.
(defmethod debug-draw cylinder-flat ((obj cylinder-flat) (arg0 vector4w))
(local-vars (sv-448 vector))
(rlet ((acc :class vf)
+5 -5
View File
@@ -816,7 +816,7 @@
;; definition for function closest-pt-in-triangle
;; INFO: Used lq/sq
;; INFO: Return type mismatch int vs none.
;; WARN: Return type mismatch int vs none.
(defun closest-pt-in-triangle ((arg0 vector) (arg1 vector) (arg2 matrix) (arg3 vector))
(local-vars
(v1-0 float)
@@ -1031,7 +1031,7 @@
)
;; definition for function circle-circle-xz-intersect
;; INFO: Return type mismatch uint vs int.
;; WARN: Return type mismatch uint vs int.
;; ERROR: Unsupported inline assembly instruction kind - [mula.s f5, f5]
;; ERROR: Unsupported inline assembly instruction kind - [madda.s f1, f1]
;; ERROR: Unsupported inline assembly instruction kind - [madda.s f0, f0]
@@ -1241,7 +1241,7 @@
;; definition for function circle-test
;; INFO: Used lq/sq
;; INFO: Return type mismatch object vs none.
;; WARN: Return type mismatch object vs none.
(defun circle-test ()
(let ((s4-0 (new 'stack 'sphere))
(a1-2 (new 'stack 'sphere))
@@ -1261,7 +1261,7 @@
;; definition for function vector-circle-tangent-new
;; INFO: Used lq/sq
;; INFO: Return type mismatch int vs none.
;; WARN: Return type mismatch int vs none.
(defun vector-circle-tangent-new ((arg0 vector) (arg1 vector) (arg2 vector) (arg3 vector))
(rlet ((Q :class vf)
(vf0 :class vf)
@@ -1300,7 +1300,7 @@
)
;; definition for function vector-circle-tangent
;; INFO: Return type mismatch int vs none.
;; WARN: Return type mismatch int vs none.
(defun vector-circle-tangent ((arg0 vector) (arg1 vector) (arg2 vector) (arg3 vector))
(let* ((s3-1 (vector-! (the-as vector (new 'stack-no-clear 'sphere)) arg1 arg0))
(f0-0 (vector-xz-length s3-1))
+2 -6
View File
@@ -88,7 +88,7 @@
;; INFO: Used lq/sq
;; ERROR: Stack slot load at 32 mismatch: defined as size 4, got size 16
;; ERROR: Stack slot load at 32 mismatch: defined as size 4, got size 16
;; INFO: Return type mismatch object vs path-control.
;; WARN: Return type mismatch object vs path-control.
(defmethod new path-control ((allocation symbol)
(type-to-make type)
(arg0 process)
@@ -176,7 +176,7 @@
)
;; definition for method 19 of type path-control
;; INFO: Return type mismatch int32 vs int.
;; WARN: Return type mismatch int32 vs int.
(defmethod get-num-verts path-control ((obj path-control))
(the-as int (-> obj curve num-cverts))
)
@@ -236,7 +236,3 @@
;; failed to figure out what this is:
0
+1 -5
View File
@@ -83,7 +83,7 @@
;; definition for method 0 of type vol-control
;; INFO: Used lq/sq
;; INFO: Return type mismatch object vs vol-control.
;; WARN: Return type mismatch object vs vol-control.
(defmethod new vol-control ((allocation symbol) (type-to-make type) (arg0 process-drawable))
(let ((gp-0 (the-as object (object-new allocation type-to-make (the-as int (-> type-to-make size))))))
(when (zero? (the-as vol-control gp-0))
@@ -146,7 +146,3 @@
"Returns true/false if the volume's marks should be displayed"
(and *display-vol-marks* (logtest? (-> obj flags) (vol-flags display?)))
)
+3 -3
View File
@@ -74,7 +74,7 @@
)
;; definition for function draw-sprite2d-xy
;; INFO: Return type mismatch pointer vs none.
;; WARN: Return type mismatch pointer vs none.
(defun draw-sprite2d-xy ((arg0 dma-buffer) (arg1 int) (arg2 int) (arg3 int) (arg4 int) (arg5 rgba))
(let* ((t2-1 (new 'stack 'draw-context arg1 arg2 arg3 arg4 arg5))
(a1-3 (max 1792 (min 2304 (+ (-> t2-1 orgx) 1792))))
@@ -132,7 +132,7 @@
)
;; definition for function draw-sprite2d-xy-absolute
;; INFO: Return type mismatch pointer vs none.
;; WARN: Return type mismatch pointer vs none.
(defun draw-sprite2d-xy-absolute ((arg0 dma-buffer) (arg1 int) (arg2 int) (arg3 int) (arg4 int) (arg5 rgba))
(let ((t2-0 (+ arg1 1792))
(a1-1 (+ arg2 1840))
@@ -186,7 +186,7 @@
)
;; definition for function draw-quad2d
;; INFO: Return type mismatch pointer vs none.
;; WARN: Return type mismatch pointer vs none.
(defun draw-quad2d ((arg0 dma-buffer) (arg1 draw-context))
(let ((a3-1 (max 1792 (min 2304 (+ (-> arg1 orgx) 1792))))
(a2-3 (max 1840 (min 2256 (+ (-> arg1 orgy) 1840))))
+3 -3
View File
@@ -820,7 +820,7 @@
)
;; definition for method 3 of type gif-tag
;; INFO: Return type mismatch object vs gif-tag.
;; WARN: Return type mismatch object vs gif-tag.
(defmethod inspect gif-tag ((obj gif-tag))
(format #t "[~8x] gif-tag~%" obj)
(format #t "~Tnloop: ~4d~%" (-> obj nloop))
@@ -894,7 +894,7 @@
)
;; definition for function add-reg-gif-packet
;; INFO: Return type mismatch gif-packet vs none.
;; WARN: Return type mismatch gif-packet vs none.
(defun add-reg-gif-packet ((arg0 gif-packet) (arg1 int) (arg2 int))
(let ((v1-0 (-> arg0 gif-tag)))
(logior! (-> v1-0 regs) (ash arg1 (* (-> arg0 reg-count) 4)))
@@ -960,7 +960,7 @@
)
;; definition for function draw-context-set-xy
;; INFO: Return type mismatch int vs none.
;; WARN: Return type mismatch int vs none.
(defun draw-context-set-xy ((arg0 draw-context) (arg1 int) (arg2 int))
(set! (-> arg0 orgx) arg1)
(set! (-> arg0 orgy) arg2)
+4 -8
View File
@@ -176,7 +176,7 @@
;; definition for method 11 of type lightning-control
;; INFO: Used lq/sq
;; INFO: Return type mismatch int vs none.
;; WARN: Return type mismatch int vs none.
(defmethod set-point lightning-control ((obj lightning-control) (arg0 int) (arg1 vector))
(let ((v1-0 (-> obj state)))
(when (and (-> v1-0 path) (>= arg0 0) (< arg0 (-> v1-0 path length)))
@@ -201,7 +201,7 @@
;; definition for method 12 of type lightning-control
;; INFO: Used lq/sq
;; INFO: Return type mismatch (inline-array vector) vs none.
;; WARN: Return type mismatch (inline-array vector) vs none.
(defmethod set-first-meet-point lightning-control ((obj lightning-control) (arg0 vector))
(set! (-> obj state meet data 0 quad) (-> arg0 quad))
(none)
@@ -209,7 +209,7 @@
;; definition for method 13 of type lightning-control
;; INFO: Used lq/sq
;; INFO: Return type mismatch vector vs none.
;; WARN: Return type mismatch vector vs none.
(defmethod set-last-meet-point lightning-control ((obj lightning-control) (arg0 vector))
(set! (-> obj state meet data (+ (-> obj state points-to-draw) -1) quad) (-> arg0 quad))
(none)
@@ -233,7 +233,7 @@
)
;; definition for method 0 of type lightning-control
;; INFO: Return type mismatch object vs lightning-control.
;; WARN: Return type mismatch object vs lightning-control.
(defmethod new lightning-control ((allocation symbol) (type-to-make type) (arg0 lightning-spec) (arg1 process) (arg2 float))
(with-pp
(let ((obj (object-new allocation type-to-make (the-as int (-> type-to-make size)))))
@@ -321,7 +321,3 @@
)
)
)
+3 -3
View File
@@ -25,7 +25,7 @@
)
;; definition for function fog-corrector-setup
;; INFO: Return type mismatch float vs none.
;; WARN: Return type mismatch float vs none.
(defun fog-corrector-setup ((arg0 fog-corrector) (arg1 math-camera))
(set! (-> arg0 fog-end) (* (-> arg1 fog-end) (-> arg1 fov-correction-factor)))
(set! (-> arg0 fog-start) (* (-> arg1 fog-start) (-> arg1 fov-correction-factor)))
@@ -477,7 +477,7 @@
)
;; definition for function reverse-transform-point!
;; INFO: Return type mismatch vector vs none.
;; WARN: Return type mismatch vector vs none.
(defun reverse-transform-point! ((arg0 vector) (arg1 vector) (arg2 vector) (arg3 vector))
(let* ((v1-1 (-> *math-camera* perspective))
(s2-0 (-> *math-camera* camera-rot))
@@ -506,7 +506,7 @@
;; definition for function init-for-transform
;; INFO: Used lq/sq
;; INFO: Return type mismatch symbol vs none.
;; WARN: Return type mismatch symbol vs none.
(defun init-for-transform ((arg0 matrix))
(local-vars (v1-14 float))
(rlet ((vf1 :class vf)
+2 -6
View File
@@ -47,7 +47,7 @@
)
;; definition for function emerc-vu1-init-buffer
;; INFO: Return type mismatch int vs none.
;; WARN: Return type mismatch int vs none.
(defun emerc-vu1-init-buffer ((dma-bucket bucket-id) (test gs-test) (arg2 int))
(let ((bucket (-> *display* frames (-> *display* on-screen) bucket-group dma-bucket)))
(when (!= bucket (-> bucket last))
@@ -113,7 +113,7 @@
)
;; definition for function emerc-vu1-init-buffers
;; INFO: Return type mismatch int vs none.
;; WARN: Return type mismatch int vs none.
(defun emerc-vu1-init-buffers ()
(when (logtest? (-> *display* vu1-enable-user) (vu1-renderer-mask rn14))
(emerc-vu1-init-buffer (bucket-id bucket-15) (new 'static 'gs-test :zte #x1 :ztst (gs-ztest greater-equal)) 0)
@@ -254,7 +254,3 @@
0
(none)
)
+1 -1
View File
@@ -185,7 +185,7 @@
)
;; definition for function merc-fragment-fp-data
;; INFO: Return type mismatch int vs merc-fp-header.
;; WARN: Return type mismatch int vs merc-fp-header.
(defun merc-fragment-fp-data ((arg0 merc-fragment))
(the-as merc-fp-header (+ (the-as uint arg0) (* (-> arg0 header mm-quadword-fp-off) 16)))
)
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
+8 -4
View File
@@ -80,7 +80,8 @@
;; definition of type mood-fog-table
(deftype mood-fog-table (structure)
((data mood-fog 8 :inline :offset-assert 0)
((data mood-fog 8 :inline :offset-assert 0)
(data-raw uint128 24 :offset 0)
)
:method-count-assert 9
:size-assert #x180
@@ -145,7 +146,8 @@
;; definition of type mood-color-table
(deftype mood-color-table (structure)
((data mood-color 8 :inline :offset-assert 0)
((data mood-color 8 :inline :offset-assert 0)
(data-raw uint128 16 :offset 0)
)
:method-count-assert 9
:size-assert #x100
@@ -321,7 +323,7 @@
(mood-channel-group mood-channel-group :offset-assert 12)
(mood-direction-table mood-direction-table :offset-assert 16)
(mood-sky-table mood-sky-table :offset-assert 20)
(mood-interp-table basic :offset-assert 24)
(mood-interp-table sky-color-day :offset-assert 24)
)
:method-count-assert 9
:size-assert #x1c
@@ -429,9 +431,11 @@
;; definition of type mood-context
(deftype mood-context (mood-context-core3)
"`state` holds an arbitrary state structure, ie `[[sewer-states]]` and is used
when updating the mood. This means that an individual state structure must be less than 128 bytes"
((itimes vector4w 4 :inline :offset-assert 1776)
(state uint32 32 :offset-assert 1840)
(clear uint128 123 :offset 0)
(data uint128 123 :offset 0)
)
:method-count-assert 9
:size-assert #x7b0
+5 -5
View File
@@ -91,14 +91,14 @@
)
;; definition for function init-overide-table
;; INFO: Return type mismatch pointer vs none.
;; WARN: Return type mismatch pointer vs none.
(defun init-overide-table ((arg0 mood-table))
(set! (-> arg0 mood-fog-table) (new 'debug 'mood-fog-table))
(set! (-> arg0 mood-color-table) (new 'debug 'mood-color-table))
(set! (-> arg0 mood-channel-group) *no-cloud-mood-channel-group*)
(set! (-> arg0 mood-direction-table) *mood-direction-table*)
(set! (-> arg0 mood-sky-table) *mood-sky-table*)
(set! (-> arg0 mood-interp-table) (the-as basic *mood-interp-table*))
(set! (-> arg0 mood-interp-table) *mood-interp-table*)
(mem-copy! (the-as pointer (-> arg0 mood-fog-table)) (the-as pointer *no-cloud-clear-mood-fog-table*) 384)
(mem-copy! (the-as pointer (-> arg0 mood-color-table)) (the-as pointer *no-cloud-mood-color-table*) 256)
(none)
@@ -111,7 +111,7 @@
(init-overide-table *overide-table*)
;; definition for function print-mood-tables
;; INFO: Return type mismatch object vs none.
;; WARN: Return type mismatch object vs none.
(defun print-mood-tables ()
"Print out the contents of the [[*overide-table*]]"
(mem-copy! (the-as pointer (-> *overide-table* mood-fog-table)) (the-as pointer *overide-mood-fog-table*) 384)
@@ -254,7 +254,7 @@
)
;; definition for function desaturate-mood-colors
;; INFO: Return type mismatch object vs none.
;; WARN: Return type mismatch object vs none.
(defun desaturate-mood-colors ((arg0 float) (arg1 float) (arg2 float))
"Unused - Generate GOAL code for a new [[*overide-mood-color-table*]] definition that desaturates the color
Apply said overrides to the [[*overide-table*]]"
@@ -352,7 +352,7 @@
)
;; definition for function desaturate-mood-fog
;; INFO: Return type mismatch object vs none.
;; WARN: Return type mismatch object vs none.
(defun desaturate-mood-fog ((arg0 (pointer mood-fog-table)) (arg1 float) (arg2 float))
"Unused - Generate GOAL code for a new [[*overide-mood-fog-table*]] definition that desaturates the fog color
Apply said overrides to the [[*overide-table*]]"
+2 -2
View File
@@ -824,7 +824,7 @@
)
;; definition for function init-mood-control
;; INFO: Return type mismatch symbol vs none.
;; WARN: Return type mismatch symbol vs none.
(defun init-mood-control ((arg0 mood-control))
(set! (-> arg0 mood-fog-table) (new 'global 'mood-fog-table))
(set! (-> arg0 mood-color-table) (new 'global 'mood-color-table))
@@ -832,7 +832,7 @@
(set! (-> arg0 mood-clouds) (new 'global 'mood-clouds))
(set! (-> arg0 mood-direction-table) *mood-direction-table*)
(set! (-> arg0 mood-sky-table) *mood-sky-table*)
(set! (-> arg0 mood-interp-table) (the-as basic *mood-interp-table*))
(set! (-> arg0 mood-interp-table) *mood-interp-table*)
(mem-copy! (the-as pointer (-> arg0 mood-fog-table)) (the-as pointer *no-cloud-clear-mood-fog-table*) 384)
(mem-copy! (the-as pointer (-> arg0 mood-color-table)) (the-as pointer *no-cloud-mood-color-table*) 256)
(mem-copy! (the-as pointer (-> arg0 mood-channel-group)) (the-as pointer *no-cloud-mood-channel-group*) 384)
File diff suppressed because it is too large Load Diff
+1 -5
View File
@@ -251,7 +251,7 @@
;; definition for function shrubbery-login-post-texture
;; INFO: Used lq/sq
;; INFO: Return type mismatch symbol vs none.
;; WARN: Return type mismatch symbol vs none.
(defun shrubbery-login-post-texture ((arg0 shrubbery))
(let* ((v1-1 (-> arg0 header data 0))
(a1-1 (the-as object (+ (the-as uint (-> arg0 header)) (* (+ (-> arg0 header data 1) 1) 16))))
@@ -503,7 +503,3 @@
;; failed to figure out what this is:
0

Some files were not shown because too many files have changed in this diff Show More