[decompiler] ASM Branching Support (#677)

* basic example working in geometry

* before updating offline'

* clean up

* temp

* progress
This commit is contained in:
water111
2021-07-05 16:07:07 -04:00
committed by GitHub
parent 54c63ff42c
commit 551a9c4955
42 changed files with 4161 additions and 272 deletions
+4 -4
View File
@@ -1304,7 +1304,7 @@
)
)
(defun-debug add-debug-curve ((arg0 symbol) (arg1 bucket-id) (arg2 pointer) (arg3 int) (arg4 vector) (arg5 int) (arg6 rgba))
(defun-debug add-debug-curve ((arg0 symbol) (arg1 bucket-id) (arg2 pointer) (arg3 int) (arg4 (inline-array vector)) (arg5 int) (arg6 rgba))
(local-vars (sv-48 vector) (sv-64 int) (sv-80 int))
(if (not arg0)
(return #f)
@@ -1313,14 +1313,14 @@
(set! sv-48 (new 'stack-no-clear 'vector))
(set! (-> sv-48 quad) (the-as uint128 0))
(set! sv-64 (* arg3 4))
(curve-evaluate! sv-48 (-> arg4 x) (the-as int arg2) arg3 arg4 arg5)
(curve-evaluate! sv-48 (-> arg4 0 x) arg2 arg3 arg4 arg5)
(set! sv-80 0)
(while (< sv-80 sv-64)
(set! (-> s0-0 quad) (-> sv-48 quad))
(curve-evaluate!
sv-48
(/ (the float (+ sv-80 1)) (the float sv-64))
(the-as int arg2)
arg2
arg3
arg4
arg5
@@ -1339,7 +1339,7 @@
arg1
(-> arg2 cverts)
(-> arg2 num-cverts)
(the-as vector (-> arg2 knots))
(-> arg2 knots)
(-> arg2 num-knots)
arg3
)