;;-*-Lisp-*- (in-package goal) ;; definition of type vu-lights (deftype vu-lights (structure) ((direction vector 3 :inline :offset-assert 0) (color vector 3 :inline :offset-assert 48) (ambient vector :inline :offset-assert 96) ) :method-count-assert 9 :size-assert #x70 :flag-assert #x900000070 ) ;; definition for method 3 of type vu-lights (defmethod inspect vu-lights ((obj vu-lights)) (format #t "[~8x] ~A~%" obj 'vu-lights) (format #t "~Tdirection[3] @ #x~X~%" (-> obj direction)) (format #t "~Tcolor[3] @ #x~X~%" (-> obj color)) (format #t "~Tambient: ~`vector`P~%" (-> obj ambient)) obj ) ;; definition of type light (deftype light (structure) ((direction vector :inline :offset-assert 0) (color rgbaf :inline :offset-assert 16) (levels vector :inline :offset-assert 32) (level float :offset 32) (sort-level float :offset 36) ) :method-count-assert 9 :size-assert #x30 :flag-assert #x900000030 ) ;; definition for method 3 of type light (defmethod inspect light ((obj light)) (format #t "[~8x] ~A~%" obj 'light) (format #t "~Tdirection: #~%" (-> obj direction)) (format #t "~Tcolor: #~%" (-> obj color)) (format #t "~Tlevels: #~%" (-> obj levels)) (format #t "~Tlevel: ~f~%" (-> obj levels x)) (format #t "~Tsort-level: ~f~%" (-> obj levels y)) obj ) ;; definition of type light-ellipse (deftype light-ellipse (structure) ((matrix matrix :inline :offset-assert 0) (color rgbaf :inline :offset-assert 64) (name basic :offset 12) (decay-start float :offset 28) (ambient-point-ratio float :offset 44) (level float :offset 60) (func-symbol basic :offset 76) (func basic :offset 76) ) :method-count-assert 9 :size-assert #x50 :flag-assert #x900000050 ) ;; definition for method 3 of type light-ellipse (defmethod inspect light-ellipse ((obj light-ellipse)) (format #t "[~8x] ~A~%" obj 'light-ellipse) (format #t "~Tmatrix: #~%" (-> obj matrix)) (format #t "~Tcolor: #~%" (-> obj color)) (format #t "~Tname: ~A~%" (-> obj matrix vector 0 w)) (format #t "~Tdecay-start: ~f~%" (-> obj matrix vector 1 w)) (format #t "~Tambient-point-ratio: ~f~%" (-> obj matrix vector 2 w)) (format #t "~Tlevel: ~f~%" (-> obj matrix vector 3 w)) (format #t "~Tfunc-symbol: ~A~%" (-> obj color w)) (format #t "~Tfunc: ~A~%" (-> obj color w)) obj ) ;; definition of type light-array (deftype light-array (array) () :method-count-assert 9 :size-assert #x10 :flag-assert #x900000010 ) ;; definition for method 3 of type light-array (defmethod inspect light-array ((obj light-array)) (format #t "[~8x] ~A~%" obj (-> obj type)) (format #t "~Ttype: ~A~%" (-> obj type)) (format #t "~Tlength: ~D~%" (-> obj length)) (format #t "~Tallocated-length: ~D~%" (-> obj allocated-length)) (format #t "~Tcontent-type: ~A~%" (-> obj content-type)) obj ) ;; definition of type light-volume (deftype light-volume (basic) ((light-array light-array :offset-assert 4) ) :method-count-assert 9 :size-assert #x8 :flag-assert #x900000008 ) ;; definition for method 3 of type light-volume (defmethod inspect light-volume ((obj light-volume)) (format #t "[~8x] ~A~%" obj (-> obj type)) (format #t "~Tlight-array: ~A~%" (-> obj light-array)) obj ) ;; definition of type light-volume-sphere (deftype light-volume-sphere (light-volume) ((bsphere sphere :inline :offset-assert 16) ) :method-count-assert 9 :size-assert #x20 :flag-assert #x900000020 ) ;; definition for method 3 of type light-volume-sphere (defmethod inspect light-volume-sphere ((obj light-volume-sphere)) (format #t "[~8x] ~A~%" obj (-> obj type)) (format #t "~Tlight-array: ~A~%" (-> obj light-array)) (format #t "~Tbsphere: #~%" (-> obj bsphere)) obj ) ;; definition of type light-volume-planes (deftype light-volume-planes (light-volume) ((planes vertical-planes :offset-assert 8) ) :method-count-assert 9 :size-assert #xc :flag-assert #x90000000c ) ;; definition for method 3 of type light-volume-planes (defmethod inspect light-volume-planes ((obj light-volume-planes)) (format #t "[~8x] ~A~%" obj (-> obj type)) (format #t "~Tlight-array: ~A~%" (-> obj light-array)) (format #t "~Tplanes: #~%" (-> obj planes)) obj ) ;; definition of type light-volume-array (deftype light-volume-array (array) () :method-count-assert 9 :size-assert #x10 :flag-assert #x900000010 ) ;; definition for method 3 of type light-volume-array (defmethod inspect light-volume-array ((obj light-volume-array)) (format #t "[~8x] ~A~%" obj (-> obj type)) (format #t "~Ttype: ~A~%" (-> obj type)) (format #t "~Tlength: ~D~%" (-> obj length)) (format #t "~Tallocated-length: ~D~%" (-> obj allocated-length)) (format #t "~Tcontent-type: ~A~%" (-> obj content-type)) obj ) ;; definition for method 2 of type light (defmethod print light ((obj light)) (format #t "# obj levels x) (-> obj direction x) (-> obj direction y) (-> obj direction z) ) (format #t "~F ~F ~F @ #x~X>" (-> obj color x) (-> obj color y) (-> obj color z) obj) obj ) ;; definition of type light-group (deftype light-group (structure) ((dir0 light :inline :offset-assert 0) (dir1 light :inline :offset-assert 48) (dir2 light :inline :offset-assert 96) (ambi light :inline :offset-assert 144) (lights light 4 :inline :offset 0) ) :method-count-assert 9 :size-assert #xc0 :flag-assert #x9000000c0 ) ;; definition for method 3 of type light-group (defmethod inspect light-group ((obj light-group)) (format #t "[~8x] ~A~%" obj 'light-group) (format #t "~Tdir0: ~`light`P~%" (-> obj dir0)) (format #t "~Tdir1: ~`light`P~%" (-> obj dir1)) (format #t "~Tdir2: ~`light`P~%" (-> obj dir2)) (format #t "~Tambi: ~`light`P~%" (-> obj ambi)) obj ) ;; failed to figure out what this is: 0