mirror of
https://github.com/bryanthaboi/gen1recomp.git
synced 2026-08-17 19:24:01 +02:00
57 lines
1.8 KiB
Lua
57 lines
1.8 KiB
Lua
package.path = "./?.lua;./?/init.lua;" .. package.path
|
|
|
|
local clock, quit = 1, false
|
|
local sent, queue, draws = {}, {}, 0
|
|
local peer = {
|
|
send = function(_, data) sent[#sent + 1] = data end,
|
|
disconnect_now = function() end,
|
|
}
|
|
local host = {
|
|
connect = function() return peer end,
|
|
service = function()
|
|
if #queue == 0 then return nil end
|
|
return table.remove(queue, 1)
|
|
end,
|
|
}
|
|
local rendered = {
|
|
setFilter = function() end, replacePixels = function() end,
|
|
release = function() end,
|
|
}
|
|
love = {
|
|
timer = { getTime = function() return clock end },
|
|
data = { decompress = function(_, _, value) return value end },
|
|
image = { newImageData = function(w, h, format, raw)
|
|
assert(w == 1 and h == 1 and format == "rgba8" and raw == "rgba")
|
|
return {}
|
|
end },
|
|
graphics = {
|
|
newImage = function() return rendered end,
|
|
getDimensions = function() return 100, 100 end,
|
|
clear = function() end, setColor = function() end,
|
|
draw = function() draws = draws + 1 end,
|
|
},
|
|
event = { quit = function() quit = true end },
|
|
}
|
|
package.preload.enet = function()
|
|
return { host_create = function() return host end }
|
|
end
|
|
|
|
require("src.render.DesktopCompanion").install({ port = 50000, token = "token" })
|
|
queue[#queue + 1] = { type = "connect" }
|
|
love.update()
|
|
assert(sent[#sent] == "Htoken", "companion authenticates after connecting")
|
|
queue[#queue + 1] = {
|
|
type = "receive", data = "Ftoken\n1,1,0,auto\nrgba",
|
|
}
|
|
love.update()
|
|
love.draw()
|
|
assert(draws == 1, "companion draws a received frame")
|
|
love.mousepressed(50, 50, 1)
|
|
love.mousereleased(50, 50, 1)
|
|
assert(sent[#sent - 1] == "Itoken\ndown,0,0"
|
|
and sent[#sent] == "Itoken\nup,0,0", "mouse input maps back to source pixels")
|
|
queue[#queue + 1] = { type = "receive", data = "Qtoken" }
|
|
love.update()
|
|
assert(quit, "parent can close the companion")
|
|
print("desktop companion: ok")
|