jak-project/goal_src/jak3/engine/gfx/font-h.gc
Hat Kid 99866cec88
decomp3: more engine files, get-texture macro, use print method in autogenerated inspect, fix bitfield float print (#3432)
- `fma-sphere`
- `prim-beam-h`
- `cam-start`
- `ragdoll`
- `light-trails-h`
- `light-trails`
- `menu`
- `water`
- `water-flow`
- `hud`
- `hud-classes`
- `progress`
- `progress-draw`

---

The `get-texture` macro replaces calls to `lookup-texture-by-id` and
`lookup-texture-by-id-fast`. The `defpart` macro detection was modified
to print a pair like `(texture-name tpage-name)` for the texture field
that gets turned into a `texture-id` constant. Only used in Jak 3 at the
moment, I'll probably go through the other games at a later point.
2024-03-23 09:25:11 -04:00

735 lines
34 KiB
Common Lisp

;;-*-Lisp-*-
(in-package goal)
;; name: font-h.gc
;; name in dgo: font-h
;; dgos: GAME
;; +++font-flags
(defenum font-flags
:type uint32
:bitfield #t
(shadow 0)
(kerning 1)
(middle 2)
(middle-vert 3)
(right 4)
(large 5)
(pc-hack 6)
(ff7 7)
)
;; ---font-flags
;; +++font-color
(defenum font-color
:type uint32
(default 0)
(white 1)
(transparent 2)
(red 3)
(orange 4)
(yellow 5)
(green 6)
(blue 7)
(cyan 8)
(pink 9)
(menu-selected 10)
(menu-selected-parent 11)
(menu 12)
(menu-parent 13)
(menu-func-bad 14)
(menu-flag-on 15)
(menu-flag-on-parent 16)
(menu-flag-off 17)
(menu-flag-off-parent 18)
(menu-invalid 19)
(flat-yellow 20)
(font-color-21 21)
(pad-back 22)
(pad-shine 23)
(pad-square 24)
(pad-circle 25)
(pad-triangle 26)
(pad-x 27)
(progress-old-blue 28)
(progress-old-yellow 29)
(progress-old-selected 30)
(progress-old-percent 31)
(font-color-32 32)
(font-color-33 33)
(font-color-34 34)
(font-color-35 35)
(font-color-36 36)
(font-color-37 37)
(font-color-38 38)
(font-color-39 39)
(font-color-40 40)
(font-color-41 41)
(font-color-42 42)
(font-color-43 43)
(font-color-44 44)
)
;; ---font-color
;; added type
(deftype draw-string-result (uint64)
((length float :offset 0)
(b float :offset 32))
)
(declare-type font-context structure)
(define-extern draw-string-xy (function string dma-buffer int int font-color font-flags draw-string-result))
(define-extern draw-string (function string dma-buffer font-context draw-string-result))
;; DECOMP BEGINS
(deftype char-verts (structure)
((pos vector 4 :inline)
(color vector 4 :inline)
(tex-st vector 4 :inline)
)
)
(deftype char-color (structure)
((color rgba 4)
)
)
(define *font-default-matrix* (new 'static 'matrix
:rvec (new 'static 'vector :x 1.0)
:uvec (new 'static 'vector :y 1.0)
:fvec (new 'static 'vector :z 1.0)
:trans (new 'static 'vector :x -256.0 :y -208.0 :w 1.0)
)
)
(deftype font-context (basic)
((origin vector :inline)
(strip-gif vector :inline)
(width float)
(height float)
(projection float)
(scale float)
(color font-color)
(color-signed int32 :overlay-at color)
(flags font-flags)
(mat matrix)
(start-line uint32)
(alpha float)
(max-x float)
)
(:methods
(new (symbol type matrix int int float font-color font-flags) _type_)
(set-mat! (font-context matrix) font-context)
(set-origin! (font-context int int) font-context)
(set-depth! (font-context int) font-context)
(set-w! (font-context float) font-context)
(set-width! (font-context int) font-context)
(set-height! (font-context int) font-context)
(set-projection! (font-context float) font-context)
(set-color! (font-context font-color) font-context)
(set-flags! (font-context font-flags) font-context)
(set-start-line! (font-context uint) font-context)
(set-scale! (font-context float) font-context)
(set-alpha! (font-context float) font-context)
)
)
(defmethod set-mat! ((this font-context) (arg0 matrix))
(set! (-> this mat) arg0)
this
)
(defmethod set-origin! ((this font-context) (arg0 int) (arg1 int))
(set! (-> this origin x) (the float arg0))
(set! (-> this origin y) (the float arg1))
this
)
(defmethod set-depth! ((this font-context) (arg0 int))
(set! (-> this origin z) (the float arg0))
this
)
(defmethod set-w! ((this font-context) (arg0 float))
(set! (-> this origin w) arg0)
this
)
(defmethod set-width! ((this font-context) (arg0 int))
(set! (-> this width) (the float arg0))
this
)
(defmethod set-height! ((this font-context) (arg0 int))
(set! (-> this height) (the float arg0))
this
)
(defmethod set-projection! ((this font-context) (arg0 float))
(set! (-> this projection) arg0)
this
)
(defmethod set-color! ((this font-context) (arg0 font-color))
(set! (-> this color) arg0)
this
)
(defmethod set-flags! ((this font-context) (arg0 font-flags))
(set! (-> this flags) arg0)
this
)
(defmethod set-start-line! ((this font-context) (arg0 uint))
(set! (-> this start-line) arg0)
this
)
(defmethod set-scale! ((this font-context) (arg0 float))
(set! (-> this scale) arg0)
this
)
(defmethod set-alpha! ((this font-context) (arg0 float))
(set! (-> this alpha) arg0)
this
)
(defmethod new font-context ((allocation symbol)
(type-to-make type)
(arg0 matrix)
(arg1 int)
(arg2 int)
(arg3 float)
(arg4 font-color)
(arg5 font-flags)
)
(let ((v0-0 (object-new allocation type-to-make (the-as int (-> type-to-make size)))))
(set! (-> v0-0 mat) arg0)
(let ((v1-3 v0-0))
(set! (-> v1-3 origin x) (the float arg1))
(set! (-> v1-3 origin y) (the float arg2))
)
(cond
((= arg3 0.0)
(let ((v1-4 v0-0))
(set! (-> v1-4 origin z) (-> *math-camera* isometric trans z))
)
)
(else
(let ((v1-5 v0-0))
(set! (-> v1-5 origin z) arg3)
)
)
)
(let ((v1-6 v0-0))
(set! (-> v1-6 origin w) 1.0)
)
(let ((v1-7 v0-0))
(set! (-> v1-7 width) (the float 512))
)
(let ((v1-8 v0-0))
(set! (-> v1-8 height) (the float 416))
)
(let ((v1-9 v0-0))
(set! (-> v1-9 projection) 1.0)
)
(set! (-> v0-0 color) arg4)
(set! (-> v0-0 flags) arg5)
(let ((a0-6 v0-0))
(set! (-> a0-6 start-line) (the-as uint 0))
)
(let ((v1-13 v0-0))
(set! (-> v1-13 scale) 1.0)
)
(let ((v1-14 v0-0))
(set! (-> v1-14 alpha) 1.0)
)
v0-0
)
)
(deftype font-work (structure)
((font-tmpl dma-gif-packet :inline)
(char-tmpl dma-gif-packet :inline)
(tex1-tmpl uint64 2)
(small-font-0-tmpl uint64 2)
(small-font-1-tmpl uint64 2)
(small-font-2-tmpl uint64 2)
(small-font-3-tmpl uint64 2)
(large-font-0-tmpl uint64 2)
(large-font-1-tmpl uint64 2)
(large-font-2-tmpl uint64 2)
(large-font-3-tmpl uint64 2)
(size1-small vector :inline)
(size2-small vector :inline)
(size3-small vector :inline)
(size1-large vector :inline)
(size2-large-0 vector :inline)
(size2-large-1 vector :inline)
(size2-large-2 vector :inline)
(size2-large-3 vector :inline)
(size3-large vector :inline)
(size2-0 vector :inline)
(size2-1 vector :inline)
(size2-2 vector :inline)
(size2-3 vector :inline)
(size-st1 vector :inline)
(size-st2 vector :inline)
(size-st3 vector :inline)
(save vector :inline)
(save-color vector 4 :inline)
(character-save-color vector 4 :inline)
(current-verts char-verts :inline)
(src-verts char-verts :inline)
(dest-verts char-verts :inline)
(justify vector 64 :inline)
(color-shadow vector4w :inline)
(color-table char-color 45 :inline)
(current-font-0-tmpl uint64 2)
(current-font-1-tmpl uint64 2)
(current-font-2-tmpl uint64 2)
(current-font-3-tmpl uint64 2)
(last-color font-color)
(save-last-color font-color)
(character-save-last-color uint32)
(buf basic)
(str-ptr uint32)
(flags font-flags)
(reg-save uint32 5)
)
(:methods
(set-context! (_type_ font-context) none)
)
)
(define *font-work*
(new 'static 'font-work
:font-tmpl (new 'static 'dma-gif-packet
:dma-vif (new 'static 'dma-packet
:dma (new 'static 'dma-tag :qwc #x2 :id (dma-tag-id cnt))
:vif1 (new 'static 'vif-tag :imm #x2 :cmd (vif-cmd direct) :msk #x1)
)
:gif (new 'static 'array uint64 2 #x102e400000008001 #xe)
)
:char-tmpl (new 'static 'dma-gif-packet
:dma-vif (new 'static 'dma-packet
:dma (new 'static 'dma-tag :qwc #xe :id (dma-tag-id cnt))
:vif1 (new 'static 'vif-tag :imm #xe :cmd (vif-cmd direct) :msk #x1)
)
:gif (new 'static 'array uint64 2 #xd02e400000008001 #x412412412412e)
)
:tex1-tmpl (new 'static 'array uint64 2 #x60 #x14)
:small-font-0-tmpl (new 'static 'array uint64 2 #x0 #x6)
:small-font-1-tmpl (new 'static 'array uint64 2 #x0 #x6)
:small-font-2-tmpl (new 'static 'array uint64 2 #x0 #x6)
:small-font-3-tmpl (new 'static 'array uint64 2 #x0 #x6)
:large-font-0-tmpl (new 'static 'array uint64 2 #x0 #x6)
:large-font-1-tmpl (new 'static 'array uint64 2 #x0 #x6)
:large-font-2-tmpl (new 'static 'array uint64 2 #x0 #x6)
:large-font-3-tmpl (new 'static 'array uint64 2 #x0 #x6)
:size1-small (new 'static 'vector :x 12.0 :w 0.5)
:size2-small (new 'static 'vector :y 14.857 :w 8.0)
:size3-small (new 'static 'vector :x 12.0 :y 14.857 :w 14.857)
:size1-large (new 'static 'vector :x 24.0 :w 1.0)
:size2-large-0 (new 'static 'vector :y 29.714 :w 24.0)
:size2-large-1 (new 'static 'vector :y 29.714 :w 24.0)
:size2-large-2 (new 'static 'vector :y 29.714 :w 24.0)
:size2-large-3 (new 'static 'vector :y 29.714 :w 24.0)
:size3-large (new 'static 'vector :x 24.0 :y 29.714 :w 29.714)
:size-st1 (new 'static 'vector :x 0.08985 :w 0.5)
:size-st2 (new 'static 'vector :y 0.031007752 :w 0.5)
:size-st3 (new 'static 'vector :x 0.08985 :y 0.031007752 :w 0.5)
:current-verts (new 'static 'char-verts
:pos (new 'static 'inline-array vector 4
(new 'static 'vector :w 1.0)
(new 'static 'vector :w 1.0)
(new 'static 'vector :w 1.0)
(new 'static 'vector :w 1.0)
)
:tex-st (new 'static 'inline-array vector 4
(new 'static 'vector :z 1.0)
(new 'static 'vector :z 1.0)
(new 'static 'vector :z 1.0)
(new 'static 'vector :z 1.0)
)
)
:src-verts (new 'static 'char-verts
:pos (new 'static 'inline-array vector 4
(new 'static 'vector :w 1.0)
(new 'static 'vector :w 1.0)
(new 'static 'vector :w 1.0)
(new 'static 'vector :w 1.0)
)
:tex-st (new 'static 'inline-array vector 4
(new 'static 'vector :z 1.0)
(new 'static 'vector :z 1.0)
(new 'static 'vector :z 1.0)
(new 'static 'vector :z 1.0)
)
)
:dest-verts (new 'static 'char-verts
:pos (new 'static 'inline-array vector 4
(new 'static 'vector :w 1.0)
(new 'static 'vector :w 1.0)
(new 'static 'vector :w 1.0)
(new 'static 'vector :w 1.0)
)
:tex-st (new 'static 'inline-array vector 4
(new 'static 'vector :z 1.0)
(new 'static 'vector :z 1.0)
(new 'static 'vector :z 1.0)
(new 'static 'vector :z 1.0)
)
)
:color-shadow (new 'static 'vector4w :w #x80)
:color-table (new 'static 'inline-array char-color 45
(new 'static 'char-color :color (new 'static 'array rgba 4
(new 'static 'rgba :r #x70 :g #x78 :b #x70 :a #x80)
(new 'static 'rgba :r #x70 :g #x78 :b #x70 :a #x80)
(new 'static 'rgba :r #x70 :g #x78 :b #x70 :a #x80)
(new 'static 'rgba :r #x70 :g #x78 :b #x70 :a #x80)
)
)
(new 'static 'char-color :color (new 'static 'array rgba 4
(new 'static 'rgba :r #x80 :g #x80 :b #x80 :a #x80)
(new 'static 'rgba :r #x80 :g #x80 :b #x80 :a #x80)
(new 'static 'rgba :r #x80 :g #x80 :b #x80 :a #x80)
(new 'static 'rgba :r #x80 :g #x80 :b #x80 :a #x80)
)
)
(new 'static 'char-color :color (new 'static 'array rgba 4
(new 'static 'rgba :r #x80 :g #x80 :b #x80 :a #x40)
(new 'static 'rgba :r #x80 :g #x80 :b #x80 :a #x40)
(new 'static 'rgba :r #x80 :g #x80 :b #x80 :a #x40)
(new 'static 'rgba :r #x80 :g #x80 :b #x80 :a #x40)
)
)
(new 'static 'char-color :color (new 'static 'array rgba 4
(new 'static 'rgba :r #x80 :g #x20 :a #x80)
(new 'static 'rgba :r #x80 :g #x20 :a #x80)
(new 'static 'rgba :r #x80 :g #x20 :a #x80)
(new 'static 'rgba :r #x80 :g #x20 :a #x80)
)
)
(new 'static 'char-color :color (new 'static 'array rgba 4
(new 'static 'rgba :r #x80 :g #x64 :a #x80)
(new 'static 'rgba :r #x80 :g #x64 :a #x80)
(new 'static 'rgba :r #x80 :g #x64 :a #x80)
(new 'static 'rgba :r #x80 :g #x64 :a #x80)
)
)
(new 'static 'char-color :color (new 'static 'array rgba 4
(new 'static 'rgba :r #x80 :g #x80 :a #x80)
(new 'static 'rgba :r #x80 :g #x80 :a #x80)
(new 'static 'rgba :r #x80 :g #x80 :a #x80)
(new 'static 'rgba :r #x80 :g #x80 :a #x80)
)
)
(new 'static 'char-color :color (new 'static 'array rgba 4
(new 'static 'rgba :r #x20 :g #x80 :b #x20 :a #x80)
(new 'static 'rgba :r #x20 :g #x80 :b #x20 :a #x80)
(new 'static 'rgba :r #x20 :g #x80 :b #x20 :a #x80)
(new 'static 'rgba :r #x20 :g #x80 :b #x20 :a #x80)
)
)
(new 'static 'char-color :color (new 'static 'array rgba 4
(new 'static 'rgba :g #x20 :b #x80 :a #x80)
(new 'static 'rgba :g #x20 :b #x80 :a #x80)
(new 'static 'rgba :g #x20 :b #x80 :a #x80)
(new 'static 'rgba :g #x20 :b #x80 :a #x80)
)
)
(new 'static 'char-color :color (new 'static 'array rgba 4
(new 'static 'rgba :g #x80 :b #x80 :a #x80)
(new 'static 'rgba :g #x80 :b #x80 :a #x80)
(new 'static 'rgba :g #x80 :b #x80 :a #x80)
(new 'static 'rgba :g #x80 :b #x80 :a #x80)
)
)
(new 'static 'char-color :color (new 'static 'array rgba 4
(new 'static 'rgba :r #x80 :g #x40 :b #x80 :a #x80)
(new 'static 'rgba :r #x80 :g #x40 :b #x80 :a #x80)
(new 'static 'rgba :r #x80 :g #x40 :b #x80 :a #x80)
(new 'static 'rgba :r #x80 :g #x40 :b #x80 :a #x80)
)
)
(new 'static 'char-color :color (new 'static 'array rgba 4
(new 'static 'rgba :r #x60 :g #x80 :b #x80 :a #x80)
(new 'static 'rgba :r #x60 :g #x80 :b #x80 :a #x80)
(new 'static 'rgba :r #x60 :g #x80 :b #x80 :a #x80)
(new 'static 'rgba :r #x60 :g #x80 :b #x80 :a #x80)
)
)
(new 'static 'char-color :color (new 'static 'array rgba 4
(new 'static 'rgba :r #x40 :g #x60 :b #x60 :a #x80)
(new 'static 'rgba :r #x40 :g #x60 :b #x60 :a #x80)
(new 'static 'rgba :r #x40 :g #x60 :b #x60 :a #x80)
(new 'static 'rgba :r #x40 :g #x60 :b #x60 :a #x80)
)
)
(new 'static 'char-color :color (new 'static 'array rgba 4
(new 'static 'rgba :r #x80 :g #x80 :b #x80 :a #x80)
(new 'static 'rgba :r #x80 :g #x80 :b #x80 :a #x80)
(new 'static 'rgba :r #x80 :g #x80 :b #x80 :a #x80)
(new 'static 'rgba :r #x80 :g #x80 :b #x80 :a #x80)
)
)
(new 'static 'char-color :color (new 'static 'array rgba 4
(new 'static 'rgba :r #x50 :g #x50 :b #x50 :a #x80)
(new 'static 'rgba :r #x50 :g #x50 :b #x50 :a #x80)
(new 'static 'rgba :r #x50 :g #x50 :b #x50 :a #x80)
(new 'static 'rgba :r #x50 :g #x50 :b #x50 :a #x80)
)
)
(new 'static 'char-color :color (new 'static 'array rgba 4
(new 'static 'rgba :r #x80 :g #x54 :a #x80)
(new 'static 'rgba :r #x80 :g #x54 :a #x80)
(new 'static 'rgba :r #x80 :g #x54 :a #x80)
(new 'static 'rgba :r #x80 :g #x54 :a #x80)
)
)
(new 'static 'char-color :color (new 'static 'array rgba 4
(new 'static 'rgba :r #x70 :g #x80 :b #x30 :a #x80)
(new 'static 'rgba :r #x70 :g #x80 :b #x30 :a #x80)
(new 'static 'rgba :r #x70 :g #x80 :b #x30 :a #x80)
(new 'static 'rgba :r #x70 :g #x80 :b #x30 :a #x80)
)
)
(new 'static 'char-color :color (new 'static 'array rgba 4
(new 'static 'rgba :r #x48 :g #x58 :b #x10 :a #x80)
(new 'static 'rgba :r #x48 :g #x58 :b #x10 :a #x80)
(new 'static 'rgba :r #x48 :g #x58 :b #x10 :a #x80)
(new 'static 'rgba :r #x48 :g #x58 :b #x10 :a #x80)
)
)
(new 'static 'char-color :color (new 'static 'array rgba 4
(new 'static 'rgba :r #x58 :g #x60 :b #x58 :a #x80)
(new 'static 'rgba :r #x58 :g #x60 :b #x58 :a #x80)
(new 'static 'rgba :r #x58 :g #x60 :b #x58 :a #x80)
(new 'static 'rgba :r #x58 :g #x60 :b #x58 :a #x80)
)
)
(new 'static 'char-color :color (new 'static 'array rgba 4
(new 'static 'rgba :r #x40 :g #x48 :b #x40 :a #x80)
(new 'static 'rgba :r #x40 :g #x48 :b #x40 :a #x80)
(new 'static 'rgba :r #x40 :g #x48 :b #x40 :a #x80)
(new 'static 'rgba :r #x40 :g #x48 :b #x40 :a #x80)
)
)
(new 'static 'char-color :color (new 'static 'array rgba 4
(new 'static 'rgba :r #x30 :g #x20 :b #x30 :a #x80)
(new 'static 'rgba :r #x30 :g #x20 :b #x30 :a #x80)
(new 'static 'rgba :r #x30 :g #x20 :b #x30 :a #x80)
(new 'static 'rgba :r #x30 :g #x20 :b #x30 :a #x80)
)
)
(new 'static 'char-color :color (new 'static 'array rgba 4
(new 'static 'rgba :r #x80 :g #x79 :b #x48 :a #x80)
(new 'static 'rgba :r #x80 :g #x79 :b #x48 :a #x80)
(new 'static 'rgba :r #x80 :g #x79 :b #x48 :a #x80)
(new 'static 'rgba :r #x80 :g #x79 :b #x48 :a #x80)
)
)
(new 'static 'char-color :color (new 'static 'array rgba 4
(new 'static 'rgba :r #x20 :g #x5e :b #x78 :a #x80)
(new 'static 'rgba :r #x20 :g #x5e :b #x78 :a #x80)
(new 'static 'rgba :r #x20 :g #x5e :b #x78 :a #x80)
(new 'static 'rgba :r #x20 :g #x5e :b #x78 :a #x80)
)
)
(new 'static 'char-color :color (new 'static 'array rgba 4
(new 'static 'rgba :r #x1d :g #x1d :b #x1d :a #x80)
(new 'static 'rgba :r #x1d :g #x1d :b #x1d :a #x80)
(new 'static 'rgba :r #x1d :g #x1d :b #x1d :a #x80)
(new 'static 'rgba :r #x1d :g #x1d :b #x1d :a #x80)
)
)
(new 'static 'char-color :color (new 'static 'array rgba 4
(new 'static 'rgba :r #x40 :g #x40 :b #x40 :a #x80)
(new 'static 'rgba :r #x40 :g #x40 :b #x40 :a #x80)
(new 'static 'rgba :r #x40 :g #x40 :b #x40 :a #x80)
(new 'static 'rgba :r #x40 :g #x40 :b #x40 :a #x80)
)
)
(new 'static 'char-color :color (new 'static 'array rgba 4
(new 'static 'rgba :r #x7a :g #x4d :b #x65 :a #x80)
(new 'static 'rgba :r #x7a :g #x4d :b #x65 :a #x80)
(new 'static 'rgba :r #x7a :g #x4d :b #x65 :a #x80)
(new 'static 'rgba :r #x7a :g #x4d :b #x65 :a #x80)
)
)
(new 'static 'char-color :color (new 'static 'array rgba 4
(new 'static 'rgba :r #x7a :g #x34 :b #x34 :a #x80)
(new 'static 'rgba :r #x7a :g #x34 :b #x34 :a #x80)
(new 'static 'rgba :r #x7a :g #x34 :b #x34 :a #x80)
(new 'static 'rgba :r #x7a :g #x34 :b #x34 :a #x80)
)
)
(new 'static 'char-color :color (new 'static 'array rgba 4
(new 'static 'rgba :r #x10 :g #x65 :b #x4c :a #x80)
(new 'static 'rgba :r #x10 :g #x65 :b #x4c :a #x80)
(new 'static 'rgba :r #x10 :g #x65 :b #x4c :a #x80)
(new 'static 'rgba :r #x10 :g #x65 :b #x4c :a #x80)
)
)
(new 'static 'char-color :color (new 'static 'array rgba 4
(new 'static 'rgba :r #x46 :g #x4a :b #x78 :a #x80)
(new 'static 'rgba :r #x46 :g #x4a :b #x78 :a #x80)
(new 'static 'rgba :r #x46 :g #x4a :b #x78 :a #x80)
(new 'static 'rgba :r #x46 :g #x4a :b #x78 :a #x80)
)
)
(new 'static 'char-color :color (new 'static 'array rgba 4
(new 'static 'rgba :r #x57 :g #x7e :b #x80 :a #x80)
(new 'static 'rgba :r #x57 :g #x7e :b #x80 :a #x80)
(new 'static 'rgba :r #x57 :g #x7e :b #x80 :a #x80)
(new 'static 'rgba :r #x57 :g #x7e :b #x80 :a #x80)
)
)
(new 'static 'char-color :color (new 'static 'array rgba 4
(new 'static 'rgba :r #x7f :g #x7b :b #x33 :a #x80)
(new 'static 'rgba :r #x7f :g #x7b :b #x33 :a #x80)
(new 'static 'rgba :r #x7f :g #x7b :b #x33 :a #x80)
(new 'static 'rgba :r #x7f :g #x7b :b #x33 :a #x80)
)
)
(new 'static 'char-color :color (new 'static 'array rgba 4
(new 'static 'rgba :r #x79 :g #x79 :b #x2 :a #x80)
(new 'static 'rgba :r #x79 :g #x79 :b #x2 :a #x80)
(new 'static 'rgba :r #x79 :g #x79 :b #x2 :a #x80)
(new 'static 'rgba :r #x79 :g #x79 :b #x2 :a #x80)
)
)
(new 'static 'char-color :color (new 'static 'array rgba 4
(new 'static 'rgba :r #x47 :g #x68 :b #x7a :a #x80)
(new 'static 'rgba :r #x47 :g #x68 :b #x7a :a #x80)
(new 'static 'rgba :r #x47 :g #x68 :b #x7a :a #x80)
(new 'static 'rgba :r #x47 :g #x68 :b #x7a :a #x80)
)
)
(new 'static 'char-color :color (new 'static 'array rgba 4
(new 'static 'rgba :r #xb7 :g #x80 :b #x7 :a #x80)
(new 'static 'rgba :r #xb7 :g #x80 :b #x7 :a #x80)
(new 'static 'rgba :r #xb7 :g #x80 :b #x7 :a #x80)
(new 'static 'rgba :r #xb7 :g #x80 :b #x7 :a #x80)
)
)
(new 'static 'char-color :color (new 'static 'array rgba 4
(new 'static 'rgba :r #x80 :g #x80 :b #x40 :a #x80)
(new 'static 'rgba :r #x80 :g #x80 :b #x40 :a #x80)
(new 'static 'rgba :r #x80 :g #x80 :b #x40 :a #x80)
(new 'static 'rgba :r #x80 :g #x80 :b #x40 :a #x80)
)
)
(new 'static 'char-color :color (new 'static 'array rgba 4
(new 'static 'rgba :r #x80 :g #x80 :b #x80 :a #x80)
(new 'static 'rgba :r #x80 :g #x80 :b #x80 :a #x80)
(new 'static 'rgba :r #x80 :g #x80 :b #x80 :a #x80)
(new 'static 'rgba :r #x80 :g #x80 :b #x80 :a #x80)
)
)
(new 'static 'char-color :color (new 'static 'array rgba 4
(new 'static 'rgba :r #x9a :g #x4d :a #x60)
(new 'static 'rgba :r #x9a :g #x4d :a #x60)
(new 'static 'rgba :r #x9a :g #x4d :a #x60)
(new 'static 'rgba :r #x9a :g #x4d :a #x60)
)
)
(new 'static 'char-color :color (new 'static 'array rgba 4
(new 'static 'rgba :r #x70 :g #x78 :b #x70 :a #x80)
(new 'static 'rgba :r #x70 :g #x78 :b #x70 :a #x80)
(new 'static 'rgba :r #x70 :g #x78 :b #x70 :a #x80)
(new 'static 'rgba :r #x70 :g #x78 :b #x70 :a #x80)
)
)
(new 'static 'char-color :color (new 'static 'array rgba 4
(new 'static 'rgba :r #x60 :a #x80)
(new 'static 'rgba :r #x60 :a #x80)
(new 'static 'rgba :r #x60 :a #x80)
(new 'static 'rgba :r #x60 :a #x80)
)
)
(new 'static 'char-color :color (new 'static 'array rgba 4
(new 'static 'rgba :r #x80 :g #x60 :b #x20 :a #x80)
(new 'static 'rgba :r #x80 :g #x60 :b #x20 :a #x80)
(new 'static 'rgba :r #x80 :g #x60 :b #x20 :a #x80)
(new 'static 'rgba :r #x80 :g #x60 :b #x20 :a #x80)
)
)
(new 'static 'char-color :color (new 'static 'array rgba 4
(new 'static 'rgba :b #x1 :a #x80)
(new 'static 'rgba :b #x1 :a #x80)
(new 'static 'rgba :b #x1 :a #x80)
(new 'static 'rgba :b #x1 :a #x80)
)
)
(new 'static 'char-color :color (new 'static 'array rgba 4
(new 'static 'rgba :r #x48 :g #x74 :b #x48 :a #x80)
(new 'static 'rgba :r #x48 :g #x74 :b #x48 :a #x80)
(new 'static 'rgba :r #x48 :g #x74 :b #x48 :a #x80)
(new 'static 'rgba :r #x48 :g #x74 :b #x48 :a #x80)
)
)
(new 'static 'char-color :color (new 'static 'array rgba 4
(new 'static 'rgba :g #x39 :b #x67 :a #x80)
(new 'static 'rgba :g #x39 :b #x67 :a #x80)
(new 'static 'rgba :g #x39 :b #x67 :a #x80)
(new 'static 'rgba :g #x39 :b #x67 :a #x80)
)
)
(new 'static 'char-color :color (new 'static 'array rgba 4
(new 'static 'rgba :r #x7c :a #x80)
(new 'static 'rgba :r #x7c :a #x80)
(new 'static 'rgba :r #x7c :a #x80)
(new 'static 'rgba :r #x7c :a #x80)
)
)
(new 'static 'char-color :color (new 'static 'array rgba 4
(new 'static 'rgba :r #x60 :g #x60 :b #x60 :a #x80)
(new 'static 'rgba :r #x60 :g #x60 :b #x60 :a #x80)
(new 'static 'rgba :r #x60 :g #x60 :b #x60 :a #x80)
(new 'static 'rgba :r #x60 :g #x60 :b #x60 :a #x80)
)
)
(new 'static 'char-color :color (new 'static 'array rgba 4
(new 'static 'rgba :r #x40 :g #x40 :b #x40 :a #x80)
(new 'static 'rgba :r #x40 :g #x40 :b #x40 :a #x80)
(new 'static 'rgba :r #x40 :g #x40 :b #x40 :a #x80)
(new 'static 'rgba :r #x40 :g #x40 :b #x40 :a #x80)
)
)
)
)
)
(defun font-set-tex0 ((arg0 (pointer gs-tex0)) (arg1 texture) (arg2 int) (arg3 int) (arg4 int))
(set! (-> arg0 0) (new 'static 'gs-tex0
:tcc #x1
:cld #x1
:cbp arg4
:th (+ (log2 (+ (-> arg1 h) -1)) 1)
:tw (log2 (-> arg1 w))
:tbw (-> arg1 width 0)
:tbp0 (/ arg2 64)
:psm arg3
)
)
(none)
)
(defun set-font-color ((arg0 font-color) (arg1 int) (arg2 rgba) (arg3 rgba) (arg4 rgba))
(set! (-> *font-work* color-table arg0 color 0) (the-as rgba arg1))
(set! (-> *font-work* color-table arg0 color 1) arg2)
(set! (-> *font-work* color-table arg0 color 2) arg3)
(set! (-> *font-work* color-table arg0 color 3) arg4)
0
)