decomp: ocean-near and ocean-vu0 (#1177)

This commit is contained in:
Hat Kid
2022-02-17 01:26:05 +01:00
committed by GitHub
parent c9fc4f0bf9
commit 78e5fc0deb
6 changed files with 122 additions and 12 deletions
+12 -12
View File
@@ -21718,8 +21718,8 @@
;; - Unknowns
;;(define-extern *ocean-vu0-work* object) ;; unknown type
;;(define-extern ocean-vu0-block object) ;; unknown type
(define-extern *ocean-vu0-work* ocean-vu0-work) ;; unknown type
(define-extern ocean-vu0-block vu-function) ;; unknown type
;; ----------------------
@@ -21769,13 +21769,13 @@
(define-extern ocean-mid-camera-masks-set! function)
(define-extern ocean-mid-add-matrices (function dma-buffer none)) ;; not verified
(define-extern ocean-mid-check function)
(define-extern ocean-matrix*! function)
(define-extern ocean-matrix*! (function matrix matrix matrix matrix))
(define-extern ocean-mid-setup-constants function)
(define-extern ocean-vector-matrix*! function)
;; - Unknowns
;;(define-extern ocean-mid-block object) ;; unknown type
(define-extern ocean-mid-block vu-function) ;; unknown type
;; ----------------------
@@ -21806,17 +21806,17 @@
;; - Functions
(define-extern ocean-near-add-constants function)
(define-extern ocean-near-add-heights function)
(define-extern ocean-near-add-call function)
(define-extern ocean-near-add-upload function)
(define-extern ocean-near-add-matrices function)
(define-extern ocean-near-setup-constants function)
(define-extern ocean-near-add-call-flush function)
(define-extern ocean-near-add-constants (function dma-buffer none))
(define-extern ocean-near-add-heights (function dma-buffer ocean-wave-info))
(define-extern ocean-near-add-call (function dma-buffer int none))
(define-extern ocean-near-add-upload (function dma-buffer float float ocean-near-upload))
(define-extern ocean-near-add-matrices (function dma-buffer matrix none))
(define-extern ocean-near-setup-constants (function (inline-array vector) vector))
(define-extern ocean-near-add-call-flush (function dma-buffer int none))
;; - Unknowns
;;(define-extern ocean-near-block object) ;; unknown type
(define-extern ocean-near-block vu-function) ;; unknown type
;; ----------------------
@@ -2072,6 +2072,21 @@
"snow-bunny": [["L190", "attack-info"]],
"ocean-vu0": [
["L8", "vu-function"],
["L9", "ocean-vu0-work"]
],
"ocean-near": [
["L35", "vu-function"],
["L37", "float", true],
["L44", "float", true]
],
"ocean-mid": [
["L150", "vu-function"]
],
// please do not add things after this entry! git is dumb.
"object-file-that-doesnt-actually-exist-and-i-just-put-this-here-to-prevent-merge-conflicts-with-this-file": []
}
@@ -5472,5 +5472,9 @@
[48, "eye"]
],
"ocean-near-add-matrices": [
[16, "matrix"]
],
"placeholder-do-not-add-below!": []
}
@@ -7250,5 +7250,55 @@
// [[128, 134], "v1", "(pointer int64)"]
],
"ocean-near-add-call": [
[3, "a0", "dma-packet"],
[8, "a0", "dma-packet"],
[10, "a0", "dma-packet"]
],
"ocean-near-add-call-flush": [
[3, "a0", "dma-packet"],
[8, "a0", "dma-packet"],
[10, "a0", "dma-packet"]
],
"ocean-near-add-matrices": [
[7, "a0", "dma-packet"],
[12, "a0", "dma-packet"],
[14, "a0", "dma-packet"],
[19, "a0", "dma-packet"],
[20, "a0", "vector"],
[22, "s4", "matrix"],
[23, "s4", "matrix"],
[47, "v1", "matrix"]
],
"ocean-near-add-constants": [
[3, "a0", "dma-packet"]
],
"draw-ocean-near": [
[2, "a0", "dma-packet"],
[4, "a0", "dma-packet"],
[5, "a0", "dma-packet"],
[7, "a0", "dma-packet"],
[8, "a0", "dma-packet"],
[11, "a0", "dma-packet"],
[14, "a0", "dma-packet"],
[16, "a0", "dma-packet"],
[17, "a0", "dma-packet"],
[18, "a0", "dma-packet"],
[20, "a0", "dma-packet"],
[22, "a0", "dma-packet"],
[24, "a0", "dma-packet"],
[25, "a0", "dma-packet"],
[26, "a0", "dma-packet"],
[35, "a0", "dma-packet"],
[37, "a0", "dma-packet"],
[39, "a0", "dma-packet"],
[40, "a0", "dma-packet"],
[41, "a0", "dma-packet"]
],
"placeholder-do-not-add-below": []
}
+15
View File
@@ -5,3 +5,18 @@
;; name in dgo: ocean-vu0
;; dgos: GAME, ENGINE
(define *ocean-vu0-work* (new 'static 'ocean-vu0-work
:scales
(new 'static 'vector :x -0.00006975447 :y 255.0 :z -0.00006975447)
:mask-hi
(new 'static 'vector4w :x -65536 :y -65536 :z -65536 :w -65536)
:mask-lo
(new 'static 'vector4w :x #xffff :y #xffff :z #xffff :w #xffff)
)
)
;; (def-mips2c ocean-interp-wave (function ocean-wave-info uint none)) ;; TODO mips2c
(define ocean-vu0-block (new 'static 'vu-function :length #x0 :qlength #x0))
;; (def-mips2c ocean-generate-verts (function (pointer vector) ocean-wave-info none)) ;; TODO mips2c
+26
View File
@@ -0,0 +1,26 @@
;;-*-Lisp-*-
(in-package goal)
;; definition for symbol *ocean-vu0-work*, type ocean-vu0-work
(define *ocean-vu0-work* (new 'static 'ocean-vu0-work
:scales
(new 'static 'vector :x -0.00006975447 :y 255.0 :z -0.00006975447)
:mask-hi
(new 'static 'vector4w :x -65536 :y -65536 :z -65536 :w -65536)
:mask-lo
(new 'static 'vector4w :x #xffff :y #xffff :z #xffff :w #xffff)
)
)
;; definition for function ocean-interp-wave
;; ERROR: function was not converted to expressions. Cannot decompile.
;; definition for symbol ocean-vu0-block, type vu-function
(define ocean-vu0-block (new 'static 'vu-function :length 72 :qlength 36))
;; definition for function ocean-generate-verts
;; ERROR: function was not converted to expressions. Cannot decompile.