aboutsummaryrefslogtreecommitdiffstats
path: root/alv/copilot
diff options
context:
space:
mode:
authors-ol <s+removethis@s-ol.nu>2021-05-01 21:10:27 +0000
committers-ol <s+removethis@s-ol.nu>2025-03-02 14:24:49 +0000
commit0bab32aeb2e8759d7457a8f36415c3c830eb01c4 (patch)
tree47d600e01a84d102eb15cb2042c931dff80beeb1 /alv/copilot
parentfix missing time/ramp evaltime result (diff)
downloadalive-0bab32aeb2e8759d7457a8f36415c3c830eb01c4.tar.gz
alive-0bab32aeb2e8759d7457a8f36415c3c830eb01c4.zip
add basic love2d support
Diffstat (limited to 'alv/copilot')
-rw-r--r--alv/copilot/cli.moon5
-rw-r--r--alv/copilot/love.moon29
2 files changed, 33 insertions, 1 deletions
diff --git a/alv/copilot/cli.moon b/alv/copilot/cli.moon
index 14bfd6b..67e8450 100644
--- a/alv/copilot/cli.moon
+++ b/alv/copilot/cli.moon
@@ -25,12 +25,15 @@ class CLICopilot extends Copilot
super parse_args arg, { nocolor: false, 'udp-server': false }
assert @args[1], "no filename given"
- run: =>
+ setup: =>
if @args.nocolor
Logger\init @args.log
else
ColorLogger\init @args.log
+ run: =>
+ @setup!
+
while true
@tick!
sleep 1 / 1000
diff --git a/alv/copilot/love.moon b/alv/copilot/love.moon
new file mode 100644
index 0000000..2a7458f
--- /dev/null
+++ b/alv/copilot/love.moon
@@ -0,0 +1,29 @@
+----
+-- löve Copilot entrypoint.
+--
+-- @classmod LoveCopilot
+import CLICopilot from require 'alv.copilot.cli'
+
+class LoveCopilot extends CLICopilot
+ new: (arg) =>
+ table.remove arg, 1
+ super arg
+ @drawlist = {}
+
+ update: =>
+ @tick!
+
+ draw: =>
+ for id, list in pairs @drawlist
+ for fn in *list
+ fn!
+
+ run: =>
+ @setup!
+
+ love.draw = @\draw
+ love.update = @\update
+
+{
+ :LoveCopilot
+}