Add enums and some cleanup (#148)

* support enums

* better compiler warnings

* tweaks to build with clang
This commit is contained in:
water111
2020-12-02 19:51:42 -05:00
committed by GitHub
parent 71dda76e2b
commit ea479bee98
24 changed files with 257 additions and 182 deletions
+31 -1
View File
@@ -54,8 +54,38 @@
;; ENUMS
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; todo, processs mask
; bitfield enum to indicate proprties about a process-tree
(defenum process-mask :bitfield #t :type int32
(execute 0) ; 1
(draw 1) ; 2
(pause 2) ; 4
(menu 3) ; 8
(progress 4) ; 16
(actor-pause 5) ; 32
(sleep 6) ; 64
(sleep-code 7) ; 128
(process-tree 8) ; 256 ; not an actual process, just a "tree node" for organization
(heap-shrunk 9) ; 512
(going 10) ; 1024
(movie 11) ; 2048
(movie-subject 12) ; 4096
(target 13) ; 8192
(sidekick 14) ; 16384
(crate 15) ; 32768
(collectable 16) ; 65536
(enemy 17) ; 131072
(camera 18) ; 262144
(platform 19) ; 524288
(ambient 20) ; 1048576
(entity 21) ; 2097152
(projectile 22) ; 4194304
(attackable 23) ; 8388608
(death 24) ; 16777216
)
;; -961
(defconstant PROCESS_CLEAR_MASK
(lognot (process-mask sleep sleep-code process-tree heap-shrunk)))
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; MACROS