;;-*-Lisp-*- (in-package goal) ;; name: mood-h.gc ;; name in dgo: mood-h ;; dgos: GAME, ENGINE (deftype mood-fog (structure) ((fog-color vector :inline :offset-assert 0) (fog-dists vector :inline :offset-assert 16) (fog-start float :offset 16) ;; meters (fog-end float :offset 20) ;;meters (fog-max float :offset 24) (fog-min float :offset 28) (erase-color vector :inline :offset-assert 32) ) :method-count-assert 9 :size-assert #x30 :flag-assert #x900000030 ) (deftype mood-fog-table (structure) ((data mood-fog 8 :inline :offset-assert 0) ) :method-count-assert 9 :size-assert #x180 :flag-assert #x900000180 ) (deftype mood-lights (structure) ((direction vector :inline :offset-assert 0) (lgt-color vector :inline :offset-assert 16) (prt-color vector :inline :offset-assert 32) (amb-color vector :inline :offset-assert 48) (shadow vector :inline :offset-assert 64) ) :method-count-assert 9 :size-assert #x50 :flag-assert #x900000050 ) (deftype mood-lights-table (structure) ((data mood-lights 8 :inline :offset-assert 0) ) :method-count-assert 9 :size-assert #x280 :flag-assert #x900000280 ) (deftype mood-sun (structure) ((sun-color vector :inline :offset-assert 0) (env-color vector :inline :offset-assert 16) ) :method-count-assert 9 :size-assert #x20 :flag-assert #x900000020 ) (deftype mood-sun-table (structure) ((data mood-sun 8 :inline :offset-assert 0) ) :method-count-assert 9 :size-assert #x100 :flag-assert #x900000100 ) (deftype mood-context (basic) ((mood-fog-table mood-fog-table :offset-assert 4) (mood-lights-table mood-lights-table :offset-assert 8) (mood-sun-table mood-sun-table :offset-assert 12) (fog-interp sky-color-day :offset-assert 16) (palette-interp sky-color-day :offset-assert 20) (sky-texture-interp sky-color-day :offset-assert 24) (current-fog mood-fog :inline :offset-assert 32) (current-sun mood-sun :inline :offset-assert 80) (current-prt-color vector :inline :offset-assert 112) (current-shadow vector :inline :offset-assert 128) (current-shadow-color vector :inline :offset-assert 144) ;; (light-group UNKNOWN 8 :offset-assert 160) (times vector 8 :inline :offset 1696) (sky-times float 8 :offset-assert 1824) ;; (itimes UNKNOWN 4 :offset-assert 1856) ;; (state UNKNOWN 16 :offset-assert 1920) (num-stars float :offset 1936) ) (:methods (new (symbol type) _type_ 0) ) :method-count-assert 9 :size-assert #x794 :flag-assert #x900000794 ) (defmethod new mood-context ((allocation symbol) (type-to-make type)) (local-vars (v0-0 mood-context) (v1 vector) ) (set! v0-0 (object-new allocation type-to-make (the-as int (-> type-to-make size))) ) (set! v1 (-> v0-0 times 0)) (set! (-> v1 data 0) 1.000000) (set! (-> v1 data 1) 1.000000) (set! (-> v1 data 2) 1.000000) (set! (-> v1 data 3) 0.000000) (set! v1 (-> v0-0 times 1)) (set! (-> v1 data 0) 1.000000) (set! (-> v1 data 1) 1.000000) (set! (-> v1 data 2) 1.000000) (set! (-> v1 data 3) 0.000000) (set! v1 (-> v0-0 times 2)) (set! (-> v1 data 0) 1.000000) (set! (-> v1 data 1) 1.000000) (set! (-> v1 data 2) 1.000000) (set! (-> v1 data 3) 0.000000) (set! v1 (-> v0-0 times 3)) (set! (-> v1 data 0) 1.000000) (set! (-> v1 data 1) 1.000000) (set! (-> v1 data 2) 1.000000) (set! (-> v1 data 3) 0.000000) (set! v1 (-> v0-0 times 4)) (set! (-> v1 data 0) 1.000000) (set! (-> v1 data 1) 1.000000) (set! (-> v1 data 2) 1.000000) (set! (-> v1 data 3) 0.000000) (set! v1 (-> v0-0 times 5)) (set! (-> v1 data 0) 1.000000) (set! (-> v1 data 1) 1.000000) (set! (-> v1 data 2) 1.000000) (set! (-> v1 data 3) 0.000000) (set! v1 (-> v0-0 times 6)) (set! (-> v1 data 0) 1.000000) (set! (-> v1 data 1) 1.000000) (set! (-> v1 data 2) 1.000000) (set! (-> v1 data 3) 0.000000) (set! v1 (-> v0-0 times 7)) (set! (-> v1 data 0) 1.000000) (set! (-> v1 data 1) 1.000000) (set! (-> v1 data 2) 1.000000) (set! (-> v1 data 3) 0.000000) v0-0 )