Updated makefile and buildtools to work with web
This commit is contained in:
parent
b58f85d957
commit
b5e74ae246
|
@ -30,10 +30,10 @@ if [ ! -f $release_dir/$name-$version.love ]; then
|
||||||
fi
|
fi
|
||||||
|
|
||||||
release="compat"
|
release="compat"
|
||||||
canvas_colour="197, 204, 184"
|
canvas_colour="62, 50, 100"
|
||||||
page_colour=$canvas_colour
|
page_colour=$canvas_colour
|
||||||
text_colour="102, 96, 146"
|
text_colour="223, 7, 114"
|
||||||
initial_memory=$(du -b $release_dir/$name-$version.love | awk '{print $1}')
|
initial_memory=0 #$(du -b $release_dir/$name-$version.love | awk '{print $1}')
|
||||||
title=$(echo $name-$version | sed -r 's/\<./\U&/g' | sed -r 's/-/\ /g')
|
title=$(echo $name-$version | sed -r 's/\<./\U&/g' | sed -r 's/-/\ /g')
|
||||||
|
|
||||||
# echo $title " " $canvas_colour " " $text_colour " " $initial_memory
|
# echo $title " " $canvas_colour " " $text_colour " " $initial_memory
|
||||||
|
@ -54,9 +54,13 @@ cat src/love.css | \
|
||||||
sed "s/{{page-colour}}/${page_colour}/g" > \
|
sed "s/{{page-colour}}/${page_colour}/g" > \
|
||||||
$name-$version/theme/love.css
|
$name-$version/theme/love.css
|
||||||
|
|
||||||
|
cat src/game.js | \
|
||||||
|
sed "s/{{{metadata}}}/{\"package_uuid\":\"2fd99e56-5455-45dd-86dd-7af724874d65\",\"remote_package_size\":4506139,\"files\":[{\"filename\":\"\/game.love\",\"crunched\":0,\"start\":0,\"end\":4506139,\"audio\":false}]}/" > \
|
||||||
|
$name-$version/game.js
|
||||||
|
|
||||||
cp src/consolewrapper.js $name-$version
|
cp src/consolewrapper.js $name-$version
|
||||||
cp src/game.js $name-$version
|
# cp src/game.js $name-$version
|
||||||
cp $release_dir/$name-$version.love $name-$version/game.data
|
cp $release_dir/$name-$version.love $name-$version/game.love
|
||||||
cp src/$release/love.js $name-$version
|
cp src/$release/love.js $name-$version
|
||||||
cp src/$release/love.wasm $name-$version
|
cp src/$release/love.wasm $name-$version
|
||||||
cp src/release/love.worker.js $name-$version
|
cp src/release/love.worker.js $name-$version
|
||||||
|
|
|
@ -1,4 +1,3 @@
|
||||||
|
|
||||||
var Module;
|
var Module;
|
||||||
|
|
||||||
if (typeof Module === 'undefined') Module = eval('(function() { try { return Module || {} } catch(e) { return {} } })()');
|
if (typeof Module === 'undefined') Module = eval('(function() { try { return Module || {} } catch(e) { return {} } })()');
|
||||||
|
@ -20,8 +19,8 @@ Module.expectedDataFileDownloads++;
|
||||||
} else {
|
} else {
|
||||||
throw 'using preloaded data can only be done on a web page or in a web worker';
|
throw 'using preloaded data can only be done on a web page or in a web worker';
|
||||||
}
|
}
|
||||||
var PACKAGE_NAME = 'game.data';
|
var PACKAGE_NAME = 'game.love';
|
||||||
var REMOTE_PACKAGE_BASE = 'game.data';
|
var REMOTE_PACKAGE_BASE = 'game.love';
|
||||||
if (typeof Module['locateFilePackage'] === 'function' && !Module['locateFile']) {
|
if (typeof Module['locateFilePackage'] === 'function' && !Module['locateFile']) {
|
||||||
Module['locateFile'] = Module['locateFilePackage'];
|
Module['locateFile'] = Module['locateFilePackage'];
|
||||||
Module.printErr('warning: you defined Module.locateFilePackage, that has been renamed to Module.locateFile (using your locateFilePackage for now)');
|
Module.printErr('warning: you defined Module.locateFilePackage, that has been renamed to Module.locateFile (using your locateFilePackage for now)');
|
||||||
|
@ -90,7 +89,7 @@ Module.expectedDataFileDownloads++;
|
||||||
function assert(check, msg) {
|
function assert(check, msg) {
|
||||||
if (!check) throw msg + new Error().stack;
|
if (!check) throw msg + new Error().stack;
|
||||||
}
|
}
|
||||||
{{{create_file_paths}}}
|
// {{{create_file_paths}}}
|
||||||
|
|
||||||
function DataRequest(start, end, crunched, audio) {
|
function DataRequest(start, end, crunched, audio) {
|
||||||
this.start = start;
|
this.start = start;
|
||||||
|
|
|
@ -74,7 +74,7 @@
|
||||||
}, false);
|
}, false);
|
||||||
|
|
||||||
var Module = {
|
var Module = {
|
||||||
arguments: ["./game.love","web"],
|
arguments: ["game.love","web"],
|
||||||
INITIAL_MEMORY: {{initial-memory}},
|
INITIAL_MEMORY: {{initial-memory}},
|
||||||
printErr: console.error.bind(console),
|
printErr: console.error.bind(console),
|
||||||
canvas: (function() {
|
canvas: (function() {
|
||||||
|
|
69
lib/stdio.lua
Normal file
69
lib/stdio.lua
Normal file
|
@ -0,0 +1,69 @@
|
||||||
|
require("love.event")
|
||||||
|
local function prompt(cont_3f)
|
||||||
|
local function _1_()
|
||||||
|
if cont_3f then
|
||||||
|
return ".."
|
||||||
|
else
|
||||||
|
return ">> "
|
||||||
|
end
|
||||||
|
end
|
||||||
|
io.write(_1_())
|
||||||
|
io.flush()
|
||||||
|
return (io.read() .. "\n")
|
||||||
|
end
|
||||||
|
local function looper(event, channel)
|
||||||
|
do
|
||||||
|
local _2_ = channel:demand()
|
||||||
|
if ((_G.type(_2_) == "table") and ((_2_)[1] == "write") and (nil ~= (_2_)[2])) then
|
||||||
|
local vals = (_2_)[2]
|
||||||
|
io.write(table.concat(vals, "\9"))
|
||||||
|
io.write("\n")
|
||||||
|
elseif ((_G.type(_2_) == "table") and ((_2_)[1] == "read") and (nil ~= (_2_)[2])) then
|
||||||
|
local cont_3f = (_2_)[2]
|
||||||
|
love.event.push(event, prompt(cont_3f))
|
||||||
|
end
|
||||||
|
end
|
||||||
|
return looper(event, channel)
|
||||||
|
end
|
||||||
|
do
|
||||||
|
local _4_, _5_ = ...
|
||||||
|
if ((nil ~= _4_) and (nil ~= _5_)) then
|
||||||
|
local event = _4_
|
||||||
|
local channel = _5_
|
||||||
|
looper(event, channel)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
local function start_repl()
|
||||||
|
local code = love.filesystem.read("lib/stdio.fnl")
|
||||||
|
local luac
|
||||||
|
if code then
|
||||||
|
luac = love.filesystem.newFileData(fennel.compileString(code), "io")
|
||||||
|
else
|
||||||
|
luac = love.filesystem.read("lib/stdio.lua")
|
||||||
|
end
|
||||||
|
local thread = love.thread.newThread(luac)
|
||||||
|
local io_channel = love.thread.newChannel()
|
||||||
|
local coro = coroutine.create(fennel.repl)
|
||||||
|
local options
|
||||||
|
local function _10_(_8_)
|
||||||
|
local _arg_9_ = _8_
|
||||||
|
local stack_size = _arg_9_["stack-size"]
|
||||||
|
io_channel:push({"read", (0 < stack_size)})
|
||||||
|
return coroutine.yield()
|
||||||
|
end
|
||||||
|
local function _11_(vals)
|
||||||
|
return io_channel:push({"write", vals})
|
||||||
|
end
|
||||||
|
local function _12_(errtype, err)
|
||||||
|
return io_channel:push({"write", {err}})
|
||||||
|
end
|
||||||
|
options = {readChunk = _10_, onValues = _11_, onError = _12_, moduleName = "lib.fennel"}
|
||||||
|
coroutine.resume(coro, options)
|
||||||
|
thread:start("eval", io_channel)
|
||||||
|
local function _13_(input)
|
||||||
|
return coroutine.resume(coro, input)
|
||||||
|
end
|
||||||
|
love.handlers.eval = _13_
|
||||||
|
return nil
|
||||||
|
end
|
||||||
|
return {start = start_repl}
|
2
makefile
2
makefile
|
@ -32,7 +32,7 @@ love: $(LOVEFILE)
|
||||||
|
|
||||||
# platform-specific distributables
|
# platform-specific distributables
|
||||||
|
|
||||||
REL=$(PWD)/love-release.sh # https://p.hagelb.org/love-release.sh
|
REL=$(PWD)/buildtools/love-release.sh # https://p.hagelb.org/love-release.sh
|
||||||
FLAGS=-a "$(AUTHOR)" --description $(DESCRIPTION) \
|
FLAGS=-a "$(AUTHOR)" --description $(DESCRIPTION) \
|
||||||
--love $(LOVE_VERSION) --url $(URL) --version $(VERSION) --lovefile $(LOVEFILE)
|
--love $(LOVE_VERSION) --url $(URL) --version $(VERSION) --lovefile $(LOVEFILE)
|
||||||
|
|
||||||
|
|
4
wrap.fnl
4
wrap.fnl
|
@ -14,10 +14,10 @@
|
||||||
(match (pcall mode.activate ...)
|
(match (pcall mode.activate ...)
|
||||||
(false msg) (print mode-name "activate error" msg))))
|
(false msg) (print mode-name "activate error" msg))))
|
||||||
|
|
||||||
(fn love.load []
|
(fn love.load [args]
|
||||||
(set-mode :mode-intro)
|
(set-mode :mode-intro)
|
||||||
(canvas:setFilter "nearest" "nearest")
|
(canvas:setFilter "nearest" "nearest")
|
||||||
(repl.start))
|
(when (~= :web (. args 1)) (repl.start)))
|
||||||
|
|
||||||
(fn safely [f]
|
(fn safely [f]
|
||||||
(xpcall f #(set-mode :error-mode mode-name $ (fennel.traceback))))
|
(xpcall f #(set-mode :error-mode mode-name $ (fennel.traceback))))
|
||||||
|
|
Loading…
Reference in a new issue