[decompiler] fix bad cast and crash on bad and/or recognition (#626)

* fix small bugs

* fix missing inlining of derefs
This commit is contained in:
water111
2021-06-25 20:13:22 -04:00
committed by GitHub
parent bfc1173ed5
commit 409be41596
7 changed files with 30 additions and 19 deletions
@@ -115,11 +115,11 @@
)
(when (>= s4-0 0)
(let ((s3-0 s4-0)
(s2-0 (-> (-> (the-as res-lump s5-1) tag) s4-0))
(s2-0 (-> (the-as res-lump s5-1) tag s4-0))
)
(let ((v1-10 0))
)
(while (= (-> s2-0 name) (-> (-> (the-as res-lump s5-1) tag) s4-0 name))
(while (= (-> s2-0 name) (-> (the-as res-lump s5-1) tag s4-0 name))
(let
((v1-12
(make-property-data
@@ -145,7 +145,7 @@
(+ (-> (the-as vol-control gp-0) pos-vol-count) 1)
)
(+! s3-0 1)
(set! s2-0 (-> (-> (the-as res-lump s5-1) tag) s3-0))
(set! s2-0 (-> (the-as res-lump s5-1) tag s3-0))
)
)
)
@@ -165,11 +165,11 @@
)
(when (>= s4-1 0)
(let ((s3-1 s4-1)
(s2-1 (-> (-> (the-as res-lump s5-2) tag) s4-1))
(s2-1 (-> (the-as res-lump s5-2) tag s4-1))
)
(let ((v1-29 0))
)
(while (= (-> s2-1 name) (-> (-> (the-as res-lump s5-2) tag) s4-1 name))
(while (= (-> s2-1 name) (-> (the-as res-lump s5-2) tag s4-1 name))
(let
((v1-31
(make-property-data
@@ -195,7 +195,7 @@
(+ (-> (the-as vol-control gp-0) neg-vol-count) 1)
)
(+! s3-1 1)
(set! s2-1 (-> (-> (the-as res-lump s5-2) tag) s3-1))
(set! s2-1 (-> (the-as res-lump s5-2) tag s3-1))
)
)
)
@@ -88,7 +88,7 @@
)
)
(set! (-> obj process) proc)
(set! (-> obj joint) (-> (-> proc node-list) data joint-idx))
(set! (-> obj joint) (-> proc node-list data joint-idx))
(set-mode! obj mode)
(let ((twist-max (-> obj twist-max)))
(set! (-> twist-max x) 8192.0)
@@ -398,7 +398,7 @@
)
(set!
sv-52
(vector-normalize! (-> (-> csp bone) transform vector (-> gp-0 nose)) 1.0)
(vector-normalize! (-> csp bone transform vector (-> gp-0 nose)) 1.0)
)
(let ((t9-3 vector-normalize!)
(a0-5 (new 'stack-no-clear 'vector))
@@ -974,7 +974,7 @@
(set! (-> v1-2 z) 0.0)
(set! (-> v1-2 w) 1.0)
)
(let ((v1-5 (-> (-> arg0 node-list) data arg1)))
(let ((v1-5 (-> arg0 node-list data arg1)))
(set! (-> v1-5 param0) joint-mod-wheel-callback)
(set! (-> v1-5 param1) v0-0)
)
@@ -1059,7 +1059,7 @@
(set! (-> v0-0 transform trans quad) (-> *null-vector* quad))
(set! (-> v0-0 transform rot quad) (-> *null-vector* quad))
(set! (-> v0-0 transform scale quad) (-> *identity-vector* quad))
(let ((v1-8 (-> (-> arg0 node-list) data arg1)))
(let ((v1-8 (-> arg0 node-list data arg1)))
(set! (-> v1-8 param0) joint-mod-set-local-callback)
(set! (-> v1-8 param1) v0-0)
)
@@ -1122,7 +1122,7 @@
(set! (-> v0-0 transform trans quad) (-> *null-vector* quad))
(set! (-> v0-0 transform rot quad) (-> *null-vector* quad))
(set! (-> v0-0 transform scale quad) (-> *identity-vector* quad))
(let ((v1-7 (-> (-> arg0 node-list) data arg1)))
(let ((v1-7 (-> arg0 node-list data arg1)))
(set! (-> v1-7 param0) joint-mod-set-world-callback)
(set! (-> v1-7 param1) v0-0)
)
@@ -1216,7 +1216,7 @@
(set! (-> v0-0 transform trans quad) (-> *null-vector* quad))
(set! (-> v0-0 transform rot quad) (-> *null-vector* quad))
(set! (-> v0-0 transform scale quad) (-> *identity-vector* quad))
(let ((v1-7 (-> (-> arg0 node-list) data arg1)))
(let ((v1-7 (-> arg0 node-list data arg1)))
(set! (-> v1-7 param0) joint-mod-blend-local-callback)
(set! (-> v1-7 param1) v0-0)
)
@@ -1301,7 +1301,7 @@
(set! (-> v0-0 spin-rate) arg3)
(set! (-> v0-0 enable) #t)
(set! (-> v0-0 angle) 0.0)
(let ((v1-6 (-> (-> arg0 node-list) data arg1)))
(let ((v1-6 (-> arg0 node-list data arg1)))
(set! (-> v1-6 param0) joint-mod-spinner-callback)
(set! (-> v1-6 param1) v0-0)
)
@@ -2836,7 +2836,7 @@ TEST_F(FormRegressionTest, Method19ResTag) {
" (->\n"
" (the-as\n"
" (pointer uint64)\n"
" (-> (symbol->string (-> (-> arg0 tag) t5-2 name)) data)\n"
" (-> (symbol->string (-> arg0 tag t5-2 name)) data)\n"
" )\n"
" 0\n"
" )\n"
@@ -2873,7 +2873,7 @@ TEST_F(FormRegressionTest, Method19ResTag) {
" (->\n"
" (the-as\n"
" (pointer uint64)\n"
" (-> (symbol->string (-> (-> arg0 tag) (+ t4-1 -1) name)) data)\n"
" (-> (symbol->string (-> arg0 tag (+ t4-1 -1) name)) data)\n"
" )\n"
" 0\n"
" )\n"