2021-11-25 22:28:50 +00:00
|
|
|
;;;; wh-engine/package.lisp
|
|
|
|
;;;; root package of wh-engine
|
|
|
|
|
|
|
|
(defpackage wh-engine
|
|
|
|
(:nicknames whe)
|
|
|
|
(:use common-lisp 3d-vectors 3d-matrices)
|
|
|
|
(:import-from sb-ext
|
|
|
|
weak-pointer weak-pointer-p make-weak-pointer weak-pointer-value)
|
2022-02-22 14:32:48 +00:00
|
|
|
(:import-from objective-lisp O!)
|
2021-11-25 22:28:50 +00:00
|
|
|
(:export
|
|
|
|
;; main.lisp
|
|
|
|
+version+ ensure-version
|
|
|
|
deref-pointer points-to ensure-live
|
|
|
|
vxy1 vxy-trunc
|
|
|
|
make-id fixed-id
|
2022-02-25 00:39:53 +00:00
|
|
|
*world*
|
2021-11-25 22:28:50 +00:00
|
|
|
add-scene remove-scene get-scene update-all-scenes
|
2022-02-22 17:16:02 +00:00
|
|
|
initialize-actors-in
|
2021-11-25 22:28:50 +00:00
|
|
|
register-test-scene
|
|
|
|
run
|
2022-02-23 23:31:50 +00:00
|
|
|
*delta-time*
|
2021-11-25 22:28:50 +00:00
|
|
|
|
2021-12-14 22:09:44 +00:00
|
|
|
;; serialization.lisp
|
|
|
|
id-ref make-id-ref
|
|
|
|
pointer
|
2021-12-16 16:50:08 +00:00
|
|
|
deref-sus-pointer
|
2022-02-22 19:02:52 +00:00
|
|
|
referize dereferize pointerize
|
2021-12-15 14:54:33 +00:00
|
|
|
referize-setf pointerize-setf
|
2022-01-04 19:26:29 +00:00
|
|
|
make-generic-load-form
|
2021-12-15 04:47:35 +00:00
|
|
|
generate-load-forms
|
2021-12-16 16:50:08 +00:00
|
|
|
dump-scene dump-actors
|
2021-12-17 15:24:32 +00:00
|
|
|
load-resume-scene load-resume-actors
|
2021-12-14 22:09:44 +00:00
|
|
|
|
2021-11-25 22:28:50 +00:00
|
|
|
;; actor.lisp
|
|
|
|
actor
|
|
|
|
; properties
|
|
|
|
id name scene tags active-p parent children components destroyed-p
|
|
|
|
location z-layer rotation scale matrix
|
|
|
|
; virtual properties
|
|
|
|
tree-active-p
|
|
|
|
world-matrix local-matrix
|
|
|
|
world-location
|
|
|
|
; methods
|
|
|
|
get-component add-component
|
|
|
|
add-child remove-child
|
2022-02-22 19:02:52 +00:00
|
|
|
apply-to-tree
|
2021-11-25 22:28:50 +00:00
|
|
|
has-tag add-tag remove-tag
|
2022-02-22 14:32:48 +00:00
|
|
|
parent-changed
|
2021-11-25 22:28:50 +00:00
|
|
|
deactivate activate
|
2021-12-14 22:09:44 +00:00
|
|
|
resume suspend
|
2021-11-25 22:28:50 +00:00
|
|
|
update
|
|
|
|
destroy
|
|
|
|
transform-point world-point local-point
|
|
|
|
transform-svector transform-vector
|
|
|
|
translate-by rotate-by scale-by
|
|
|
|
|
|
|
|
;; component.lisp
|
|
|
|
component
|
|
|
|
; properties
|
|
|
|
actor active-p started-p
|
|
|
|
; virtual properties
|
|
|
|
scene destroyed-p
|
|
|
|
; methods
|
|
|
|
attach
|
2022-02-22 14:32:48 +00:00
|
|
|
parent-changed
|
2021-11-25 22:28:50 +00:00
|
|
|
deactivate activate
|
2021-12-14 22:09:44 +00:00
|
|
|
resume suspend
|
2021-11-25 22:28:50 +00:00
|
|
|
start update
|
|
|
|
destroy
|
|
|
|
|
2022-02-23 23:31:50 +00:00
|
|
|
;; actor-macros.lisp
|
|
|
|
new!
|
|
|
|
define-new!-impl
|
|
|
|
|
2021-11-25 22:28:50 +00:00
|
|
|
;; scene.lisp
|
|
|
|
scene
|
|
|
|
; properties
|
|
|
|
id name actors destroyed-p
|
|
|
|
; methods
|
|
|
|
add-actor remove-actor
|
|
|
|
get-actor get-tagged-actors
|
|
|
|
update
|
|
|
|
destroy
|
2021-12-15 14:54:33 +00:00
|
|
|
resume suspend
|
2021-11-25 22:28:50 +00:00
|
|
|
|
2022-02-25 00:39:53 +00:00
|
|
|
;; systems.lisp
|
|
|
|
register-system install-systems
|
2021-11-25 22:28:50 +00:00
|
|
|
))
|