;;-*-Lisp-*- (in-package goal) ;; name: progress-h.gc ;; name in dgo: progress-h ;; dgos: GAME, ENGINE ;; progress screen display-state enum: ;; 32 - nocd ;; 33 - dirtycd (deftype count-info (structure) ((money-count int32 :offset-assert 0) (buzzer-count int32 :offset-assert 4) ) :pack-me :method-count-assert 9 :size-assert #x8 :flag-assert #x900000008 ) (deftype game-count-info (basic) ((length int32 :offset-assert 4) (data count-info :inline :dynamic :offset-assert 8) ) :method-count-assert 9 :size-assert #x8 :flag-assert #x900000008 ) (deftype task-info-data (basic) ((task-id game-task :offset-assert 4) (task-name game-text-id 4 :offset-assert 8) (text-index-when-resolved int32 :offset-assert 24) ) :method-count-assert 9 :size-assert #x1c :flag-assert #x90000001c ) (deftype level-tasks-info (basic) ((level-name-id game-text-id :offset-assert 4) (text-group-index int32 :offset-assert 8) (nb-of-tasks int32 :offset-assert 12) (buzzer-task-index int32 :offset-assert 16) (task-info task-info-data 8 :offset-assert 20) ) :method-count-assert 9 :size-assert #x34 :flag-assert #x900000034 ) (deftype game-option (basic) ((option-type uint64 :offset-assert 8) (name game-text-id :offset-assert 16) (scale basic :offset-assert 20) (param1 float :offset-assert 24) (param2 float :offset-assert 28) (param3 int32 :offset-assert 32) (value-to-modify uint32 :offset-assert 36) ) :method-count-assert 9 :size-assert #x28 :flag-assert #x900000028 ) (deftype progress (process) ((current-debug-string int32 :offset-assert 112) (current-debug-language int32 :offset-assert 116) (current-debug-group int32 :offset-assert 120) (in-out-position int32 :offset-assert 124) (display-state uint64 :offset-assert 128) (next-display-state uint64 :offset-assert 136) (option-index int32 :offset-assert 144) (selected-option basic :offset-assert 148) (completion-percentage float :offset-assert 152) (ready-to-run basic :offset-assert 156) (display-level-index int32 :offset-assert 160) (next-level-index int32 :offset-assert 164) (task-index int32 :offset-assert 168) (in-transition basic :offset-assert 172) (last-in-transition basic :offset-assert 176) (force-transition basic :offset-assert 180) (stat-transition basic :offset-assert 184) (level-transition int32 :offset-assert 188) (language-selection uint64 :offset-assert 192) (language-direction basic :offset-assert 200) (language-transition basic :offset-assert 204) (language-x-offset int32 :offset-assert 208) (sides-x-scale float :offset-assert 212) (sides-y-scale float :offset-assert 216) (left-x-offset int32 :offset-assert 220) (right-x-offset int32 :offset-assert 224) (button-scale float :offset-assert 228) (slot-scale float :offset-assert 232) (left-side-x-scale float :offset-assert 236) (left-side-y-scale float :offset-assert 240) (right-side-x-scale float :offset-assert 244) (right-side-y-scale float :offset-assert 248) (small-orb-y-offset int32 :offset-assert 252) (big-orb-y-offset int32 :offset-assert 256) (transition-offset int32 :offset-assert 260) (transition-offset-invert int32 :offset-assert 264) (transition-percentage float :offset-assert 268) (transition-percentage-invert float :offset-assert 272) (transition-speed float :offset-assert 276) (total-nb-of-power-cells int32 :offset-assert 280) (total-nb-of-orbs int32 :offset-assert 284) (total-nb-of-buzzers int32 :offset-assert 288) (card-info mc-slot-info :offset-assert 292) (last-option-index-change uint64 :offset-assert 296) (video-mode-timeout uint64 :offset-assert 304) (display-state-stack uint64 5 :offset-assert 312) (option-index-stack uint32 5 :offset-assert 352) (display-state-pos int32 :offset-assert 372) (nb-of-icons int32 :offset-assert 376) (icons uint32 6 :offset-assert 380) (max-nb-of-particles int32 :offset-assert 404) (nb-of-particles int32 :offset-assert 408) (particles uint32 40 :offset-assert 412) (particle-state uint32 40 :offset-assert 572) ) :method-count-assert 59 :size-assert #x2dc :flag-assert #x3b000002dc (:methods (dummy-14 () none 14) (dummy-15 () none 15) (dummy-16 () none 16) (dummy-17 () none 17) (dummy-18 () none 18) (dummy-19 () none 19) (hidden? (_type_) symbol 20) (dummy-21 () none 21) (dummy-22 () none 22) (TODO-RENAME-23 (_type_ symbol symbol) none 23) (dummy-24 () none 24) (dummy-25 () none 25) (dummy-26 () none 26) (dummy-27 () none 27) (dummy-28 () none 28) (dummy-29 () none 29) (dummy-30 () none 30) (dummy-31 () none 31) (dummy-32 (_type_) none 32) (dummy-33 () none 33) (dummy-34 () none 34) (dummy-35 () none 35) (dummy-36 () none 36) (dummy-37 () none 37) (dummy-38 () none 38) (dummy-39 () none 39) (dummy-40 () none 40) (dummy-41 () none 41) (dummy-42 () none 42) (dummy-43 () none 43) (dummy-44 () none 44) (dummy-45 () none 45) (dummy-46 () none 46) (dummy-47 () none 47) (dummy-48 () none 48) (dummy-49 () none 49) (dummy-50 () none 50) (dummy-51 () none 51) (dummy-52 () none 52) (dummy-53 () none 53) (dummy-54 () none 54) (dummy-55 () none 55) (dummy-56 () none 56) (dummy-57 () none 57) (dummy-58 () none 58) ) ) (define *progress-process* (the (pointer progress) #f)) (define *progress-last-task-index* 0) (defun-extern activate-progress process int int) (define-extern *level-task-data* (array level-tasks-info)) (define-extern *level-task-data-remap* (array int32)) (define-extern get-game-count (function int count-info)) (define-extern activate-orb-all (function int int)) ;; maybe in hud? (define-extern progress-allowed? (function symbol)) (define-extern pause-allowed? (function symbol)) (define-extern deactivate-progress (function none))