;;-*-Lisp-*- (in-package goal) ;; name: hud-h.gc ;; name in dgo: hud-h ;; dgos: ENGINE, GAME (defenum hud-flags :type uint32 :bitfield #t (disable 0) (should-die 1) (show 2) ) ;; NOTE - for progress (define-extern hide-hud (function symbol none)) (define-extern hud-hidden? (function symbol)) (declare-type hud-sprite structure) (define-extern set-hud-piece-position! (function hud-sprite int int none)) (define-extern show-hud (function object none)) (declare-type hud process) (define-extern hud-init-by-other (function object :behavior hud)) (define-extern hud-arriving (state hud)) (define-extern hud-leaving (state float hud)) (define-extern hud-in (state hud)) ;; DECOMP BEGINS (deftype hud-string (basic) ((text string) (scale float) (color font-color) (flags font-flags) (pos int32 4 :offset 32) ) :allow-misaligned ) (deftype hud-sprite (structure) ((pos vector4w :inline) (color vector4w :inline) (color2 int32 4 :overlay-at (-> color data 0)) (flags uint32) (scale-x float) (scale-y float) (angle float) (tex texture) ) (:methods (draw (_type_ dma-buffer level) none) (hud-sprite-method-10 (_type_ dma-buffer level int int int int) object) ) ) (deftype hud-box (structure) ((min vector2 :inline) (max vector2 :inline) (color vector4w :inline) ) (:methods (draw-box-prim-only (_type_ dma-buffer) none) (draw-box-alpha-1 (_type_ dma-buffer) none) (draw-box-alpha-2 (_type_ dma-buffer) none) (draw-box-alpha-3 (_type_ dma-buffer) none) (draw-scan-and-line (_type_ dma-buffer float) int) (setup-scissor (_type_ dma-buffer) none) (restore-scissor (_type_ dma-buffer) none) ) ) (deftype hud-icon (basic) ((icon (pointer manipy)) (pos int32 4 :offset 16) (scale-x float) (scale-y float) ) :allow-misaligned ) (deftype hud-value (basic) ((current int32) (target int32) (flags uint16) (counter uint16) ) :allow-misaligned ) (deftype hud (process) ((trigger-time time-frame) (last-hide-time time-frame) (offset float) (flags hud-flags) (values hud-value 8 :inline :overlay-at flags) (strings hud-string 14 :inline :offset 284) (sprites hud-sprite 30 :inline :offset 960) (icons hud-icon 2 :inline :offset 2876) (gui-id sound-id :offset 2976) ) (:methods (hidden? (_type_) symbol) (draw (_type_) none) (update-values (_type_) none) (init-callback (_type_) none) (event-callback (_type_ process int symbol event-message-block) symbol) (hud-method-19 (_type_) none) (hud-method-20 (_type_) none) (hud-method-21 (_type_) none) (hud-method-22 (_type_) none) (hud-method-23 (_type_) none) (check-ready-and-maybe-show (_type_ symbol) symbol) (update-value-callback (_type_ int int) none) (alloc-string-if-needed (_type_ int) none) ) (:states hud-arriving hud-hidden hud-in (hud-leaving float) ) ) (deftype hud-ashelin (hud) () ) (deftype hud-cargo (hud) () ) (deftype hud-citizen (hud) () ) (deftype hud-cpanel (hud) () ) (deftype hud-dig-clasp (hud) () ) (deftype hud-gun (hud) () ) (deftype hud-health (hud) () ) (deftype hud-dark-eco-symbol (hud) () ) (deftype hud-helldog (hud) () ) (deftype hud-lurker (hud) () ) (deftype hud-map (hud) () ) (deftype hud-moneybag (hud) () ) (deftype hud-pegasus (hud) () ) (deftype hud-plasmite (hud) () ) (deftype hud-dig-button (hud) () ) (deftype hud-predator (hud) () ) (deftype hud-heatmeter (hud) () ) (deftype hud-progress (hud) () ) (deftype hud-rocketsensor (hud) () ) (deftype hud-ruffians (hud) () ) (deftype hud-score (hud) () ) (deftype hud-sig (hud) () ) (deftype hud-skill (hud) () ) (deftype hud-skullgem (hud) () ) (deftype hud-timer (hud) () ) (deftype hud-turret (hud) () ) (deftype hud-squid (hud) () ) (deftype hud-gunturret (hud) () ) (deftype hud-gruntegg (hud) () ) (deftype hud-crimsonhover (hud) () ) (deftype hud-metalkor (hud) () ) (deftype hud-big-score (hud) () ) (deftype hud-goal (hud) () ) (deftype hud-miss (hud) () ) (deftype hud-race-timer (hud) () ) (deftype hud-race-lap-counter (hud) () ) (deftype hud-race-turbo-counter (hud) () ) (deftype hud-race-position (hud) () ) (deftype hud-race-map (hud) () ) (deftype hud-samos-old (hud) () ) (deftype hud-samos-young (hud) () ) (deftype hud-lurker-button (hud) () ) (deftype hud-widow (hud) () ) (deftype hud-race-final-stats (hud) () ) (deftype hud-mech-air-tank (hud) () ) (deftype hud-homing-beacon (hud) () ) (deftype hud-dark-eco-pickup (hud) () ) (deftype hud-green-eco-pickup (hud) () )