add more comments/docstrings on first 58 files, try new windows-specific framelimiting (#1134)

* cleanup

* type

* link against a library
This commit is contained in:
water111
2022-02-05 16:30:50 -05:00
committed by GitHub
parent 738db287b4
commit f142f46045
36 changed files with 545 additions and 493 deletions
+11 -6
View File
@@ -6,10 +6,17 @@
;; dgos: GAME, ENGINE
;; This extremely confusing "connection system" allows the connection between
;; "engines" and "processes". Basically, a process may add connections to an engine.
;; A "connection" is really just a function that gets called when the engine runs.
;; Another way to use the system is as a queue of messages from processes to the engine,
;; without using a function.
;; "engines" and "processes". Basically, a process can "register" itself with any number of "engines".
;; The "engines" can then iterate through all the connected processes. If a process is destroyed, it will
;; be removed from all engines. It is okay to connect a process to multiple engines, or even to the same engine
;; multiple times.
;; Some example uses:
;; - a "foreground-engine" has connections to all foreground objects that need to be drawn on each frame.
;; - when a process wants to change a game setting, it opens a connection to the settings engine to request a change.
;; when the process is killed, the setting change is reverted.
;; A "connection" is really just a function that gets called when the engine runs, or a set of parameters that the engine can iterate through.
;;;;;;;;;;;;;;;;;;;;;;;;;;;
@@ -556,8 +563,6 @@
0
)
(defmethod remove-by-param2 engine ((obj engine) (p2-value int))
"Remove all connections with param2 matching p2-value"
(let* ((current (-> obj alive-list next0))