d/jak2: largely finish nav-enemy, blocked by goalc

This commit is contained in:
Tyler Wilding
2022-10-21 20:58:28 -04:00
parent d1f99aa239
commit 0efc9999f4
17 changed files with 356 additions and 464 deletions
+2 -2
View File
@@ -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
View File
@@ -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
+71 -75
View 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)"]
]
}
+1
View File
@@ -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]
+25 -1
View File
@@ -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"
]
]
}
}
+27 -1
View File
@@ -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
View File
@@ -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
View File
@@ -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
View File
@@ -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
View File
@@ -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
View File
@@ -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
View File
@@ -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
View File
@@ -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
View File
@@ -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
View File
@@ -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
+8
View File
@@ -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();