mirror of
https://github.com/open-goal/jak-project
synced 2026-08-12 20:03:14 -04:00
d/jak2: largely finish nav-enemy, blocked by goalc
This commit is contained in:
+2
-2
@@ -79,7 +79,7 @@
|
||||
"--game",
|
||||
"jak2",
|
||||
"--file",
|
||||
"progress"
|
||||
"nav-enemy"
|
||||
]
|
||||
},
|
||||
{
|
||||
@@ -233,7 +233,7 @@
|
||||
"project" : "CMakeLists.txt",
|
||||
"projectTarget" : "type_searcher.exe (bin\\type_searcher.exe)",
|
||||
"name" : "Tools - Type Searcher",
|
||||
"args" : ["--game", "jak2", "--output-path", "./search-results.json", "--size", "544"]
|
||||
"args" : ["--game", "jak2", "--output-path", "./search-results.json", "--fields", "[{\\\"type\\\":\\\"int16\\\",\\\"offset\\\":2},{\\\"type\\\":\\\"int16\\\",\\\"offset\\\":4}]"]
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
+4
-3
@@ -106,6 +106,7 @@ tasks:
|
||||
- python ./scripts/tasks/extract-zip.py --file "{{.FILE}}" --out ./savestate_out/
|
||||
- '{{.MEMDUMP_BIN_RELEASE_DIR}}/memory_dump_tool ./savestate_out/eeMemory.bin --output-path ./ --game {{.GAME}} > ee-analysis.log'
|
||||
watch-pcsx2:
|
||||
# python -m pip install -U "watchdog[watchmedo]"
|
||||
cmds:
|
||||
- watchmedo shell-command --drop --patterns="*.p2s" --recursive --command='task analyze-ee-memory FILE="${watch_src_path}"' "{{.SAVESTATE_DIR}}"
|
||||
vars:
|
||||
@@ -120,21 +121,21 @@ tasks:
|
||||
- '{{.OFFLINETEST_BIN_RELEASE_DIR}}/offline-test --iso_data_path "./iso_data/{{.GAME}}" --game {{.GAME}}'
|
||||
offline-tests-fast:
|
||||
cmds:
|
||||
- '{{.OFFLINETEST_BIN_RELEASE_DIR}}/offline-test --iso_data_path "./iso_data/{{.GAME}}" --game {{.GAME}} --num_threads 32'
|
||||
- '{{.OFFLINETEST_BIN_RELEASE_DIR}}/offline-test --iso_data_path "./iso_data/{{.GAME}}" --game {{.GAME}} --num_threads 32 --dump_current_output --fail-on-cmp'
|
||||
offline-test-file:
|
||||
cmds:
|
||||
- '{{.OFFLINETEST_BIN_RELEASE_DIR}}/offline-test --iso_data_path "./iso_data/{{.GAME}}" --game {{.GAME}} --file {{.FILE}}'
|
||||
update-ref-tests:
|
||||
cmds:
|
||||
- cmd: python ./scripts/tasks/default-file-or-folder.py --path failures
|
||||
- task: offline-tests-fast
|
||||
- cmd: '{{.OFFLINETEST_BIN_RELEASE_DIR}}/offline-test --iso_data_path "./iso_data/{{.GAME}}" --game {{.GAME}} --num_threads 32 --dump_current_output --fail-on-cmp'
|
||||
ignore_error: true
|
||||
- python ./scripts/update_decomp_reference.py ./failures ./test/decompiler/reference/ --game {{.GAME}}
|
||||
- task: offline-tests-fast
|
||||
update-ref-file:
|
||||
cmds:
|
||||
- cmd: python ./scripts/tasks/default-file-or-folder.py --path failures
|
||||
- cmd: '{{.OFFLINETEST_BIN_RELEASE_DIR}}/offline-test --iso_data_path "./iso_data/{{.GAME}}" --file {{.FILE}} --game {{.GAME}} --dump_current_output'
|
||||
- cmd: '{{.OFFLINETEST_BIN_RELEASE_DIR}}/offline-test --iso_data_path "./iso_data/{{.GAME}}" --file {{.FILE}} --game {{.GAME}} --dump_current_output --fail-on-cmp'
|
||||
ignore_error: true
|
||||
- python ./scripts/update_decomp_reference.py ./failures ./test/decompiler/reference/ --game {{.GAME}}
|
||||
- task: offline-test-file
|
||||
|
||||
@@ -15953,15 +15953,15 @@
|
||||
(deftype move-above-ground-params (structure)
|
||||
((gnd-collide-with collide-spec :offset-assert 0)
|
||||
(popup float :offset-assert 4)
|
||||
(dont-move-if-overlaps? basic :offset-assert 8)
|
||||
(hover-if-no-ground? basic :offset-assert 12)
|
||||
(dont-move-if-overlaps? symbol :offset-assert 8)
|
||||
(hover-if-no-ground? symbol :offset-assert 12)
|
||||
(overlaps-params overlaps-others-params :inline :offset-assert 16)
|
||||
(new-pos vector :inline :offset-assert 48)
|
||||
(old-gspot-pos vector :inline :offset-assert 64)
|
||||
(old-gspot-normal vector :inline :offset-assert 80)
|
||||
(pat pat-surface :offset-assert 96) ;; was u32
|
||||
(on-ground? basic :offset-assert 100)
|
||||
(do-move? basic :offset-assert 104)
|
||||
(on-ground? symbol :offset-assert 100)
|
||||
(do-move? symbol :offset-assert 104)
|
||||
)
|
||||
:method-count-assert 9
|
||||
:size-assert #x6c
|
||||
@@ -16221,43 +16221,44 @@
|
||||
(declare-type collide-query structure)
|
||||
(declare-type control-info basic)
|
||||
(deftype collide-shape-moving (collide-shape)
|
||||
((rider-time time-frame :offset-assert 200)
|
||||
(rider-last-move vector :inline)
|
||||
(trans-old vector :inline)
|
||||
(poly-pat pat-surface :offset 272)
|
||||
(cur-pat pat-surface)
|
||||
(ground-pat pat-surface)
|
||||
(status cshape-moving-flags)
|
||||
(old-status cshape-moving-flags)
|
||||
(prev-status cshape-moving-flags :offset-assert 304)
|
||||
(reaction-flag cshape-reaction-flags)
|
||||
(reaction (function control-info collide-query vector vector cshape-moving-flags)) ;; function types...
|
||||
(no-reaction function)
|
||||
(local-normal vector :inline)
|
||||
(surface-normal vector :inline)
|
||||
(poly-normal vector :inline)
|
||||
(ground-poly-normal vector :inline)
|
||||
(gspot-pos vector :inline)
|
||||
(gspot-normal vector :inline)
|
||||
(grount-touch-point vector :inline)
|
||||
(ground-impact-vel meters)
|
||||
(surface-angle float)
|
||||
(poly-angle float)
|
||||
(touch-angle float)
|
||||
(coverage float)
|
||||
(dynam dynamics)
|
||||
(surf surface)
|
||||
((rider-time time-frame :offset-assert 200)
|
||||
(rider-last-move vector :inline :offset-assert 208)
|
||||
(trans-old vector :inline :offset-assert 224)
|
||||
(csm-unk-vec-981i2u312 vector :inline :offset 240)
|
||||
(csm-unk-vec-klj1n23 vector :inline :offset 256)
|
||||
(poly-pat pat-surface :offset 272)
|
||||
(cur-pat pat-surface :offset-assert 276)
|
||||
(ground-pat pat-surface :offset-assert 280)
|
||||
(status cshape-moving-flags :offset-assert 288)
|
||||
(old-status cshape-moving-flags :offset-assert 296)
|
||||
(prev-status cshape-moving-flags :offset-assert 304)
|
||||
(reaction-flag cshape-reaction-flags :offset-assert 312)
|
||||
(reaction (function control-info collide-query vector vector cshape-moving-flags) :offset-assert 316)
|
||||
(no-reaction function :offset-assert 320)
|
||||
(local-normal vector :inline :offset-assert 336)
|
||||
(surface-normal vector :inline :offset-assert 352)
|
||||
(poly-normal vector :inline :offset-assert 368)
|
||||
(ground-poly-normal vector :inline :offset-assert 384)
|
||||
(gspot-pos vector :inline :offset-assert 400)
|
||||
(gspot-normal vector :inline :offset-assert 416)
|
||||
(grount-touch-point vector :inline :offset-assert 432)
|
||||
(ground-impact-vel meters :offset-assert 448)
|
||||
(surface-angle float :offset-assert 452)
|
||||
(poly-angle float :offset-assert 456)
|
||||
(touch-angle float :offset-assert 460)
|
||||
(coverage float :offset-assert 464)
|
||||
(dynam dynamics :offset-assert 468)
|
||||
(surf surface :offset-assert 472)
|
||||
)
|
||||
:method-count-assert 68
|
||||
:size-assert #x1dc
|
||||
:flag-assert #x44000001dc
|
||||
;; Failed to read fields.
|
||||
(:methods
|
||||
(new (symbol type process-drawable collide-list-enum) _type_ 0)
|
||||
(collide-shape-moving-method-55 (_type_ collide-query collide-spec float float float) symbol 55)
|
||||
(collide-shape-moving-method-56 (_type_ pat-surface) none 56) ;; (set-and-handle-pat! (_type_ pat-surface) none 56)
|
||||
(collide-shape-moving-method-57 () none 57) ;; (integrate-no-collide! (_type_ vector) none 57)
|
||||
(collide-shape-moving-method-58 () none 58) ;; (dummy-58 (_type_ vector) symbol 58)
|
||||
(collide-shape-moving-method-58 (_type_ vector overlaps-others-params) symbol 58) ;; (dummy-58 (_type_ vector) symbol 58)
|
||||
(collide-shape-moving-method-59 () none 59) ;; (integrate-for-enemy-with-move-to-ground! (_type_ vector collide-kind float symbol symbol symbol) none 59)
|
||||
(collide-shape-moving-method-60 () none 60) ;; (move-to-ground (_type_ float float symbol collide-kind) symbol 60)
|
||||
(collide-shape-moving-method-61 () none 61) ;; (move-to-ground-point! (_type_ vector vector vector) none 61)
|
||||
@@ -21851,7 +21852,7 @@
|
||||
(src-switch-poly-id uint8 :offset-assert 9)
|
||||
(dest-link-poly-id uint8 :offset-assert 10)
|
||||
(dest-switch-poly-id uint8 :offset-assert 11)
|
||||
(dest-mesh basic :offset-assert 12)
|
||||
(dest-mesh nav-mesh :offset-assert 12)
|
||||
)
|
||||
:method-count-assert 9
|
||||
:size-assert #x10
|
||||
@@ -22023,7 +22024,7 @@
|
||||
(nav-mesh-method-28 (_type_ object) none 28) ;; (find-poly (_type_ vector meters (pointer nav-control-flags)) nav-poly 28)
|
||||
(nav-mesh-method-29 (_type_ process-drawable symbol) nav-control 29) ;; (is-in-mesh? (_type_ vector float meters) symbol 29)
|
||||
(nav-mesh-method-30 (_type_ process-drawable) none 30)
|
||||
(change-to (_type_ process-drawable int) none 31)
|
||||
(change-to (_type_ process-drawable) none 31)
|
||||
(nav-mesh-method-32 "arg1 is a [[nav-mesh-link]] `id`" (_type_ uint32) none 32)
|
||||
(nav-mesh-method-33 "arg1 is a [[nav-mesh-link]] `id`" (_type_ uint32) symbol 33)
|
||||
(nav-mesh-method-34 (_type_ object vector float) none 34)
|
||||
@@ -22092,7 +22093,7 @@
|
||||
|
||||
(deftype nav-callback-info (structure)
|
||||
((callback-count int32 :offset-assert 0)
|
||||
(callback-array function 10 :offset-assert 4)
|
||||
(callback-array (function object nav-control none) 10 :offset-assert 4)
|
||||
)
|
||||
:method-count-assert 9
|
||||
:size-assert #x2c
|
||||
@@ -32189,7 +32190,7 @@
|
||||
(incoming enemy-attack-info :inline :offset-assert 416)
|
||||
(actor-group actor-group :offset-assert 480)
|
||||
(actor-group-count int32 :offset-assert 484)
|
||||
(neck basic :offset-assert 488)
|
||||
(neck joint-mod :offset-assert 488)
|
||||
(on-notice symbol :offset-assert 492)
|
||||
(on-active symbol :offset-assert 496)
|
||||
(on-hostile symbol :offset-assert 500)
|
||||
@@ -32233,13 +32234,13 @@
|
||||
(enemy-method-54 (_type_) enemy-flag 54)
|
||||
(enemy-method-55 (_type_) none 55)
|
||||
(enemy-method-56 (_type_ object enemy-attack-info) none 56)
|
||||
(enemy-method-57 (_type_) none 57)
|
||||
(enemy-method-57 (_type_ process-focusable enemy-attack-info) none 57)
|
||||
(enemy-method-58 (_type_) symbol 58)
|
||||
(enemy-method-59 (_type_) penetrate 59)
|
||||
(coin-flip?
|
||||
"@returns The result of a 50/50 RNG roll"
|
||||
(_type_) symbol 60)
|
||||
(enemy-method-61 (_type_ int) none 61)
|
||||
(enemy-method-61 (_type_ int) int :behavior enemy 61)
|
||||
(enemy-method-62 (_type_) none 62)
|
||||
(enemy-method-63 (_type_ process-focusable symbol) none 63)
|
||||
(enemy-method-64 (_type_) none 64)
|
||||
@@ -32279,7 +32280,7 @@
|
||||
(enemy-method-95 (_type_ vector float) symbol 95)
|
||||
(enemy-method-96 (_type_ float symbol) symbol 96)
|
||||
(enemy-method-97 (_type_) none 97)
|
||||
(enemy-method-98 (_type_) symbol 98)
|
||||
(enemy-method-98 (_type_ process-focusable vector) symbol 98)
|
||||
(enemy-method-99 (_type_) symbol 99)
|
||||
(enemy-method-100 (_type_) symbol 100)
|
||||
(enemy-method-101 (_type_) none 101)
|
||||
@@ -32325,9 +32326,9 @@
|
||||
(enemy-method-123 "TODO" (_type_ float) symbol 123)
|
||||
(enemy-method-124 "TODO" (_type_) collide-spec 124)
|
||||
(enemy-method-125 (_type_) none 125)
|
||||
(enemy-method-126 (_type_ collide-query vector collide-spec float float float) none 126)
|
||||
(enemy-method-126 (_type_ collide-query vector collide-spec float float float) symbol 126)
|
||||
(enemy-method-127 (_type_) none 127)
|
||||
(enemy-method-128 (_type_ vector) none 128)
|
||||
(enemy-method-128 (_type_ vector move-above-ground-params) none 128)
|
||||
(enemy-method-129 (_type_) none 129)
|
||||
(enemy-method-130 (_type_) none 130)
|
||||
(enemy-method-131 (_type_) none 131)
|
||||
@@ -32403,6 +32404,7 @@
|
||||
:size-assert #x25c
|
||||
:flag-assert #xb201e0025c
|
||||
(:methods
|
||||
(enemy-method-113 (_type_ nav-enemy-info) none :replace 113)
|
||||
(taunt () _type_ :state 137)
|
||||
(pacing () _type_ :state 138)
|
||||
(circling () _type_ :state 139)
|
||||
@@ -32423,10 +32425,10 @@
|
||||
(nav-enemy-method-154 (_type_ nav-control) none 154)
|
||||
(nav-enemy-method-155 (_type_) none 155)
|
||||
(nav-enemy-method-156 (_type_) none 156)
|
||||
(nav-enemy-method-157 () none 157)
|
||||
(nav-enemy-method-158 () none 158)
|
||||
(nav-enemy-method-159 () none 159)
|
||||
(nav-enemy-method-160 () none 160)
|
||||
(nav-enemy-method-157 (_type_ vector) nav-poly 157)
|
||||
(nav-enemy-method-158 (_type_ vector) object 158)
|
||||
(nav-enemy-method-159 (_type_ vector) symbol 159)
|
||||
(nav-enemy-method-160 (_type_) none 160)
|
||||
(nav-enemy-method-161 (_type_) none 161)
|
||||
(nav-enemy-method-162 (_type_) none 162)
|
||||
(nav-enemy-method-163 (_type_) none 163)
|
||||
@@ -32440,8 +32442,8 @@
|
||||
(nav-enemy-method-171 (_type_) none 171)
|
||||
(nav-enemy-method-172 (_type_) none 172)
|
||||
(nav-enemy-method-173 (_type_) none 173)
|
||||
(nav-enemy-method-174 (_type_) none 174)
|
||||
(nav-enemy-method-175 (_type_) none 175)
|
||||
(nav-enemy-method-174 (_type_) symbol 174)
|
||||
(nav-enemy-method-175 (_type_) symbol 175)
|
||||
(nav-enemy-method-176 (_type_) none :behavior nav-enemy 176)
|
||||
(nav-enemy-method-177 (_type_) none 177)
|
||||
)
|
||||
@@ -36383,21 +36385,20 @@
|
||||
)
|
||||
|#
|
||||
|
||||
#|
|
||||
(deftype predator (nav-enemy)
|
||||
((los los-control :inline :offset-assert 604)
|
||||
(want-stop basic :offset-assert 752)
|
||||
(target-pos vector :inline :offset-assert 764)
|
||||
(curr-node int32 :offset-assert 780)
|
||||
(hide-pos vector :inline :offset-assert 796)
|
||||
(next-change uint64 :offset-assert 812)
|
||||
(shoot-angle float :offset-assert 820)
|
||||
(miss-amount float :offset-assert 824)
|
||||
(ambient-sound-id uint32 :offset-assert 828)
|
||||
(shock-effect-time time-frame :offset-assert 836)
|
||||
(shock-effect-end uint64 :offset-assert 844)
|
||||
(fade float :offset-assert 852)
|
||||
(dest-fade float :offset-assert 856)
|
||||
((los los-control :inline :offset-assert 608)
|
||||
(want-stop basic :offset-assert 756)
|
||||
(target-pos vector :inline :offset-assert 768)
|
||||
(curr-node int32 :offset-assert 784)
|
||||
(hide-pos vector :inline :offset-assert 800)
|
||||
(next-change uint64 :offset-assert 816)
|
||||
(shoot-angle float :offset-assert 824)
|
||||
(miss-amount float :offset-assert 828)
|
||||
(ambient-sound-id uint32 :offset-assert 832)
|
||||
(shock-effect-time time-frame :offset-assert 840)
|
||||
(shock-effect-end uint64 :offset-assert 848)
|
||||
(fade float :offset-assert 856)
|
||||
(dest-fade float :offset-assert 860)
|
||||
)
|
||||
:method-count-assert 189
|
||||
:size-assert #x360
|
||||
@@ -36416,7 +36417,6 @@
|
||||
(predator-method-188 () none 188)
|
||||
)
|
||||
)
|
||||
|#
|
||||
|
||||
#|
|
||||
(deftype predator-manager (process)
|
||||
@@ -37027,7 +37027,6 @@
|
||||
;; grenadier ;;
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
|
||||
#|
|
||||
(deftype bank-info (structure)
|
||||
((circle sphere :inline :offset-assert 0)
|
||||
(tangent-pos vector :inline :offset-assert 16)
|
||||
@@ -37038,19 +37037,17 @@
|
||||
:size-assert #x40
|
||||
:flag-assert #x900000040
|
||||
)
|
||||
|#
|
||||
|
||||
#|
|
||||
(deftype grenadier (nav-enemy)
|
||||
((shot-trajectory trajectory :inline :offset-assert 604)
|
||||
(hostile-path basic :offset-assert 644)
|
||||
(bank bank-info :inline :offset-assert 652)
|
||||
(joint basic :offset-assert 716)
|
||||
(heading basic :offset-assert 720)
|
||||
(move-pos vector :inline :offset-assert 732)
|
||||
(move-angle float :offset-assert 748)
|
||||
(status-flags uint64 :offset-assert 756)
|
||||
(suppress-knockaside-timer uint64 :offset-assert 764)
|
||||
((shot-trajectory trajectory :inline :offset-assert 608)
|
||||
(hostile-path path-control :offset-assert 648)
|
||||
(bank bank-info :inline :offset-assert 656)
|
||||
(joint joint-mod-blend-world :offset-assert 720)
|
||||
(heading basic :offset-assert 724)
|
||||
(move-pos vector :inline :offset-assert 736)
|
||||
(move-angle float :offset-assert 752)
|
||||
(status-flags uint64 :offset-assert 760)
|
||||
(suppress-knockaside-timer uint64 :offset-assert 768)
|
||||
)
|
||||
:method-count-assert 184
|
||||
:size-assert #x308
|
||||
@@ -37064,7 +37061,6 @@
|
||||
(grenadier-method-183 () none 183)
|
||||
)
|
||||
)
|
||||
|#
|
||||
|
||||
;; (define-extern *grenadier-nav-enemy-info* nav-enemy-info)
|
||||
;; (define-extern pos-rotate-y<-vector+vector function)
|
||||
|
||||
@@ -420,5 +420,17 @@
|
||||
],
|
||||
"scene": [[4, "(function symbol :behavior scene-player)"]],
|
||||
"enemy": [[37, "(function enemy-jump-info none :behavior enemy)"]],
|
||||
"nav-enemy": [[7, "(function enemy-jump-info none :behavior nav-enemy)"]]
|
||||
"nav-enemy": [
|
||||
[7, "(function enemy-jump-info none :behavior nav-enemy)"],
|
||||
[84, "(function object nav-control none)"],
|
||||
[85, "(function object nav-control none)"],
|
||||
[86, "(function object nav-control none)"],
|
||||
[87, "(function object nav-control none)"],
|
||||
[88, "(function object nav-control none)"],
|
||||
[89, "(function object nav-control none)"],
|
||||
[90, "(function object nav-control none)"],
|
||||
[91, "(function object nav-control none)"],
|
||||
[92, "(function object nav-control none)"],
|
||||
[93, "(function object nav-control none)"]
|
||||
]
|
||||
}
|
||||
|
||||
@@ -455,6 +455,7 @@
|
||||
["L498", "uint64", true],
|
||||
["L499", "uint64", true],
|
||||
["L500", "uint64", true],
|
||||
["L501", "uint64", true],
|
||||
["L502", "uint64", true],
|
||||
["L503", "uint64", true],
|
||||
["L504", "uint64", true]
|
||||
|
||||
@@ -3712,5 +3712,29 @@
|
||||
16,
|
||||
"enemy-jump-info"
|
||||
]
|
||||
],
|
||||
"(method 145 nav-enemy)": [
|
||||
[
|
||||
16,
|
||||
"vector"
|
||||
]
|
||||
],
|
||||
"(method 150 nav-enemy)": [
|
||||
[
|
||||
16,
|
||||
"vector"
|
||||
]
|
||||
],
|
||||
"(anon-function 88 nav-enemy)": [
|
||||
[
|
||||
16,
|
||||
"vector"
|
||||
]
|
||||
],
|
||||
"(anon-function 93 nav-enemy)": [
|
||||
[
|
||||
16,
|
||||
"vector"
|
||||
]
|
||||
]
|
||||
}
|
||||
}
|
||||
|
||||
@@ -18609,5 +18609,31 @@
|
||||
"v1",
|
||||
"art-joint-anim"
|
||||
]
|
||||
],
|
||||
"(method 55 nav-enemy)": [
|
||||
[
|
||||
[74,78],
|
||||
"a0",
|
||||
"process-focusable"
|
||||
]
|
||||
],
|
||||
"(method 161 nav-enemy)": [
|
||||
[
|
||||
22,
|
||||
"v1",
|
||||
"process-focusable"
|
||||
]
|
||||
],
|
||||
"(method 160 nav-enemy)": [
|
||||
[
|
||||
19,
|
||||
"a0",
|
||||
"process-focusable"
|
||||
],
|
||||
[
|
||||
35,
|
||||
"s5",
|
||||
"process-focusable"
|
||||
]
|
||||
]
|
||||
}
|
||||
}
|
||||
|
||||
+33
-31
@@ -124,15 +124,15 @@
|
||||
(deftype move-above-ground-params (structure)
|
||||
((gnd-collide-with collide-spec :offset-assert 0)
|
||||
(popup float :offset-assert 4)
|
||||
(dont-move-if-overlaps? basic :offset-assert 8)
|
||||
(hover-if-no-ground? basic :offset-assert 12)
|
||||
(dont-move-if-overlaps? symbol :offset-assert 8)
|
||||
(hover-if-no-ground? symbol :offset-assert 12)
|
||||
(overlaps-params overlaps-others-params :inline :offset-assert 16)
|
||||
(new-pos vector :inline :offset-assert 48)
|
||||
(old-gspot-pos vector :inline :offset-assert 64)
|
||||
(old-gspot-normal vector :inline :offset-assert 80)
|
||||
(pat pat-surface :offset-assert 96)
|
||||
(on-ground? basic :offset-assert 100)
|
||||
(do-move? basic :offset-assert 104)
|
||||
(on-ground? symbol :offset-assert 100)
|
||||
(do-move? symbol :offset-assert 104)
|
||||
)
|
||||
:method-count-assert 9
|
||||
:size-assert #x6c
|
||||
@@ -1551,32 +1551,34 @@
|
||||
)
|
||||
|
||||
(deftype collide-shape-moving (collide-shape)
|
||||
((rider-time time-frame :offset-assert 200)
|
||||
(rider-last-move vector :inline :offset-assert 208)
|
||||
(trans-old vector :inline :offset-assert 224)
|
||||
(poly-pat pat-surface :offset 272)
|
||||
(cur-pat pat-surface :offset-assert 276)
|
||||
(ground-pat pat-surface :offset-assert 280)
|
||||
(status cshape-moving-flags :offset-assert 288)
|
||||
(old-status cshape-moving-flags :offset-assert 296)
|
||||
(prev-status cshape-moving-flags :offset-assert 304)
|
||||
(reaction-flag cshape-reaction-flags :offset-assert 312)
|
||||
(reaction (function control-info collide-query vector vector cshape-moving-flags) :offset-assert 316)
|
||||
(no-reaction function :offset-assert 320)
|
||||
(local-normal vector :inline :offset-assert 336)
|
||||
(surface-normal vector :inline :offset-assert 352)
|
||||
(poly-normal vector :inline :offset-assert 368)
|
||||
(ground-poly-normal vector :inline :offset-assert 384)
|
||||
(gspot-pos vector :inline :offset-assert 400)
|
||||
(gspot-normal vector :inline :offset-assert 416)
|
||||
(grount-touch-point vector :inline :offset-assert 432)
|
||||
(ground-impact-vel meters :offset-assert 448)
|
||||
(surface-angle float :offset-assert 452)
|
||||
(poly-angle float :offset-assert 456)
|
||||
(touch-angle float :offset-assert 460)
|
||||
(coverage float :offset-assert 464)
|
||||
(dynam dynamics :offset-assert 468)
|
||||
(surf surface :offset-assert 472)
|
||||
((rider-time time-frame :offset-assert 200)
|
||||
(rider-last-move vector :inline :offset-assert 208)
|
||||
(trans-old vector :inline :offset-assert 224)
|
||||
(csm-unk-vec-981i2u312 vector :inline :offset 240)
|
||||
(csm-unk-vec-klj1n23 vector :inline :offset 256)
|
||||
(poly-pat pat-surface :offset 272)
|
||||
(cur-pat pat-surface :offset-assert 276)
|
||||
(ground-pat pat-surface :offset-assert 280)
|
||||
(status cshape-moving-flags :offset-assert 288)
|
||||
(old-status cshape-moving-flags :offset-assert 296)
|
||||
(prev-status cshape-moving-flags :offset-assert 304)
|
||||
(reaction-flag cshape-reaction-flags :offset-assert 312)
|
||||
(reaction (function control-info collide-query vector vector cshape-moving-flags) :offset-assert 316)
|
||||
(no-reaction function :offset-assert 320)
|
||||
(local-normal vector :inline :offset-assert 336)
|
||||
(surface-normal vector :inline :offset-assert 352)
|
||||
(poly-normal vector :inline :offset-assert 368)
|
||||
(ground-poly-normal vector :inline :offset-assert 384)
|
||||
(gspot-pos vector :inline :offset-assert 400)
|
||||
(gspot-normal vector :inline :offset-assert 416)
|
||||
(grount-touch-point vector :inline :offset-assert 432)
|
||||
(ground-impact-vel meters :offset-assert 448)
|
||||
(surface-angle float :offset-assert 452)
|
||||
(poly-angle float :offset-assert 456)
|
||||
(touch-angle float :offset-assert 460)
|
||||
(coverage float :offset-assert 464)
|
||||
(dynam dynamics :offset-assert 468)
|
||||
(surf surface :offset-assert 472)
|
||||
)
|
||||
:method-count-assert 68
|
||||
:size-assert #x1dc
|
||||
@@ -1586,7 +1588,7 @@
|
||||
(collide-shape-moving-method-55 (_type_ collide-query collide-spec float float float) symbol 55)
|
||||
(collide-shape-moving-method-56 (_type_ pat-surface) none 56)
|
||||
(collide-shape-moving-method-57 () none 57)
|
||||
(collide-shape-moving-method-58 () none 58)
|
||||
(collide-shape-moving-method-58 (_type_ vector overlaps-others-params) symbol 58)
|
||||
(collide-shape-moving-method-59 () none 59)
|
||||
(collide-shape-moving-method-60 () none 60)
|
||||
(collide-shape-moving-method-61 () none 61)
|
||||
|
||||
+4
-4
@@ -291,11 +291,11 @@
|
||||
(let ((v1-0 (-> obj ctrl)))
|
||||
(+! (-> obj count) 1)
|
||||
(b! (zero? v1-0) cfg-2 :delay (nop!))
|
||||
(.mtc0 Perf 0)
|
||||
(.mtc0 Perf r0)
|
||||
(.sync.l)
|
||||
(.sync.p)
|
||||
(.mtpc pcr0 0)
|
||||
(.mtpc pcr1 0)
|
||||
(.mtpc pcr0 r0)
|
||||
(.mtpc pcr1 r0)
|
||||
(.sync.l)
|
||||
(.sync.p)
|
||||
(.mtc0 Perf v1-0)
|
||||
@@ -310,7 +310,7 @@
|
||||
(defmethod read! perf-stat ((obj perf-stat))
|
||||
(local-vars (v1-1 int) (v1-3 int))
|
||||
(b! (zero? (-> obj ctrl)) cfg-2 :delay (nop!))
|
||||
(.mtc0 Perf 0)
|
||||
(.mtc0 Perf r0)
|
||||
(.sync.l)
|
||||
(.sync.p)
|
||||
(.mfpc v1-1 pcr0)
|
||||
|
||||
+1
-1
@@ -2469,7 +2469,7 @@
|
||||
(reset-actors 'debug)
|
||||
0
|
||||
(disable-irq)
|
||||
(.mtc0 Count 0)
|
||||
(.mtc0 Count r0)
|
||||
(.sync.p)
|
||||
(birth! gp-0)
|
||||
(.mfc0 s4-0 Count)
|
||||
|
||||
+8
-8
@@ -998,11 +998,11 @@
|
||||
)
|
||||
(+! (-> a1-16 count) 1)
|
||||
(b! (zero? a2-6) cfg-7 :delay (nop!))
|
||||
(.mtc0 Perf 0)
|
||||
(.mtc0 Perf r0)
|
||||
(.sync.l)
|
||||
(.sync.p)
|
||||
(.mtpc pcr0 0)
|
||||
(.mtpc pcr1 0)
|
||||
(.mtpc pcr0 r0)
|
||||
(.mtpc pcr1 r0)
|
||||
(.sync.l)
|
||||
(.sync.p)
|
||||
(.mtc0 Perf a2-6)
|
||||
@@ -1019,7 +1019,7 @@
|
||||
)
|
||||
(let ((v1-26 (-> *perf-stats* data 44)))
|
||||
(b! (zero? (-> v1-26 ctrl)) cfg-9 :delay (nop!))
|
||||
(.mtc0 Perf 0)
|
||||
(.mtc0 Perf r0)
|
||||
(.sync.l)
|
||||
(.sync.p)
|
||||
(.mfpc a0-4 pcr0)
|
||||
@@ -1034,11 +1034,11 @@
|
||||
)
|
||||
(+! (-> v1-29 count) 1)
|
||||
(b! (zero? a0-8) cfg-11 :delay (nop!))
|
||||
(.mtc0 Perf 0)
|
||||
(.mtc0 Perf r0)
|
||||
(.sync.l)
|
||||
(.sync.p)
|
||||
(.mtpc pcr0 0)
|
||||
(.mtpc pcr1 0)
|
||||
(.mtpc pcr0 r0)
|
||||
(.mtpc pcr1 r0)
|
||||
(.sync.l)
|
||||
(.sync.p)
|
||||
(.mtc0 Perf a0-8)
|
||||
@@ -1050,7 +1050,7 @@
|
||||
(draw-prototype-inline-array-shrub proto-array-len proto-array-data)
|
||||
(let ((v1-32 (-> *perf-stats* data 45)))
|
||||
(b! (zero? (-> v1-32 ctrl)) cfg-13 :delay (nop!))
|
||||
(.mtc0 Perf 0)
|
||||
(.mtc0 Perf r0)
|
||||
(.sync.l)
|
||||
(.sync.p)
|
||||
(.mfpc a0-11 pcr0)
|
||||
|
||||
+52
-66
@@ -1,7 +1,5 @@
|
||||
;;-*-Lisp-*-
|
||||
(in-package goal)
|
||||
|
||||
;; definition of type check-vector-collision-with-nav-spheres-info
|
||||
(deftype check-vector-collision-with-nav-spheres-info (structure)
|
||||
((u float :offset-assert 0)
|
||||
(intersect vector :inline :offset-assert 16)
|
||||
@@ -12,7 +10,6 @@
|
||||
:flag-assert #x900000030
|
||||
)
|
||||
|
||||
;; definition for method 3 of type check-vector-collision-with-nav-spheres-info
|
||||
(defmethod inspect check-vector-collision-with-nav-spheres-info ((obj check-vector-collision-with-nav-spheres-info))
|
||||
(when (not obj)
|
||||
(set! obj obj)
|
||||
@@ -26,7 +23,6 @@
|
||||
obj
|
||||
)
|
||||
|
||||
;; definition of type nav-gap-info
|
||||
(deftype nav-gap-info (structure)
|
||||
((dest vector :inline :offset-assert 0)
|
||||
(poly nav-poly :offset-assert 16)
|
||||
@@ -36,7 +32,6 @@
|
||||
:flag-assert #x900000014
|
||||
)
|
||||
|
||||
;; definition for method 3 of type nav-gap-info
|
||||
(defmethod inspect nav-gap-info ((obj nav-gap-info))
|
||||
(when (not obj)
|
||||
(set! obj obj)
|
||||
@@ -49,21 +44,19 @@
|
||||
obj
|
||||
)
|
||||
|
||||
;; definition of type nav-avoid-spheres-params
|
||||
(deftype nav-avoid-spheres-params (structure)
|
||||
((current-pos vector :inline :offset-assert 0)
|
||||
(travel vector :inline :offset-assert 16)
|
||||
(pref-dir vector :inline :offset-assert 32)
|
||||
(out-travel vector 2 :inline :offset-assert 48)
|
||||
(closest-sphere-dist2 float :offset-assert 80)
|
||||
(avoiding-sphere? basic :offset-assert 84)
|
||||
(avoiding-sphere? symbol :offset-assert 84)
|
||||
)
|
||||
:method-count-assert 9
|
||||
:size-assert #x58
|
||||
:flag-assert #x900000058
|
||||
)
|
||||
|
||||
;; definition for method 3 of type nav-avoid-spheres-params
|
||||
(defmethod inspect nav-avoid-spheres-params ((obj nav-avoid-spheres-params))
|
||||
(when (not obj)
|
||||
(set! obj obj)
|
||||
@@ -80,17 +73,15 @@
|
||||
obj
|
||||
)
|
||||
|
||||
;; definition of type nav-callback-info
|
||||
(deftype nav-callback-info (structure)
|
||||
((callback-count int32 :offset-assert 0)
|
||||
(callback-array uint32 10 :offset-assert 4)
|
||||
((callback-count int32 :offset-assert 0)
|
||||
(callback-array (function object nav-control none) 10 :offset-assert 4)
|
||||
)
|
||||
:method-count-assert 9
|
||||
:size-assert #x2c
|
||||
:flag-assert #x90000002c
|
||||
)
|
||||
|
||||
;; definition for method 3 of type nav-callback-info
|
||||
(defmethod inspect nav-callback-info ((obj nav-callback-info))
|
||||
(when (not obj)
|
||||
(set! obj obj)
|
||||
@@ -103,10 +94,9 @@
|
||||
obj
|
||||
)
|
||||
|
||||
;; definition of type nav-state
|
||||
(deftype nav-state (structure)
|
||||
((flags nav-state-flag :offset-assert 0)
|
||||
(nav basic :offset-assert 4)
|
||||
(nav nav-control :offset-assert 4)
|
||||
(user-poly nav-poly :offset-assert 8)
|
||||
(mesh nav-mesh :offset-assert 12)
|
||||
(current-poly nav-poly :offset-assert 16)
|
||||
@@ -131,56 +121,55 @@
|
||||
:size-assert #xb0
|
||||
:flag-assert #x37000000b0
|
||||
(:methods
|
||||
(nav-state-method-9 () none 9)
|
||||
(nav-state-method-10 () none 10)
|
||||
(nav-state-method-11 () none 11)
|
||||
(nav-state-method-12 () none 12)
|
||||
(nav-state-method-13 () none 13)
|
||||
(nav-state-method-14 () none 14)
|
||||
(nav-state-method-15 () none 15)
|
||||
(nav-state-method-16 () none 16)
|
||||
(nav-state-method-17 () none 17)
|
||||
(nav-state-method-18 () none 18)
|
||||
(nav-state-method-19 () none 19)
|
||||
(nav-state-method-20 () none 20)
|
||||
(debug-draw (_type_) none 9)
|
||||
(nav-state-method-10 (_type_) none 10)
|
||||
(nav-state-method-11 (_type_ nav-gap-info) symbol 11)
|
||||
(nav-state-method-12 (_type_ vector) vector 12)
|
||||
(nav-state-method-13 (_type_ vector) vector 13)
|
||||
(nav-state-method-14 (_type_ vector) vector 14)
|
||||
(nav-state-method-15 (_type_ vector) vector 15)
|
||||
(get-speed (_type_) meters 16)
|
||||
(get-rotation-rate (_type_) float 17)
|
||||
(nav-state-method-18 (_type_ vector object vector) none 18)
|
||||
(get-current-poly (_type_) nav-poly 19)
|
||||
(copy-nav-state! (_type_ (pointer nav-state)) none 20)
|
||||
(nav-state-method-21 () none 21)
|
||||
(nav-state-method-22 () none 22)
|
||||
(nav-state-method-23 () none 23)
|
||||
(nav-state-method-24 () none 24)
|
||||
(nav-state-method-25 () none 25)
|
||||
(nav-state-method-26 () none 26)
|
||||
(nav-state-method-27 () none 27)
|
||||
(nav-state-method-28 () none 28)
|
||||
(nav-state-method-29 () none 29)
|
||||
(nav-state-method-30 () none 30)
|
||||
(nav-state-method-31 () none 31)
|
||||
(nav-state-method-32 () none 32)
|
||||
(nav-state-method-33 () none 33)
|
||||
(nav-state-method-34 () none 34)
|
||||
(nav-state-method-35 () none 35)
|
||||
(nav-state-method-36 () none 36)
|
||||
(nav-state-method-37 () none 37)
|
||||
(nav-state-method-38 () none 38)
|
||||
(nav-state-method-24 (_type_) none 24)
|
||||
(nav-state-method-25 (_type_) none 25)
|
||||
(nav-state-method-26 (_type_) none 26)
|
||||
(nav-state-method-27 (_type_) none 27)
|
||||
(nav-state-method-28 (_type_) none 28)
|
||||
(nav-state-method-29 (_type_) none 29)
|
||||
(nav-state-method-30 (_type_) none 30)
|
||||
(nav-state-method-31 (_type_) none 31)
|
||||
(nav-state-method-32 (_type_) none 32)
|
||||
(nav-state-method-33 (_type_) none 33)
|
||||
(nav-state-method-34 (_type_) none 34)
|
||||
(nav-state-method-35 (_type_) none 35)
|
||||
(nav-state-method-36 (_type_ vector) none 36)
|
||||
(nav-state-method-37 (_type_) none 37)
|
||||
(set-current-poly! (_type_ nav-poly) none 38)
|
||||
(nav-state-method-39 () none 39)
|
||||
(nav-state-method-40 () none 40)
|
||||
(nav-state-method-41 () none 41)
|
||||
(nav-state-method-42 () none 42)
|
||||
(nav-state-method-43 () none 43)
|
||||
(nav-state-method-44 () none 44)
|
||||
(nav-state-method-45 () none 45)
|
||||
(nav-state-method-46 () none 46)
|
||||
(nav-state-method-47 () none 47)
|
||||
(nav-state-method-40 (_type_) none 40)
|
||||
(nav-state-method-41 (_type_ vector) symbol 41)
|
||||
(nav-state-method-42 (_type_ vector) none 42)
|
||||
(nav-state-method-43 (_type_ vector) none 43)
|
||||
(set-velocity! (_type_ vector) none 44)
|
||||
(set-heading! (_type_ vector) none 45)
|
||||
(set-speed! (_type_ meters) none 46)
|
||||
(nav-state-method-47 (_type_ nav-control) none 47)
|
||||
(nav-state-method-48 () none 48)
|
||||
(nav-state-method-49 () none 49)
|
||||
(nav-state-method-50 () none 50)
|
||||
(nav-state-method-49 (_type_ clamp-travel-vector-to-mesh-return-info) none 49)
|
||||
(nav-state-method-50 (_type_) none 50)
|
||||
(nav-state-method-51 () none 51)
|
||||
(nav-state-method-52 () none 52)
|
||||
(nav-state-method-53 () none 53)
|
||||
(nav-state-method-54 () none 54)
|
||||
(nav-state-method-52 (_type_) none 52)
|
||||
(nav-state-method-53 (_type_) none 53)
|
||||
(nav-state-method-54 (_type_) none 54)
|
||||
)
|
||||
)
|
||||
|
||||
;; definition for method 3 of type nav-state
|
||||
(defmethod inspect nav-state ((obj nav-state))
|
||||
(when (not obj)
|
||||
(set! obj obj)
|
||||
@@ -260,7 +249,6 @@
|
||||
obj
|
||||
)
|
||||
|
||||
;; definition of type nav-control
|
||||
(deftype nav-control (structure)
|
||||
((flags nav-control-flag :offset-assert 0)
|
||||
(callback-info nav-callback-info :offset-assert 4)
|
||||
@@ -281,8 +269,8 @@
|
||||
(sphere-mask uint8 :offset-assert 61)
|
||||
(pad1 uint8 2 :offset-assert 62)
|
||||
(sphere-id-array uint8 16 :offset-assert 64)
|
||||
(extra-nav-sphere sphere :inline :offset-assert 80)
|
||||
(root-nav-sphere sphere :inline :offset-assert 96)
|
||||
(extra-nav-sphere vector :inline :offset-assert 80)
|
||||
(root-nav-sphere vector :inline :offset-assert 96)
|
||||
(state nav-state :inline :offset-assert 112)
|
||||
)
|
||||
:method-count-assert 47
|
||||
@@ -292,7 +280,7 @@
|
||||
(debug-draw (_type_) none 9)
|
||||
(point-in-bounds? (_type_ vector) symbol 10)
|
||||
(nav-control-method-11 (_type_ vector) vector 11)
|
||||
(nav-control-method-12 () none 12)
|
||||
(nav-control-method-12 (_type_ vector vector nav-poly) nav-poly 12)
|
||||
(find-poly (_type_ vector) nav-poly 13)
|
||||
(nav-control-method-14 (_type_ nav-poly vector object vector) none 14)
|
||||
(nav-control-method-15 (_type_ vector) none 15)
|
||||
@@ -300,11 +288,11 @@
|
||||
(is-in-mesh? (_type_ vector float) symbol 17)
|
||||
(nav-control-method-18 () none 18)
|
||||
(nav-control-method-19 () none 19)
|
||||
(nav-control-method-20 (_type_ vector vector vector int symbol symbol) none 20)
|
||||
(nav-control-method-21 () none 21)
|
||||
(nav-control-method-22 () none 22)
|
||||
(nav-control-method-20 (_type_ vector nav-poly vector float symbol symbol) none 20)
|
||||
(nav-control-method-21 (_type_) none 21)
|
||||
(nav-control-method-22 (_type_ vector nav-avoid-spheres-params) float 22)
|
||||
(nav-control-method-23 (_type_) none 23)
|
||||
(nav-control-method-24 () none 24)
|
||||
(nav-control-method-24 (_type_ vector int) none 24)
|
||||
(get-max-rotation-rate (_type_) float 25)
|
||||
(get-sphere-mask (_type_) none 26)
|
||||
(get-target-speed (_type_) meters 27)
|
||||
@@ -326,11 +314,10 @@
|
||||
(display-marks? (_type_) symbol 43)
|
||||
(nav-control-method-44 () none 44)
|
||||
(nav-control-method-45 (_type_ vector vector vector) sphere 45)
|
||||
(find-sphere (_type_) none 46)
|
||||
(find-sphere (_type_ symbol) none 46)
|
||||
)
|
||||
)
|
||||
|
||||
;; definition for method 3 of type nav-control
|
||||
(defmethod inspect nav-control ((obj nav-control))
|
||||
(when (not obj)
|
||||
(set! obj obj)
|
||||
@@ -397,5 +384,4 @@
|
||||
obj
|
||||
)
|
||||
|
||||
;; failed to figure out what this is:
|
||||
0
|
||||
|
||||
+51
-62
@@ -1,7 +1,5 @@
|
||||
;;-*-Lisp-*-
|
||||
(in-package goal)
|
||||
|
||||
;; definition of type nav-enemy-info
|
||||
(deftype nav-enemy-info (enemy-info)
|
||||
((callback-info nav-callback-info :offset-assert 384)
|
||||
(use-momentum symbol :offset-assert 388)
|
||||
@@ -32,12 +30,10 @@
|
||||
:size-assert #x1ec
|
||||
:flag-assert #xb000001ec
|
||||
(:methods
|
||||
(nav-enemy-info-method-10 () none 10)
|
||||
(copy-nav-enemy-info! (_type_ nav-enemy-info) none 10)
|
||||
)
|
||||
)
|
||||
|
||||
;; definition for method 3 of type nav-enemy-info
|
||||
;; INFO: Used lq/sq
|
||||
(defmethod inspect nav-enemy-info ((obj nav-enemy-info))
|
||||
(when (not obj)
|
||||
(set! obj obj)
|
||||
@@ -153,66 +149,66 @@
|
||||
obj
|
||||
)
|
||||
|
||||
;; definition of type nav-enemy
|
||||
(deftype nav-enemy (enemy)
|
||||
((frustration-point vector :inline :offset-assert 544)
|
||||
(move-dest vector :inline :offset-assert 560)
|
||||
(frustration-time time-frame :offset-assert 576)
|
||||
(blocked-start-time time-frame :offset-assert 584)
|
||||
(restore-nav-radius-time time-frame :offset-assert 592)
|
||||
(nav-radius-backup float :offset-assert 600)
|
||||
(circle-radial-dist float :offset 244)
|
||||
((enemy-info-override nav-enemy-info :offset 216)
|
||||
(frustration-point vector :inline :offset-assert 544)
|
||||
(move-dest vector :inline :offset-assert 560)
|
||||
(frustration-time time-frame :offset-assert 576)
|
||||
(blocked-start-time time-frame :offset-assert 584)
|
||||
(restore-nav-radius-time time-frame :offset-assert 592)
|
||||
(nav-radius-backup float :offset-assert 600)
|
||||
(circle-radial-dist float :offset 244)
|
||||
)
|
||||
:heap-base #x1e0
|
||||
:method-count-assert 178
|
||||
:size-assert #x25c
|
||||
:flag-assert #xb201e0025c
|
||||
(:methods
|
||||
(nav-enemy-method-137 () none 137)
|
||||
(nav-enemy-method-138 () none 138)
|
||||
(nav-enemy-method-139 () none 139)
|
||||
(nav-enemy-method-140 () none 140)
|
||||
(nav-enemy-method-141 () none 141)
|
||||
(nav-enemy-method-142 () none 142)
|
||||
(nav-enemy-method-143 () none 143)
|
||||
(nav-enemy-method-144 () none 144)
|
||||
(nav-enemy-method-145 () none 145)
|
||||
(nav-enemy-method-146 () none 146)
|
||||
(nav-enemy-method-147 () none 147)
|
||||
(nav-enemy-method-148 () none 148)
|
||||
(nav-enemy-method-149 () none 149)
|
||||
(nav-enemy-method-150 () none 150)
|
||||
(nav-enemy-method-151 () none 151)
|
||||
(nav-enemy-method-152 () none 152)
|
||||
(nav-enemy-method-153 () none 153)
|
||||
(nav-enemy-method-154 () none 154)
|
||||
(nav-enemy-method-155 () none 155)
|
||||
(nav-enemy-method-156 () none 156)
|
||||
(nav-enemy-method-157 () none 157)
|
||||
(nav-enemy-method-158 () none 158)
|
||||
(nav-enemy-method-159 () none 159)
|
||||
(nav-enemy-method-160 () none 160)
|
||||
(nav-enemy-method-161 () none 161)
|
||||
(nav-enemy-method-162 () none 162)
|
||||
(nav-enemy-method-163 () none 163)
|
||||
(nav-enemy-method-164 () none 164)
|
||||
(nav-enemy-method-165 () none 165)
|
||||
(nav-enemy-method-166 () none 166)
|
||||
(nav-enemy-method-167 () none 167)
|
||||
(nav-enemy-method-168 () none 168)
|
||||
(nav-enemy-method-169 () none 169)
|
||||
(nav-enemy-method-170 () none 170)
|
||||
(nav-enemy-method-171 () none 171)
|
||||
(nav-enemy-method-172 () none 172)
|
||||
(nav-enemy-method-173 () none 173)
|
||||
(nav-enemy-method-174 () none 174)
|
||||
(nav-enemy-method-175 () none 175)
|
||||
(nav-enemy-method-176 () none 176)
|
||||
(nav-enemy-method-177 () none 177)
|
||||
(enemy-method-113 (_type_ nav-enemy-info) none :replace 113)
|
||||
(taunt () _type_ :state 137)
|
||||
(pacing () _type_ :state 138)
|
||||
(circling () _type_ :state 139)
|
||||
(stop-chase () _type_ :state 140)
|
||||
(debug-control () _type_ :state 141)
|
||||
(nav-enemy-method-142 (_type_ nav-control) none 142)
|
||||
(nav-enemy-method-143 (_type_ nav-control) none 143)
|
||||
(nav-enemy-method-144 (_type_) time-frame :behavior nav-enemy 144)
|
||||
(nav-enemy-method-145 (_type_ nav-control) none 145)
|
||||
(nav-enemy-method-146 (_type_ nav-control) none 146)
|
||||
(nav-enemy-method-147 (_type_ nav-control) none 147)
|
||||
(nav-enemy-method-148 (_type_ nav-control) none 148)
|
||||
(nav-enemy-method-149 (_type_ nav-control) none 149)
|
||||
(nav-enemy-method-150 (_type_ nav-control) none 150)
|
||||
(nav-enemy-method-151 (_type_ nav-control) none 151)
|
||||
(nav-enemy-method-152 (_type_ nav-control) none 152)
|
||||
(nav-enemy-method-153 (_type_ nav-control) none 153)
|
||||
(nav-enemy-method-154 (_type_ nav-control) none 154)
|
||||
(nav-enemy-method-155 (_type_) none 155)
|
||||
(nav-enemy-method-156 (_type_) none 156)
|
||||
(nav-enemy-method-157 (_type_ vector) nav-poly 157)
|
||||
(nav-enemy-method-158 (_type_ vector) object 158)
|
||||
(nav-enemy-method-159 (_type_ vector) symbol 159)
|
||||
(nav-enemy-method-160 (_type_) none 160)
|
||||
(nav-enemy-method-161 (_type_) none 161)
|
||||
(nav-enemy-method-162 (_type_) none 162)
|
||||
(nav-enemy-method-163 (_type_) none 163)
|
||||
(nav-enemy-method-164 (_type_) none 164)
|
||||
(nav-enemy-method-165 (_type_) none 165)
|
||||
(nav-enemy-method-166 (_type_) none 166)
|
||||
(nav-enemy-method-167 (_type_) none 167)
|
||||
(nav-enemy-method-168 (_type_) float 168)
|
||||
(nav-enemy-method-169 (_type_ float symbol) float 169)
|
||||
(nav-enemy-method-170 (_type_) none 170)
|
||||
(nav-enemy-method-171 (_type_) none 171)
|
||||
(nav-enemy-method-172 (_type_) none 172)
|
||||
(nav-enemy-method-173 (_type_) none 173)
|
||||
(nav-enemy-method-174 (_type_) symbol 174)
|
||||
(nav-enemy-method-175 (_type_) symbol 175)
|
||||
(nav-enemy-method-176 (_type_) none :behavior nav-enemy 176)
|
||||
(nav-enemy-method-177 (_type_) none 177)
|
||||
)
|
||||
)
|
||||
|
||||
;; definition for method 3 of type nav-enemy
|
||||
(defmethod inspect nav-enemy ((obj nav-enemy))
|
||||
(when (not obj)
|
||||
(set! obj obj)
|
||||
@@ -232,7 +228,6 @@
|
||||
obj
|
||||
)
|
||||
|
||||
;; definition of type nav-enemy-debug-control-info
|
||||
(deftype nav-enemy-debug-control-info (basic)
|
||||
((enable basic :offset-assert 4)
|
||||
(steering float :offset-assert 8)
|
||||
@@ -243,7 +238,6 @@
|
||||
:flag-assert #x900000010
|
||||
)
|
||||
|
||||
;; definition for method 3 of type nav-enemy-debug-control-info
|
||||
(defmethod inspect nav-enemy-debug-control-info ((obj nav-enemy-debug-control-info))
|
||||
(when (not obj)
|
||||
(set! obj obj)
|
||||
@@ -257,9 +251,4 @@
|
||||
obj
|
||||
)
|
||||
|
||||
;; failed to figure out what this is:
|
||||
0
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
+45
-144
@@ -1,7 +1,5 @@
|
||||
;;-*-Lisp-*-
|
||||
(in-package goal)
|
||||
|
||||
;; definition of type nav-mesh-work-debug
|
||||
(deftype nav-mesh-work-debug (structure)
|
||||
((debug-vec1 vector :inline :offset-assert 0)
|
||||
(debug-vec2 vector :inline :offset-assert 16)
|
||||
@@ -22,7 +20,6 @@
|
||||
:flag-assert #x9000001c0
|
||||
)
|
||||
|
||||
;; definition for method 3 of type nav-mesh-work-debug
|
||||
(defmethod inspect nav-mesh-work-debug ((obj nav-mesh-work-debug))
|
||||
(when (not obj)
|
||||
(set! obj obj)
|
||||
@@ -46,7 +43,6 @@
|
||||
obj
|
||||
)
|
||||
|
||||
;; definition of type nav-mesh-work
|
||||
(deftype nav-mesh-work (structure)
|
||||
((vert0-table int8 4 :offset-assert 0)
|
||||
(vert1-table int8 4 :offset-assert 4)
|
||||
@@ -72,7 +68,6 @@
|
||||
:flag-assert #x90000013c
|
||||
)
|
||||
|
||||
;; definition for method 3 of type nav-mesh-work
|
||||
(defmethod inspect nav-mesh-work ((obj nav-mesh-work))
|
||||
(when (not obj)
|
||||
(set! obj obj)
|
||||
@@ -101,22 +96,20 @@
|
||||
obj
|
||||
)
|
||||
|
||||
;; definition of type nav-mesh-link
|
||||
(deftype nav-mesh-link (structure)
|
||||
((id uint32 :offset-assert 0)
|
||||
(dest-mesh-id uint32 :offset-assert 4)
|
||||
(src-link-poly-id uint8 :offset-assert 8)
|
||||
(src-switch-poly-id uint8 :offset-assert 9)
|
||||
(dest-link-poly-id uint8 :offset-assert 10)
|
||||
(dest-switch-poly-id uint8 :offset-assert 11)
|
||||
(dest-mesh basic :offset-assert 12)
|
||||
((id uint32 :offset-assert 0)
|
||||
(dest-mesh-id uint32 :offset-assert 4)
|
||||
(src-link-poly-id uint8 :offset-assert 8)
|
||||
(src-switch-poly-id uint8 :offset-assert 9)
|
||||
(dest-link-poly-id uint8 :offset-assert 10)
|
||||
(dest-switch-poly-id uint8 :offset-assert 11)
|
||||
(dest-mesh nav-mesh :offset-assert 12)
|
||||
)
|
||||
:method-count-assert 9
|
||||
:size-assert #x10
|
||||
:flag-assert #x900000010
|
||||
)
|
||||
|
||||
;; definition for method 3 of type nav-mesh-link
|
||||
(defmethod inspect nav-mesh-link ((obj nav-mesh-link))
|
||||
(when (not obj)
|
||||
(set! obj obj)
|
||||
@@ -134,7 +127,6 @@
|
||||
obj
|
||||
)
|
||||
|
||||
;; definition of type nav-poly
|
||||
(deftype nav-poly (structure)
|
||||
((data uint8 64 :offset-assert 0)
|
||||
(vertex vector 4 :inline :offset 0)
|
||||
@@ -159,16 +151,15 @@
|
||||
:flag-assert #x900000040
|
||||
)
|
||||
|
||||
;; definition for method 3 of type nav-poly
|
||||
(defmethod inspect nav-poly ((obj nav-poly))
|
||||
(when (not obj)
|
||||
(set! obj obj)
|
||||
(goto cfg-4)
|
||||
)
|
||||
(format #t "[~8x] ~A~%" obj 'nav-poly)
|
||||
(format #t "~1Tdata[64] @ #x~X~%" (-> obj vertex0))
|
||||
(format #t "~1Tvertex[4] @ #x~X~%" (-> obj vertex0))
|
||||
(format #t "~1Tvertex0: ~`vector`P~%" (-> obj vertex0))
|
||||
(format #t "~1Tdata[64] @ #x~X~%" (-> obj vertex))
|
||||
(format #t "~1Tvertex[4] @ #x~X~%" (-> obj vertex))
|
||||
(format #t "~1Tvertex0: ~`vector`P~%" (-> obj vertex))
|
||||
(format #t "~1Tvertex1: ~`vector`P~%" (-> obj vertex1))
|
||||
(format #t "~1Tvertex2: ~`vector`P~%" (-> obj vertex2))
|
||||
(format #t "~1Tvertex3: ~`vector`P~%" (-> obj vertex3))
|
||||
@@ -187,7 +178,6 @@
|
||||
obj
|
||||
)
|
||||
|
||||
;; definition of type nav-vertex
|
||||
(deftype nav-vertex (vector)
|
||||
"A typedef for `vector`, not used because our code looks nicer if everything is `vector`s anyway
|
||||
and declared out of order (cannot use forward declared structures in inline arrays)"
|
||||
@@ -197,8 +187,6 @@
|
||||
:flag-assert #x900000010
|
||||
)
|
||||
|
||||
;; definition for method 3 of type nav-vertex
|
||||
;; INFO: Used lq/sq
|
||||
(defmethod inspect nav-vertex ((obj nav-vertex))
|
||||
(when (not obj)
|
||||
(set! obj obj)
|
||||
@@ -215,7 +203,6 @@
|
||||
obj
|
||||
)
|
||||
|
||||
;; definition of type nav-sphere
|
||||
(deftype nav-sphere (structure)
|
||||
((trans sphere :inline :offset-assert 0)
|
||||
)
|
||||
@@ -224,7 +211,6 @@
|
||||
:flag-assert #x900000010
|
||||
)
|
||||
|
||||
;; definition for method 3 of type nav-sphere
|
||||
(defmethod inspect nav-sphere ((obj nav-sphere))
|
||||
(when (not obj)
|
||||
(set! obj obj)
|
||||
@@ -236,7 +222,6 @@
|
||||
obj
|
||||
)
|
||||
|
||||
;; definition of type nav-ray
|
||||
(deftype nav-ray (structure)
|
||||
((current-pos vector :inline :offset-assert 0)
|
||||
(dir vector :inline :offset-assert 16)
|
||||
@@ -256,7 +241,6 @@
|
||||
:flag-assert #x900000050
|
||||
)
|
||||
|
||||
;; definition for method 3 of type nav-ray
|
||||
(defmethod inspect nav-ray ((obj nav-ray))
|
||||
(when (not obj)
|
||||
(set! obj obj)
|
||||
@@ -279,7 +263,6 @@
|
||||
obj
|
||||
)
|
||||
|
||||
;; definition of type nav-route-portal
|
||||
(deftype nav-route-portal (structure)
|
||||
((vertex nav-vertex 2 :inline :offset-assert 0)
|
||||
(next-poly nav-poly :offset-assert 32)
|
||||
@@ -290,7 +273,6 @@
|
||||
:flag-assert #x900000025
|
||||
)
|
||||
|
||||
;; definition for method 3 of type nav-route-portal
|
||||
(defmethod inspect nav-route-portal ((obj nav-route-portal))
|
||||
(when (not obj)
|
||||
(set! obj obj)
|
||||
@@ -304,7 +286,6 @@
|
||||
obj
|
||||
)
|
||||
|
||||
;; definition of type nav-find-poly-parms
|
||||
(deftype nav-find-poly-parms (structure)
|
||||
((point vector :inline :offset-assert 0)
|
||||
(y-threshold float :offset-assert 16)
|
||||
@@ -318,7 +299,6 @@
|
||||
:flag-assert #x900000024
|
||||
)
|
||||
|
||||
;; definition for method 3 of type nav-find-poly-parms
|
||||
(defmethod inspect nav-find-poly-parms ((obj nav-find-poly-parms))
|
||||
(when (not obj)
|
||||
(set! obj obj)
|
||||
@@ -335,7 +315,6 @@
|
||||
obj
|
||||
)
|
||||
|
||||
;; definition of type clamp-travel-vector-to-mesh-return-info
|
||||
(deftype clamp-travel-vector-to-mesh-return-info (structure)
|
||||
((found-boundary basic :offset-assert 0)
|
||||
(intersection vector :inline :offset-assert 16)
|
||||
@@ -356,7 +335,6 @@
|
||||
:flag-assert #x9000000a0
|
||||
)
|
||||
|
||||
;; definition for method 3 of type clamp-travel-vector-to-mesh-return-info
|
||||
(defmethod inspect clamp-travel-vector-to-mesh-return-info ((obj clamp-travel-vector-to-mesh-return-info))
|
||||
(when (not obj)
|
||||
(set! obj obj)
|
||||
@@ -380,32 +358,31 @@
|
||||
obj
|
||||
)
|
||||
|
||||
;; definition of type nav-mesh
|
||||
(deftype nav-mesh (basic)
|
||||
((work nav-mesh-work :offset-assert 4)
|
||||
(poly-array (inline-array nav-poly) :offset-assert 8)
|
||||
(static-sphere-count uint8 :offset-assert 12)
|
||||
(poly-count uint8 :offset-assert 13)
|
||||
(nav-control-count uint8 :offset-assert 14)
|
||||
(max-nav-control-count uint8 :offset-assert 15)
|
||||
(route uint32 :offset-assert 16)
|
||||
(poly-hash grid-hash :offset-assert 20)
|
||||
(nav-control-array (inline-array nav-control) :offset-assert 24)
|
||||
(sphere-hash sphere-hash :offset-assert 28)
|
||||
(static-sphere (inline-array sphere) :offset-assert 32)
|
||||
(user-list engine :offset-assert 36)
|
||||
(next-nav-mesh surface :offset-assert 40)
|
||||
(prev-nav-mesh surface :offset-assert 44)
|
||||
(bounds vector :inline :offset-assert 48)
|
||||
(origin vector :inline :offset 48)
|
||||
(entity entity :offset-assert 64)
|
||||
(link-array (array nav-mesh-link) :offset-assert 68)
|
||||
(link-count uint8 :offset-assert 72)
|
||||
(flags nav-mesh-flag :offset-assert 73)
|
||||
(pad1 uint8 2 :offset-assert 74)
|
||||
(nearest-y-threshold meters :offset-assert 76)
|
||||
(water-max-height meters :offset-assert 80)
|
||||
(pad2 uint32 7 :offset-assert 84)
|
||||
((work nav-mesh-work :offset-assert 4)
|
||||
(poly-array (inline-array nav-poly) :offset-assert 8)
|
||||
(static-sphere-count uint8 :offset-assert 12)
|
||||
(poly-count uint8 :offset-assert 13)
|
||||
(nav-control-count uint8 :offset-assert 14)
|
||||
(max-nav-control-count uint8 :offset-assert 15)
|
||||
(route (pointer nav-poly) :offset-assert 16)
|
||||
(poly-hash grid-hash :offset-assert 20)
|
||||
(nav-control-array (inline-array nav-control) :offset-assert 24)
|
||||
(sphere-hash sphere-hash :offset-assert 28)
|
||||
(static-sphere (inline-array sphere) :offset-assert 32)
|
||||
(user-list engine :offset-assert 36)
|
||||
(next-nav-mesh surface :offset-assert 40)
|
||||
(prev-nav-mesh surface :offset-assert 44)
|
||||
(bounds vector :inline :offset-assert 48)
|
||||
(origin vector :inline :offset 48)
|
||||
(entity entity :offset-assert 64)
|
||||
(link-array (inline-array nav-mesh-link) :offset-assert 68)
|
||||
(link-count uint8 :offset-assert 72)
|
||||
(flags nav-mesh-flag :offset-assert 73)
|
||||
(pad1 uint8 2 :offset-assert 74)
|
||||
(nearest-y-threshold meters :offset-assert 76)
|
||||
(water-max-height meters :offset-assert 80)
|
||||
(pad2 uint32 7 :offset-assert 84)
|
||||
)
|
||||
:method-count-assert 47
|
||||
:size-assert #x70
|
||||
@@ -415,23 +392,23 @@
|
||||
(nav-mesh-method-10 (_type_ vector vector nav-poly) nav-poly 10)
|
||||
(nav-mesh-method-11 (_type_ nav-poly vector) vector 11)
|
||||
(nav-mesh-method-12 (_type_ nav-poly vector) none 12)
|
||||
(nav-mesh-method-13 (_type_ symbol symbol) none 13)
|
||||
(get-route-portal (_type_ object object nav-find-poly-parms) none 14)
|
||||
(nav-mesh-method-13 (_type_ nav-poly nav-poly) nav-poly 13)
|
||||
(get-route-portal (_type_ nav-poly nav-poly nav-route-portal) (inline-array nav-vertex) 14)
|
||||
(initialize-mesh! (_type_) none 15)
|
||||
(move-along-nav-ray! (_type_ nav-ray) none 16)
|
||||
(try-move-along-ray (_type_ nav-poly vector vector float) meters 17)
|
||||
(nav-mesh-method-18 () none 18)
|
||||
(nav-mesh-method-19 () none 19)
|
||||
(nav-mesh-method-20 () none 20)
|
||||
(nav-mesh-method-21 () none 21)
|
||||
(nav-mesh-method-18 (_type_ vector nav-poly vector float symbol clamp-travel-vector-to-mesh-return-info) none 18)
|
||||
(nav-mesh-method-19 (_type_) none 19)
|
||||
(nav-mesh-method-20 (_type_ clamp-travel-vector-to-mesh-return-info) none 20)
|
||||
(find-adjacent-bounds-one (_type_ vector nav-poly int int) none 21)
|
||||
(nav-mesh-method-22 (_type_ vector vector) none 22)
|
||||
(nav-mesh-method-23 (_type_ entity-nav-mesh) none 23)
|
||||
(nav-mesh-method-24 (_type_) none 24)
|
||||
(nav-mesh-method-25 (_type_) none 25)
|
||||
(nav-mesh-method-26 (_type_) none 26)
|
||||
(new-nav-control (_type_ vector int) nav-control 27)
|
||||
(new-nav-control (_type_ process-drawable int) nav-control 27)
|
||||
(nav-mesh-method-28 (_type_ object) none 28)
|
||||
(nav-mesh-method-29 (_type_ object symbol) nav-control 29)
|
||||
(nav-mesh-method-29 (_type_ process-drawable symbol) nav-control 29)
|
||||
(nav-mesh-method-30 (_type_ process-drawable) none 30)
|
||||
(change-to (_type_ process-drawable) none 31)
|
||||
(nav-mesh-method-32 (_type_ uint32) none 32)
|
||||
@@ -444,7 +421,7 @@
|
||||
(closest-point-on-boundary (_type_ nav-poly vector vector) none 39)
|
||||
(nav-mesh-method-40 (_type_ nav-poly vector object vector) none 40)
|
||||
(project-point-into-poly-2d (_type_ nav-poly vector vector) none 41)
|
||||
(nav-mesh-method-42 (_type_ nav-find-poly-parms) symbol 42)
|
||||
(nav-mesh-method-42 (_type_ nav-find-poly-parms) nav-poly 42)
|
||||
(nav-mesh-method-43 (_type_ nav-find-poly-parms) none 43)
|
||||
(nav-mesh-method-44 (_type_ vector float float) symbol 44)
|
||||
(nav-mesh-method-45 (_type_ entity-perm) none 45)
|
||||
@@ -452,7 +429,6 @@
|
||||
)
|
||||
)
|
||||
|
||||
;; definition for method 3 of type nav-mesh
|
||||
(defmethod inspect nav-mesh ((obj nav-mesh))
|
||||
(when (not obj)
|
||||
(set! obj obj)
|
||||
@@ -493,7 +469,6 @@
|
||||
obj
|
||||
)
|
||||
|
||||
;; definition for function vector-normalize-unity!
|
||||
(defun vector-normalize-unity! ((arg0 vector))
|
||||
(rlet ((acc :class vf)
|
||||
(Q :class vf)
|
||||
@@ -526,8 +501,6 @@
|
||||
)
|
||||
)
|
||||
|
||||
;; definition for function vector-normalize-unity-copy!
|
||||
;; INFO: Used lq/sq
|
||||
(defun vector-normalize-unity-copy! ((arg0 vector) (arg1 vector))
|
||||
(rlet ((acc :class vf)
|
||||
(Q :class vf)
|
||||
@@ -561,13 +534,10 @@
|
||||
)
|
||||
)
|
||||
|
||||
;; definition (debug) for function debug-validate-current-poly
|
||||
(defun-debug debug-validate-current-poly ()
|
||||
#f
|
||||
)
|
||||
|
||||
;; definition for function init-ray
|
||||
;; WARN: Return type mismatch int vs none.
|
||||
(defun init-ray ((arg0 nav-ray))
|
||||
(rlet ((acc :class vf)
|
||||
(Q :class vf)
|
||||
@@ -611,7 +581,6 @@
|
||||
)
|
||||
)
|
||||
|
||||
;; definition for function point-poly-intersection?
|
||||
(defun point-poly-intersection? ((arg0 nav-mesh) (arg1 vector) (arg2 int) (arg3 (inline-array vector)))
|
||||
(let ((v1-1 (-> arg0 work vert0-table))
|
||||
(a0-2 (-> arg0 work vert1-table))
|
||||
@@ -634,12 +603,11 @@
|
||||
#t
|
||||
)
|
||||
|
||||
;; definition for method 37 of type nav-mesh
|
||||
(defmethod point-in-poly? nav-mesh ((obj nav-mesh) (arg0 nav-poly) (arg1 vector))
|
||||
(let* ((a3-0 obj)
|
||||
(v1-0 arg1)
|
||||
(a0-1 (-> arg0 vertex-count))
|
||||
(a1-1 (the-as (inline-array vector) (-> arg0 vertex0)))
|
||||
(a1-1 (-> arg0 vertex))
|
||||
(a2-2 (-> a3-0 work vert0-table))
|
||||
(a3-2 (-> a3-0 work vert1-table))
|
||||
)
|
||||
@@ -661,13 +629,6 @@
|
||||
#t
|
||||
)
|
||||
|
||||
;; definition for method 39 of type nav-mesh
|
||||
;; INFO: Used lq/sq
|
||||
;; WARN: Stack slot offset 56 signed mismatch
|
||||
;; WARN: Stack slot offset 56 signed mismatch
|
||||
;; WARN: Stack slot offset 56 signed mismatch
|
||||
;; WARN: Stack slot offset 56 signed mismatch
|
||||
;; WARN: Return type mismatch vector vs none.
|
||||
(defmethod closest-point-on-boundary nav-mesh ((obj nav-mesh) (arg0 nav-poly) (arg1 vector) (arg2 vector))
|
||||
(local-vars (sv-48 vector) (sv-52 vector) (sv-56 float))
|
||||
(set! sv-48 (new 'stack-no-clear 'vector))
|
||||
@@ -690,13 +651,6 @@
|
||||
(none)
|
||||
)
|
||||
|
||||
;; definition for method 41 of type nav-mesh
|
||||
;; INFO: Used lq/sq
|
||||
;; WARN: Stack slot offset 56 signed mismatch
|
||||
;; WARN: Stack slot offset 56 signed mismatch
|
||||
;; WARN: Stack slot offset 56 signed mismatch
|
||||
;; WARN: Stack slot offset 56 signed mismatch
|
||||
;; WARN: Return type mismatch vector vs none.
|
||||
(defmethod project-point-into-poly-2d nav-mesh ((obj nav-mesh) (arg0 nav-poly) (arg1 vector) (arg2 vector))
|
||||
(local-vars (sv-48 vector) (sv-52 vector) (sv-56 float))
|
||||
(cond
|
||||
@@ -728,57 +682,6 @@
|
||||
(none)
|
||||
)
|
||||
|
||||
;; definition for method 16 of type nav-mesh
|
||||
;; INFO: Used lq/sq
|
||||
;; WARN: Stack slot offset 44 signed mismatch
|
||||
;; WARN: Stack slot offset 48 signed mismatch
|
||||
;; WARN: Stack slot offset 44 signed mismatch
|
||||
;; WARN: Stack slot offset 48 signed mismatch
|
||||
;; WARN: Stack slot offset 44 signed mismatch
|
||||
;; WARN: Stack slot offset 60 signed mismatch
|
||||
;; WARN: Stack slot offset 48 signed mismatch
|
||||
;; WARN: Stack slot offset 64 signed mismatch
|
||||
;; WARN: Stack slot offset 60 signed mismatch
|
||||
;; WARN: Stack slot offset 64 signed mismatch
|
||||
;; WARN: Stack slot offset 44 signed mismatch
|
||||
;; WARN: Stack slot offset 48 signed mismatch
|
||||
;; WARN: Stack slot offset 44 signed mismatch
|
||||
;; WARN: Stack slot offset 48 signed mismatch
|
||||
;; WARN: Stack slot offset 44 signed mismatch
|
||||
;; WARN: Stack slot offset 48 signed mismatch
|
||||
;; WARN: Stack slot offset 44 signed mismatch
|
||||
;; WARN: Stack slot offset 60 signed mismatch
|
||||
;; WARN: Stack slot offset 48 signed mismatch
|
||||
;; WARN: Stack slot offset 64 signed mismatch
|
||||
;; WARN: Stack slot offset 60 signed mismatch
|
||||
;; WARN: Stack slot offset 64 signed mismatch
|
||||
;; WARN: Stack slot offset 44 signed mismatch
|
||||
;; WARN: Stack slot offset 48 signed mismatch
|
||||
;; WARN: Stack slot offset 44 signed mismatch
|
||||
;; WARN: Stack slot offset 48 signed mismatch
|
||||
;; WARN: Stack slot offset 44 signed mismatch
|
||||
;; WARN: Stack slot offset 48 signed mismatch
|
||||
;; WARN: Stack slot offset 44 signed mismatch
|
||||
;; WARN: Stack slot offset 60 signed mismatch
|
||||
;; WARN: Stack slot offset 48 signed mismatch
|
||||
;; WARN: Stack slot offset 64 signed mismatch
|
||||
;; WARN: Stack slot offset 60 signed mismatch
|
||||
;; WARN: Stack slot offset 64 signed mismatch
|
||||
;; WARN: Stack slot offset 44 signed mismatch
|
||||
;; WARN: Stack slot offset 48 signed mismatch
|
||||
;; WARN: Stack slot offset 44 signed mismatch
|
||||
;; WARN: Stack slot offset 48 signed mismatch
|
||||
;; WARN: Stack slot offset 44 signed mismatch
|
||||
;; WARN: Stack slot offset 48 signed mismatch
|
||||
;; WARN: Stack slot offset 44 signed mismatch
|
||||
;; WARN: Stack slot offset 60 signed mismatch
|
||||
;; WARN: Stack slot offset 48 signed mismatch
|
||||
;; WARN: Stack slot offset 64 signed mismatch
|
||||
;; WARN: Stack slot offset 60 signed mismatch
|
||||
;; WARN: Stack slot offset 64 signed mismatch
|
||||
;; WARN: Stack slot offset 44 signed mismatch
|
||||
;; WARN: Stack slot offset 48 signed mismatch
|
||||
;; WARN: Return type mismatch int vs none.
|
||||
(defmethod move-along-nav-ray! nav-mesh ((obj nav-mesh) (ray nav-ray))
|
||||
(local-vars
|
||||
(next-poly-idx int)
|
||||
@@ -842,7 +745,7 @@
|
||||
(+! (-> ray current-pos z) delta-z)
|
||||
(set! sv-68 (-> current-poly adj-poly next-poly-idx))
|
||||
(if (!= sv-68 255)
|
||||
(set! (-> ray next-poly) (the-as nav-poly (-> obj poly-array sv-68 vertex0)))
|
||||
(set! (-> ray next-poly) (-> obj poly-array sv-68))
|
||||
)
|
||||
(cond
|
||||
((and (-> ray next-poly) (zero? (logand (-> ray next-poly pat) (-> ray ignore))))
|
||||
@@ -863,8 +766,6 @@
|
||||
(none)
|
||||
)
|
||||
|
||||
;; definition (debug) for function nav-sphere-from-cam
|
||||
;; WARN: Return type mismatch int vs none.
|
||||
(defun-debug nav-sphere-from-cam ()
|
||||
(let ((v1-0 (camera-pos)))
|
||||
(format #t "SPHEREM(~4,,1M, ~4,,1M, ~4,,1M, 1.0)~%" (-> v1-0 x) (-> v1-0 y) (-> v1-0 z))
|
||||
|
||||
+9
-48
@@ -1,29 +1,21 @@
|
||||
;;-*-Lisp-*-
|
||||
(in-package goal)
|
||||
|
||||
;; definition for method 9 of type trajectory
|
||||
(defmethod compute-trans-at-time trajectory ((obj trajectory) (arg0 float) (arg1 vector))
|
||||
(vector+float*! arg1 (-> obj initial-position) (-> obj initial-velocity) arg0)
|
||||
(+! (-> arg1 y) (* 0.5 arg0 arg0 (-> obj gravity)))
|
||||
arg1
|
||||
)
|
||||
|
||||
;; definition for method 10 of type trajectory
|
||||
;; INFO: Used lq/sq
|
||||
(defmethod compute-transv-at-time trajectory ((obj trajectory) (arg0 float) (arg1 vector))
|
||||
(set! (-> arg1 quad) (-> obj initial-velocity quad))
|
||||
(+! (-> arg1 y) (* arg0 (-> obj gravity)))
|
||||
arg1
|
||||
)
|
||||
|
||||
;; definition for method 11 of type trajectory
|
||||
(defmethod compute-time-until-apex trajectory ((obj trajectory))
|
||||
(/ (- (-> obj initial-velocity y)) (-> obj gravity))
|
||||
)
|
||||
|
||||
;; definition for method 12 of type trajectory
|
||||
;; INFO: Used lq/sq
|
||||
;; WARN: Return type mismatch int vs none.
|
||||
(defmethod setup-from-to-duration! trajectory ((obj trajectory) (arg0 vector) (arg1 vector) (arg2 float) (arg3 float))
|
||||
(set! (-> obj initial-position quad) (-> arg0 quad))
|
||||
(set! (-> obj gravity) arg3)
|
||||
@@ -37,8 +29,6 @@
|
||||
(none)
|
||||
)
|
||||
|
||||
;; definition for method 13 of type trajectory
|
||||
;; WARN: Return type mismatch int vs none.
|
||||
(defmethod setup-from-to-xz-vel! trajectory ((obj trajectory) (arg0 vector) (arg1 vector) (arg2 float) (arg3 float))
|
||||
(let ((f0-1 (/ (vector-vector-xz-distance arg1 arg0) arg2)))
|
||||
(setup-from-to-duration! obj arg0 arg1 f0-1 arg3)
|
||||
@@ -47,8 +37,6 @@
|
||||
(none)
|
||||
)
|
||||
|
||||
;; definition for method 14 of type trajectory
|
||||
;; WARN: Return type mismatch int vs none.
|
||||
(defmethod setup-from-to-y-vel! trajectory ((obj trajectory) (arg0 vector) (arg1 vector) (arg2 float) (arg3 float))
|
||||
(let* ((f0-0 arg2)
|
||||
(f1-3 (- (* f0-0 f0-0) (* 2.0 (- (-> arg0 y) (-> arg1 y)) arg3)))
|
||||
@@ -65,8 +53,6 @@
|
||||
(none)
|
||||
)
|
||||
|
||||
;; definition for method 15 of type trajectory
|
||||
;; WARN: Return type mismatch int vs none.
|
||||
(defmethod setup-from-to-height! trajectory ((obj trajectory) (arg0 vector) (arg1 vector) (arg2 float) (arg3 float))
|
||||
(let* ((f0-1 (+ arg2 (fmax (-> arg0 y) (-> arg1 y))))
|
||||
(f1-4 (* 2.0 (- (-> arg0 y) f0-1) arg3))
|
||||
@@ -81,9 +67,6 @@
|
||||
(none)
|
||||
)
|
||||
|
||||
;; definition for method 16 of type trajectory
|
||||
;; WARN: Return type mismatch int vs none.
|
||||
;; WARN: Function (method 16 trajectory) has a return type of none, but the expression builder found a return statement.
|
||||
(defmethod setup-from-to-duration-and-height! trajectory ((obj trajectory) (arg0 vector) (arg1 vector) (arg2 float) (arg3 float))
|
||||
(let ((f0-1 (- (-> arg1 y) (-> arg0 y))))
|
||||
(cond
|
||||
@@ -116,9 +99,6 @@
|
||||
(none)
|
||||
)
|
||||
|
||||
;; definition for method 17 of type trajectory
|
||||
;; INFO: Used lq/sq
|
||||
;; WARN: Return type mismatch int vs none.
|
||||
(defmethod debug-draw trajectory ((obj trajectory))
|
||||
(let ((s5-0 (new 'stack-no-clear 'vector))
|
||||
(s4-0 (new 'stack-no-clear 'vector))
|
||||
@@ -145,8 +125,6 @@
|
||||
(none)
|
||||
)
|
||||
|
||||
;; definition for method 9 of type impact-control
|
||||
;; INFO: Used lq/sq
|
||||
(defmethod initialize impact-control ((obj impact-control) (arg0 process-drawable) (arg1 int) (arg2 float) (arg3 collide-spec))
|
||||
(set! (-> obj start-time) (-> self clock frame-counter))
|
||||
(set! (-> obj process) (the-as (pointer process-drawable) (process->ppointer arg0)))
|
||||
@@ -158,9 +136,6 @@
|
||||
obj
|
||||
)
|
||||
|
||||
;; definition for method 10 of type impact-control
|
||||
;; INFO: Used lq/sq
|
||||
;; WARN: Return type mismatch int vs none.
|
||||
(defmethod update-from-cspace impact-control ((obj impact-control))
|
||||
(when (>= (-> obj joint) 0)
|
||||
(set! (-> obj trans 1 quad) (-> obj trans 0 quad))
|
||||
@@ -171,8 +146,6 @@
|
||||
(none)
|
||||
)
|
||||
|
||||
;; definition for method 11 of type impact-control
|
||||
;; INFO: Used lq/sq
|
||||
(defmethod impact-control-method-11 impact-control ((obj impact-control) (arg0 collide-query) (arg1 process) (arg2 pat-surface))
|
||||
(set! (-> arg0 start-pos quad) (-> obj trans 1 quad))
|
||||
(set! (-> arg0 move-dist quad) (-> obj dir quad))
|
||||
@@ -220,16 +193,12 @@
|
||||
)
|
||||
)
|
||||
|
||||
;; definition for method 9 of type point-tracker
|
||||
;; INFO: Used lq/sq
|
||||
(defmethod initialize point-tracker ((obj point-tracker) (arg0 vector) (arg1 vector))
|
||||
(set! (-> obj trans 0 quad) (-> arg0 quad))
|
||||
(set! (-> obj trans 1 quad) (-> arg1 quad))
|
||||
obj
|
||||
)
|
||||
|
||||
;; definition for method 10 of type point-tracker
|
||||
;; INFO: Used lq/sq
|
||||
(defmethod point-tracker-method-10 point-tracker ((obj point-tracker) (arg0 vector) (arg1 vector) (arg2 vector) (arg3 float))
|
||||
(cond
|
||||
((>= 0.0 arg3)
|
||||
@@ -247,7 +216,6 @@
|
||||
arg0
|
||||
)
|
||||
|
||||
;; definition for method 11 of type point-tracker
|
||||
(defmethod point-tracker-method-11 point-tracker ((obj point-tracker) (arg0 vector) (arg1 vector) (arg2 vector) (arg3 float))
|
||||
(with-pp
|
||||
(let ((v1-1 (point-tracker-method-10 obj (new 'stack-no-clear 'vector) arg1 arg2 arg3)))
|
||||
@@ -258,7 +226,6 @@
|
||||
)
|
||||
)
|
||||
|
||||
;; definition for method 13 of type combo-tracker
|
||||
(defmethod combo-tracker-method-13 combo-tracker ((obj combo-tracker) (arg0 handle) (arg1 vector) (arg2 float) (arg3 vector) (arg4 float))
|
||||
(cond
|
||||
((send-event (handle->process arg0) 'combo)
|
||||
@@ -310,7 +277,6 @@
|
||||
)
|
||||
)
|
||||
|
||||
;; definition for method 12 of type combo-tracker
|
||||
(defmethod combo-tracker-method-12 combo-tracker ((obj combo-tracker) (arg0 vector) (arg1 vector) (arg2 process) (arg3 time-frame))
|
||||
(initialize obj arg0 arg1)
|
||||
(set! (-> obj target) (process->handle arg2))
|
||||
@@ -318,8 +284,6 @@
|
||||
obj
|
||||
)
|
||||
|
||||
;; definition for method 11 of type combo-tracker
|
||||
;; INFO: Used lq/sq
|
||||
(defmethod point-tracker-method-11 combo-tracker ((obj combo-tracker) (arg0 vector) (arg1 vector) (arg2 vector) (arg3 float))
|
||||
(local-vars (at-0 int))
|
||||
(with-pp
|
||||
@@ -344,7 +308,15 @@
|
||||
(when s4-1
|
||||
(let ((a2-3 ((method-of-type nav-control nav-control-method-11) (the-as nav-control s4-1) arg1)))
|
||||
(if a2-3
|
||||
((method-of-type nav-control nav-control-method-20) (the-as nav-control s4-1) arg1 a2-3 arg0 #x45000000 #f #f)
|
||||
((method-of-type nav-control nav-control-method-20)
|
||||
(the-as nav-control s4-1)
|
||||
arg1
|
||||
(the-as nav-poly a2-3)
|
||||
arg0
|
||||
2048.0
|
||||
#f
|
||||
#f
|
||||
)
|
||||
(set! (-> arg0 quad) (the-as uint128 0))
|
||||
)
|
||||
)
|
||||
@@ -366,7 +338,6 @@
|
||||
)
|
||||
)
|
||||
|
||||
;; definition for function traj2d-calc-initial-speed-using-tilt
|
||||
(defun traj2d-calc-initial-speed-using-tilt ((arg0 traj2d-params))
|
||||
(let ((f0-4 (* (- (* (-> arg0 x) (tan (-> arg0 initial-tilt))) (-> arg0 y)) (/ 2.0 (-> arg0 gravity)))))
|
||||
(cond
|
||||
@@ -384,7 +355,6 @@
|
||||
)
|
||||
)
|
||||
|
||||
;; definition for function traj3d-calc-initial-velocity-using-tilt
|
||||
(defun traj3d-calc-initial-velocity-using-tilt ((arg0 traj3d-params))
|
||||
(vector-! (-> arg0 diff) (-> arg0 dest) (-> arg0 src))
|
||||
(let ((s5-0 (new 'stack-no-clear 'traj2d-params)))
|
||||
@@ -420,9 +390,6 @@
|
||||
)
|
||||
)
|
||||
|
||||
;; definition for method 9 of type cubic-curve
|
||||
;; INFO: Used lq/sq
|
||||
;; WARN: Return type mismatch int vs none.
|
||||
(defmethod cubic-curve-method-9 cubic-curve ((obj cubic-curve) (arg0 vector) (arg1 vector) (arg2 vector) (arg3 vector))
|
||||
(rlet ((acc :class vf)
|
||||
(vf0 :class vf)
|
||||
@@ -467,7 +434,6 @@
|
||||
)
|
||||
)
|
||||
|
||||
;; definition for method 10 of type cubic-curve
|
||||
(defmethod cubic-curve-method-10 cubic-curve ((obj cubic-curve) (arg0 vector) (arg1 float))
|
||||
(let ((v1-0 (new 'stack-no-clear 'trajectory)))
|
||||
(let ((f0-1 (* arg1 arg1)))
|
||||
@@ -479,7 +445,6 @@
|
||||
arg0
|
||||
)
|
||||
|
||||
;; definition for method 11 of type cubic-curve
|
||||
(defmethod cubic-curve-method-11 cubic-curve ((obj cubic-curve) (arg0 vector) (arg1 float))
|
||||
(let ((v1-0 (new 'stack-no-clear 'trajectory)))
|
||||
(set-vector! (-> v1-0 initial-position) 0.0 1.0 (* 2.0 arg1) (* 3.0 arg1 arg1))
|
||||
@@ -489,7 +454,6 @@
|
||||
arg0
|
||||
)
|
||||
|
||||
;; definition for method 12 of type cubic-curve
|
||||
(defmethod cubic-curve-method-12 cubic-curve ((obj cubic-curve) (arg0 vector) (arg1 float))
|
||||
(let ((v1-0 (new 'stack-no-clear 'trajectory)))
|
||||
(set-vector! (-> v1-0 initial-position) 0.0 0.0 2.0 (* 6.0 arg1))
|
||||
@@ -499,9 +463,6 @@
|
||||
arg0
|
||||
)
|
||||
|
||||
;; definition for method 13 of type cubic-curve
|
||||
;; INFO: Used lq/sq
|
||||
;; WARN: Return type mismatch int vs none.
|
||||
(defmethod debug-draw-curve cubic-curve ((obj cubic-curve))
|
||||
(let ((s5-0 (new 'stack-no-clear 'trajectory))
|
||||
(s4-0 10)
|
||||
|
||||
+2
-17
@@ -1,7 +1,5 @@
|
||||
;;-*-Lisp-*-
|
||||
(in-package goal)
|
||||
|
||||
;; definition of type grid-hash-word
|
||||
(deftype grid-hash-word (uint8)
|
||||
()
|
||||
:method-count-assert 9
|
||||
@@ -9,7 +7,6 @@
|
||||
:flag-assert #x900000001
|
||||
)
|
||||
|
||||
;; definition of type grid-hash-box
|
||||
(deftype grid-hash-box (structure)
|
||||
((min uint8 3 :offset-assert 0)
|
||||
(max uint8 3 :offset-assert 3)
|
||||
@@ -20,7 +17,6 @@
|
||||
:flag-assert #x900000006
|
||||
)
|
||||
|
||||
;; definition for method 3 of type grid-hash-box
|
||||
(defmethod inspect grid-hash-box ((obj grid-hash-box))
|
||||
(when (not obj)
|
||||
(set! obj obj)
|
||||
@@ -33,7 +29,6 @@
|
||||
obj
|
||||
)
|
||||
|
||||
;; definition of type grid-hash
|
||||
(deftype grid-hash (basic)
|
||||
((work basic :offset-assert 4)
|
||||
(search-box grid-hash-box :inline :offset-assert 8)
|
||||
@@ -60,8 +55,8 @@
|
||||
(grid-hash-method-9 () none 9)
|
||||
(grid-hash-method-10 () none 10)
|
||||
(grid-hash-method-11 () none 11)
|
||||
(grid-hash-method-12 () none 12)
|
||||
(grid-hash-method-13 () none 13)
|
||||
(grid-hash-method-12 (_type_ vector) grid-hash-box 12)
|
||||
(grid-hash-method-13 (_type_ vector float) grid-hash-box 13)
|
||||
(grid-hash-method-14 () none 14)
|
||||
(grid-hash-method-15 () none 15)
|
||||
(grid-hash-method-16 () none 16)
|
||||
@@ -76,7 +71,6 @@
|
||||
)
|
||||
)
|
||||
|
||||
;; definition for method 3 of type grid-hash
|
||||
(defmethod inspect grid-hash ((obj grid-hash))
|
||||
(when (not obj)
|
||||
(set! obj obj)
|
||||
@@ -104,7 +98,6 @@
|
||||
obj
|
||||
)
|
||||
|
||||
;; definition of type find-nav-sphere-ids-params
|
||||
(deftype find-nav-sphere-ids-params (structure)
|
||||
((bsphere sphere :inline :offset-assert 0)
|
||||
(y-threshold float :offset-assert 16)
|
||||
@@ -118,7 +111,6 @@
|
||||
:flag-assert #x900000020
|
||||
)
|
||||
|
||||
;; definition for method 3 of type find-nav-sphere-ids-params
|
||||
(defmethod inspect find-nav-sphere-ids-params ((obj find-nav-sphere-ids-params))
|
||||
(when (not obj)
|
||||
(set! obj obj)
|
||||
@@ -135,7 +127,6 @@
|
||||
obj
|
||||
)
|
||||
|
||||
;; definition of type sphere-hash
|
||||
(deftype sphere-hash (grid-hash)
|
||||
((sphere-array (inline-array sphere) :offset-assert 88)
|
||||
(max-object-count int16 :offset-assert 92)
|
||||
@@ -159,7 +150,6 @@
|
||||
)
|
||||
)
|
||||
|
||||
;; definition for method 3 of type sphere-hash
|
||||
(defmethod inspect sphere-hash ((obj sphere-hash))
|
||||
(when (not obj)
|
||||
(set! obj obj)
|
||||
@@ -192,7 +182,6 @@
|
||||
obj
|
||||
)
|
||||
|
||||
;; definition of type hash-object-info
|
||||
(deftype hash-object-info (structure)
|
||||
((object basic :offset-assert 0)
|
||||
)
|
||||
@@ -201,7 +190,6 @@
|
||||
:flag-assert #x900000004
|
||||
)
|
||||
|
||||
;; definition for method 3 of type hash-object-info
|
||||
(defmethod inspect hash-object-info ((obj hash-object-info))
|
||||
(when (not obj)
|
||||
(set! obj obj)
|
||||
@@ -213,7 +201,6 @@
|
||||
obj
|
||||
)
|
||||
|
||||
;; definition of type spatial-hash
|
||||
(deftype spatial-hash (sphere-hash)
|
||||
((object-array uint32 :offset-assert 104)
|
||||
(mem-object-array uint32 :offset-assert 108)
|
||||
@@ -233,7 +220,6 @@
|
||||
)
|
||||
)
|
||||
|
||||
;; definition for method 3 of type spatial-hash
|
||||
(defmethod inspect spatial-hash ((obj spatial-hash))
|
||||
(when (not obj)
|
||||
(set! obj obj)
|
||||
@@ -269,5 +255,4 @@
|
||||
obj
|
||||
)
|
||||
|
||||
;; failed to figure out what this is:
|
||||
0
|
||||
|
||||
@@ -471,6 +471,7 @@ int main(int argc, char* argv[]) {
|
||||
int max_files = -1;
|
||||
std::string single_file = "";
|
||||
uint32_t num_threads = 1;
|
||||
bool fail_on_cmp = false;
|
||||
|
||||
CLI::App app{"OpenGOAL - Offline Reference Test Runner"};
|
||||
app.add_option("--iso_data_path", iso_data_path, "The path to the folder with the ISO data files")
|
||||
@@ -487,6 +488,8 @@ int main(int argc, char* argv[]) {
|
||||
app.add_option("-f,--file", single_file,
|
||||
"Limit the offline test routine to a single file to decompile/compile -- useful "
|
||||
"when you are just iterating on a single file");
|
||||
app.add_flag("--fail-on-cmp", fail_on_cmp,
|
||||
"Fail the tests immediately if the comparison fails");
|
||||
app.validate_positionals();
|
||||
CLI11_PARSE(app, argc, argv);
|
||||
|
||||
@@ -550,8 +553,13 @@ int main(int argc, char* argv[]) {
|
||||
result.compare = compare(decompiler, work_group, dump_current_output);
|
||||
if (!result.compare.total_pass) {
|
||||
result.exit_code = 1;
|
||||
if (fail_on_cmp) {
|
||||
return result;
|
||||
}
|
||||
}
|
||||
|
||||
// TODO - if anything has failed, skip compiling
|
||||
|
||||
Timer compile_timer;
|
||||
result.compile = compile(decompiler, work_group, config.value(), game_name);
|
||||
result.time_spent_compiling = compile_timer.getSeconds();
|
||||
|
||||
Reference in New Issue
Block a user