diff --git a/test/decompiler/reference/engine/dma/dma-bucket_REF.gc b/test/decompiler/reference/engine/dma/dma-bucket_REF.gc index bcc9d81a56..ab976d0527 100644 --- a/test/decompiler/reference/engine/dma/dma-bucket_REF.gc +++ b/test/decompiler/reference/engine/dma/dma-bucket_REF.gc @@ -2,26 +2,28 @@ (in-package goal) ;; definition for function dma-buffer-add-buckets -;; INFO: Return type mismatch pointer vs none. +;; INFO: Return type mismatch pointer vs dma-bucket. (defun dma-buffer-add-buckets ((dma-buf dma-buffer) (count int)) - (let ((current-bucket (the-as dma-bucket (-> dma-buf base)))) - (dotimes (i count) - (set! - (-> current-bucket tag) - (new 'static 'dma-tag - :id (dma-tag-id next) - :addr (the-as int (&+ (the-as pointer current-bucket) 16)) + (let ((v0-0 (-> dma-buf base))) + (let ((current-bucket (the-as dma-bucket v0-0))) + (dotimes (i count) + (set! + (-> current-bucket tag) + (new 'static 'dma-tag + :id (dma-tag-id next) + :addr (the-as int (&+ (the-as pointer current-bucket) 16)) + ) + ) + (set! (-> current-bucket last) (the-as (pointer dma-tag) current-bucket)) + (set! + current-bucket + (the-as dma-bucket (&+ (the-as pointer current-bucket) 16)) ) ) - (set! (-> current-bucket last) (the-as (pointer dma-tag) current-bucket)) - (set! - current-bucket - (the-as dma-bucket (&+ (the-as pointer current-bucket) 16)) - ) + (set! (-> dma-buf base) (the-as pointer current-bucket)) ) - (set! (-> dma-buf base) (the-as pointer current-bucket)) + (the-as dma-bucket v0-0) ) - (none) ) ;; definition for function dma-buffer-patch-buckets diff --git a/test/decompiler/reference/engine/gfx/font-h_REF.gc b/test/decompiler/reference/engine/gfx/font-h_REF.gc index 1956e0b5af..c11b5c388c 100644 --- a/test/decompiler/reference/engine/gfx/font-h_REF.gc +++ b/test/decompiler/reference/engine/gfx/font-h_REF.gc @@ -53,16 +53,19 @@ ;; definition of type font-context (deftype font-context (basic) - ((origin vector :inline :offset-assert 16) - (strip-gif vector :inline :offset-assert 32) - (width float :offset-assert 48) - (height float :offset-assert 52) - (projection float :offset-assert 56) - (color int64 :offset-assert 64) - (flags uint32 :offset-assert 72) - (mat matrix :offset-assert 76) - (start-line uint32 :offset-assert 80) - (scale float :offset-assert 84) + ((origin vector :inline :offset-assert 16) + (strip-gif vector :inline :offset-assert 32) + (width float :offset-assert 48) + (height float :offset-assert 52) + (projection float :offset-assert 56) + (context-vec vector :inline :offset 48) + (color int64 :offset-assert 64) + (color-s32 int32 :offset 64) + (flags uint32 :offset-assert 72) + (flags-signed int32 :offset 72) + (mat matrix :offset-assert 76) + (start-line uint32 :offset-assert 80) + (scale float :offset-assert 84) ) :method-count-assert 20 :size-assert #x58 @@ -227,36 +230,44 @@ ;; definition of type font-work (deftype font-work (structure) - ((font-tmpl dma-gif-packet :inline :offset-assert 0) - (char-tmpl dma-gif-packet :inline :offset-assert 32) - (tex1-tmpl uint64 2 :offset-assert 64) - (small-font-lo-tmpl uint64 2 :offset-assert 80) - (small-font-hi-tmpl uint64 2 :offset-assert 96) - (large-font-lo-tmpl uint64 2 :offset-assert 112) - (large-font-hi-tmpl uint64 2 :offset-assert 128) - (size1-small vector :inline :offset-assert 144) - (size2-small vector :inline :offset-assert 160) - (size3-small vector :inline :offset-assert 176) - (size1-large vector :inline :offset-assert 192) - (size2-large vector :inline :offset-assert 208) - (size3-large vector :inline :offset-assert 224) - (size-st1 vector :inline :offset-assert 240) - (size-st2 vector :inline :offset-assert 256) - (size-st3 vector :inline :offset-assert 272) - (save vector :inline :offset-assert 288) - (save-color vector 4 :inline :offset-assert 304) - (current-verts char-verts :inline :offset-assert 368) - (src-verts char-verts :inline :offset-assert 560) - (dest-verts char-verts :inline :offset-assert 752) - (justify vector 64 :inline :offset-assert 944) - (color-shadow vector4w :inline :offset-assert 1968) - (color-table char-color 64 :inline :offset-assert 1984) - (last-color uint64 :offset-assert 3008) - (save-last-color uint64 :offset-assert 3016) - (buf basic :offset-assert 3024) - (str-ptr uint32 :offset-assert 3028) - (flags uint32 :offset-assert 3032) - (reg-save uint32 5 :offset-assert 3036) + ((font-tmpl dma-gif-packet :inline :offset-assert 0) + (char-tmpl dma-gif-packet :inline :offset-assert 32) + (tex1-tmpl uint64 2 :offset-assert 64) + (small-font-lo-tmpl uint64 2 :offset-assert 80) + (small-font-lo-tmpl-qw uint128 :offset 80) + (small-font-hi-tmpl uint64 2 :offset-assert 96) + (small-font-hi-tmpl-qw uint128 :offset 96) + (large-font-lo-tmpl uint64 2 :offset-assert 112) + (large-font-lo-tmpl-qw uint128 :offset 112) + (large-font-hi-tmpl uint64 2 :offset-assert 128) + (large-font-hi-tmpl-qw uint128 :offset 128) + (size1-small vector :inline :offset-assert 144) + (size2-small vector :inline :offset-assert 160) + (size3-small vector :inline :offset-assert 176) + (size1-large vector :inline :offset-assert 192) + (size2-large vector :inline :offset-assert 208) + (size3-large vector :inline :offset-assert 224) + (size-st1 vector :inline :offset-assert 240) + (size-st2 vector :inline :offset-assert 256) + (size-st3 vector :inline :offset-assert 272) + (save vector :inline :offset-assert 288) + (save-color vector 4 :inline :offset-assert 304) + (current-verts char-verts :inline :offset-assert 368) + (src-verts char-verts :inline :offset-assert 560) + (dest-verts char-verts :inline :offset-assert 752) + (justify vector 64 :inline :offset-assert 944) + (color-shadow vector4w :inline :offset-assert 1968) + (color-table char-color 64 :inline :offset-assert 1984) + (last-color uint64 :offset-assert 3008) + (last-color-32 int32 :offset 3008) + (save-last-color uint64 :offset-assert 3016) + (save-last-color-32 int32 :offset 3016) + (buf basic :offset-assert 3024) + (str-ptr uint32 :offset-assert 3028) + (str-ptr-signed (pointer uint8) :offset 3028) + (flags uint32 :offset-assert 3032) + (flags-signed int32 :offset 3032) + (reg-save uint32 5 :offset-assert 3036) ) :method-count-assert 9 :size-assert #xbf0 diff --git a/test/decompiler/reference/engine/gfx/hw/display-h_REF.gc b/test/decompiler/reference/engine/gfx/hw/display-h_REF.gc index 24cb1c85e1..aea4733a27 100644 --- a/test/decompiler/reference/engine/gfx/hw/display-h_REF.gc +++ b/test/decompiler/reference/engine/gfx/hw/display-h_REF.gc @@ -338,8 +338,8 @@ ) ) -;; definition for symbol *pre-draw-hook*, type (function none) -(define *pre-draw-hook* nothing) +;; definition for symbol *pre-draw-hook*, type (function object none) +(define *pre-draw-hook* (the-as (function object none) nothing)) ;; definition for symbol *post-draw-hook*, type (function dma-buffer none) (define *post-draw-hook* (the-as (function dma-buffer none) nothing)) diff --git a/test/decompiler/reference/engine/gfx/hw/display_REF.gc b/test/decompiler/reference/engine/gfx/hw/display_REF.gc index 1fe1455375..290c116cbf 100644 --- a/test/decompiler/reference/engine/gfx/hw/display_REF.gc +++ b/test/decompiler/reference/engine/gfx/hw/display_REF.gc @@ -735,9 +735,14 @@ ;; ERROR: function was not converted to expressions. Cannot decompile. ;; failed to figure out what this is: -(install-handler 5 (if *debug-segment* - vif1-handler-debug - vif1-handler +(install-handler 5 (the-as (function int) (the-as (function none) (if *debug-segment* + vif1-handler-debug + (the-as + (function none) + vif1-handler + ) + ) + ) ) ) diff --git a/test/decompiler/reference/engine/ui/progress-h_REF.gc b/test/decompiler/reference/engine/ui/progress-h_REF.gc index 7c85c1828b..bca023d466 100644 --- a/test/decompiler/reference/engine/ui/progress-h_REF.gc +++ b/test/decompiler/reference/engine/ui/progress-h_REF.gc @@ -193,7 +193,7 @@ (dummy-29 () none 29) (dummy-30 () none 30) (dummy-31 () none 31) - (dummy-32 () none 32) + (dummy-32 (_type_) none 32) (dummy-33 () none 33) (dummy-34 () none 34) (dummy-35 () none 35)