;;-*-Lisp-*-
(in-package goal)

;; definition of type level-hint-control
(deftype level-hint-control (structure)
  ((delay-before-playing        time-frame    :offset-assert   0)
   (id                          game-text-id  :offset-assert   8)
   (num-attempts-before-playing int8          :offset-assert  12)
   (num-success-before-killing  int8          :offset-assert  13)
   (num-attempts                int8          :offset-assert  14)
   (num-success                 int8          :offset-assert  15)
   (start-time                  time-frame    :offset-assert  16)
   (last-time-called            time-frame    :offset-assert  24)
   )
  :method-count-assert 9
  :size-assert         #x20
  :flag-assert         #x900000020
  )

;; definition for method 3 of type level-hint-control
(defmethod inspect level-hint-control ((obj level-hint-control))
  (format #t "[~8x] ~A~%" obj 'level-hint-control)
  (format #t "~Tdelay-before-playing: ~D~%" (-> obj delay-before-playing))
  (format #t "~Tid: ~D~%" (-> obj id))
  (format #t "~Tnum-attempts-before-playing: ~D~%" (-> obj num-attempts-before-playing))
  (format #t "~Tnum-success-before-killing: ~D~%" (-> obj num-success-before-killing))
  (format #t "~Tnum-attempts: ~D~%" (-> obj num-attempts))
  (format #t "~Tnum-success: ~D~%" (-> obj num-success))
  (format #t "~Tstart-time: ~D~%" (-> obj start-time))
  (format #t "~Tlast-time-called: ~D~%" (-> obj last-time-called))
  obj
  )

;; definition of type task-hint-control
(deftype task-hint-control (structure)
  ((task  game-task   :offset-assert   0)
   (delay time-frame  :offset-assert   8)
   )
  :method-count-assert 9
  :size-assert         #x10
  :flag-assert         #x900000010
  )

;; definition for method 3 of type task-hint-control
(defmethod inspect task-hint-control ((obj task-hint-control))
  (format #t "[~8x] ~A~%" obj 'task-hint-control)
  (format #t "~Ttask: ~D~%" (-> obj task))
  (format #t "~Tdelay: ~D~%" (-> obj delay))
  obj
  )

;; definition of type task-hint-control-group
(deftype task-hint-control-group (structure)
  ((tasks (array task-hint-control)  :offset-assert   0)
   )
  :method-count-assert 9
  :size-assert         #x4
  :flag-assert         #x900000004
  )

;; definition for method 3 of type task-hint-control-group
(defmethod inspect task-hint-control-group ((obj task-hint-control-group))
  (format #t "[~8x] ~A~%" obj 'task-hint-control-group)
  (format #t "~Ttasks: ~A~%" (-> obj tasks))
  obj
  )

;; failed to figure out what this is:
0
