Added module system

This commit is contained in:
MaddoScientisto 2024-04-22 21:54:00 +02:00
commit 86722ea10e
3 changed files with 109 additions and 44 deletions

View file

@ -6,7 +6,7 @@ version 2
:: sfx/
:: gfx/0.gfx
b64$LS1bW3BvZCxjcmVhdGVkPSIyMDI0LTA0LTA0IDA3OjE5OjM0Iixtb2RpZmllZD0iMjAyNC0w
NC0yMSAyMTozMTo0MCIscmV2aXNpb249NDkwXV1sejQAbgYAAOA6AADzFHtbMF09e2JtcD1weHUA
NC0yMiAxOTo1Mzo0MyIscmV2aXNpb249NTM1XV1sejQAbgYAAOA6AADzFHtbMF09e2JtcD1weHUA
QyAQEATw8CxmbGFncz0wLHBhbl94CADaeT0wLHpvb209MTF9LDIA8QivGyPeA34D3iPeA-4JE24D
ThNuI04DfhMA-wOOAz4DTgMuI34jLgOeA-4UAy5eAB3wCfBFTYAtJi1QHWYdBSAdhg0VAB2WHRUN
pgQAww0VAA2WHQUQvQXwE1gAHzFYABXwKlBEgBRPHxRQDxSPHwRALxRPHyRADxQfH0QODxkEQA8U
@ -38,11 +38,11 @@ EAfwBAcQByAHMAeAQgAdkAgAOAAIAAgwCAYAgRAIABhQGFAYCgAEFgA-OAAINwEfDzIA--------
------------------------------------w1A9MTF9fQ==
:: gfx/.info.pod
b64$LS1bW3BvZCxjcmVhdGVkPSIyMDI0LTA0LTA0IDA3OjE5OjMzIixtb2RpZmllZD0iMjAyNC0w
NC0yMSAyMTozMTo0MCIsc3RvcmVkPSIyMDI0LTA0LTA0IDA3OjE5OjMzIl1dbHo0AAQAAAADAAAA
NC0yMiAxOTo1Mzo0MyIsc3RvcmVkPSIyMDI0LTA0LTA0IDA3OjE5OjMzIl1dbHo0AAQAAAADAAAA
MG5pbA==
:: map/0.map
b64$LS1bW3BvZCxjcmVhdGVkPSIyMDI0LTA0LTA0IDA3OjE5OjMzIixtb2RpZmllZD0iMjAyNC0w
NC0yMSAyMTozMTo0MCIscmV2aXNpb249NTAxXV1sejQAagIAALFBAADwCHt7Ym1wPXVzZXJkYXRh
NC0yMiAxOTo1Mzo0MyIscmV2aXNpb249NTQ2XV1sejQAagIAALFBAADwCHt7Ym1wPXVzZXJkYXRh
KCJpMTYiLDMyAwAvIjABAP--jD80ODABAF4vNDABAAs-MTMw9AL--1wOBAMOIAAPAQBGEzMEAAgB
AC8zMAEATi80OBgADw4kAA8BADkOaAAPAQD----------8vxGSIpLGhpZGRlbj1mYWxzZSxuYW1l
PSJvYmplY3RzIixwYW5feD0tOTAKAPIBeT0tMTEwLHRpbGVfaD0xNgoAEHcKAI96b29tPTF9LGsQ
@ -56,11 +56,11 @@ ACIPAQA3HzgEACIPgAE3HzgEACMPAQA1LzE4BAAjDwEANS8xOAQAIw8BADUvMTgEACMPAQA1LzE4
BAAjD9cg-----------FTGJhY2vXIA9uEBFQbT0xfX0=
:: map/.info.pod
b64$LS1bW3BvZCxjcmVhdGVkPSIyMDI0LTA0LTA0IDA3OjE5OjMzIixtb2RpZmllZD0iMjAyNC0w
NC0yMSAyMTozMTo0MCIsc3RvcmVkPSIyMDI0LTA0LTA0IDA3OjE5OjMzIl1dbHo0AAQAAAADAAAA
NC0yMiAxOTo1Mzo0MyIsc3RvcmVkPSIyMDI0LTA0LTA0IDA3OjE5OjMzIl1dbHo0AAQAAAADAAAA
MG5pbA==
:: sfx/0.sfx
b64$LS1bW3BvZCxjcmVhdGVkPSIyMDI0LTA0LTA0IDA3OjE5OjM0Iixtb2RpZmllZD0iMjAyNC0w
NC0yMSAyMTozMTo0MCIscmV2aXNpb249NDAwXV1sejQARgEAAGYIAADwJ3B4dQADKAAAAwAED0AQ
NC0yMiAxOTo1Mzo0MyIscmV2aXNpb249NDQ1XV1sejQARgEAAGYIAADwJ3B4dQADKAAAAwAED0AQ
Ag4AAaABIAKgDgAPEAAN8MoBAgMEBQYHAA--kAgJCgsPDA8NDw4PDxAA8AANDxEPEg8TDxQPFQ8W
DxcTAPEBDxgPGQ8aDxsPHA8dDx4PHxQA8QAgDyEPIg8jDyQPJQ8mDycUAPEAKA8pDyoPKw8sDy0P
Lg8vFADxADAPMQ8yDzMPNA81DzYPNxQA-wU4DzkPOg87DzwPPQ8_Dz8AD--w-wEA6-InWgEQBg8g
@ -69,43 +69,81 @@ L-AAMAD--4If-wEAzPEd6A9AAA1ADxcACxoIBggQAgMQBQAGAAgASRcAJggJUP--CfEX-gn8F-4J
8HArAF-_sPBwBAgA-9wf-wEAl1D-----Hw==
:: sfx/.info.pod
b64$LS1bW3BvZCxjcmVhdGVkPSIyMDI0LTA0LTA0IDA3OjE5OjMzIixtb2RpZmllZD0iMjAyNC0w
NC0yMSAyMTozMTo0MCIsc3RvcmVkPSIyMDI0LTA0LTA0IDA3OjE5OjMzIl1dbHo0AAQAAAADAAAA
NC0yMiAxOTo1Mzo0MyIsc3RvcmVkPSIyMDI0LTA0LTA0IDA3OjE5OjMzIl1dbHo0AAQAAAADAAAA
MG5pbA==
:: main.lua
--[[pod_format="raw",created="2024-04-04 07:19:33",modified="2024-04-21 21:31:40",revision=522]]
--[[pod_format="raw",created="2024-04-04 07:19:33",modified="2024-04-22 19:53:43",revision=587]]
--cd("/cirnofarm/src")
include("/cirnofarm/src/cirno.lua")
--function _init()
-- x = 128
-- y = 128
-- hflip = false
-- playerSpr = 64
--end
--include("/cirnofarm/src/cirno.lua")
--function _init()
function make_path(name)
local base_path = "/cirnofarm/src/" -- Change this when releasing
return base_path .. name
end
--end
local _modules = {}
--function _draw()
-- camera(x - 240, y - 135)
-- cls(0)
--drawMap()
-- spr(playerSpr,x,y, hflip)
function loadfile (filename)
local src = fetch(filename)
--end
if (type(src) ~= "string") then
notify("could not include "..filename)
stop()
return
end
--function _update()
-- if (btn(0)) x -= 2 hflip = true
-- if (btn(1)) x += 2 hflip = false
-- if (btn(2)) y -= 2
-- if (btn(3)) y += 2
--end
-- https://www.lua.org/manual/5.4/manual.html#pdf-load
-- chunk name (for error reporting), mode ("t" for text only -- no binary chunk loading), _ENV upvalue
-- @ is a special character that tells debugger the string is a filename
local func,err = load(src, "@"..filename, "t", _ENV)
-- syntax error while loading
if (not func) then
send_message(3, {event="report_error", content = "*syntax error"})
send_message(3, {event="report_error", content = tostr(err)})
stop()
return
end
return func
end
function require(name)
local already_imported = _modules[name]
if already_imported ~= nil then
return already_imported
end
local filename = fullpath(name:gsub ('%.', '/') ..'.lua')
local func = loadfile (filename)
local module = func(name)
_modules[name]=module
return module
end
local strawberry = require(make_path("strawberry"))
strawberry.func()
local cirno = require(make_path("cirno"))
function _init()
cirno.init()
end
function _update()
cirno.update()
end
function _draw()
cirno.draw()
end
:: .info.pod
b64$LS1bW3BvZCxjcmVhdGVkPSIyMDI0LTA0LTE2IDE5OjQyOjIyIixtb2RpZmllZD0iMjAyNC0w
NC0yMSAyMTozMTo0MCIscnVudGltZT02LHN0b3JlZD0iMjAyNC0wNC0xNiAxOTo0MDowNSIsd29y
a3NwYWNlcz17e2xvY2F0aW9uPSJtYWluLmx1YSMxIix3b3Jrc3BhY2VfaW5kZXg9MX0se2xvY2F0
aW9uPSJnZngvMC5nZngiLHdvcmtzcGFjZV9pbmRleD0yfSx7bG9jYXRpb249Im1hcC8wLm1hcCIs
d29ya3NwYWNlX2luZGV4PTN9LHtsb2NhdGlvbj0ic2Z4LzAuc2Z4Iix3b3Jrc3BhY2VfaW5kZXg9
NH19XV1sejQABAAAAAMAAAAwbmls
NC0yMiAxOTo1Mzo0MyIscnVudGltZT02LHN0b3JlZD0iMjAyNC0wNC0xNiAxOTo0MDowNSIsd29y
a3NwYWNlcz17e2xvY2F0aW9uPSJtYWluLmx1YSM2NiIsd29ya3NwYWNlX2luZGV4PTF9LHtsb2Nh
dGlvbj0iZ2Z4LzAuZ2Z4Iix3b3Jrc3BhY2VfaW5kZXg9Mn0se2xvY2F0aW9uPSJtYXAvMC5tYXAi
LHdvcmtzcGFjZV9pbmRleD0zfSx7bG9jYXRpb249InNmeC8wLnNmeCIsd29ya3NwYWNlX2luZGV4
PTR9fV1dbHo0AAQAAAADAAAAMG5pbA==
:: [eoc]

View file

@ -1,5 +1,7 @@
--[[pod_format="raw",created="2024-04-14 14:05:11",modified="2024-04-21 21:31:12",revision=319]]
--[[pod_format="raw",created="2024-04-14 14:05:11",modified="2024-04-22 19:53:44",revision=324]]
--include("/cirnofarm/src/actor.lua")
last_coll=0
mouse_debug = true
w=480
@ -48,7 +50,7 @@ function create_bullet(new_x,new_y)
})
end
function _init()
function cirno_init()
bullets={}
player={}
@ -114,7 +116,7 @@ function _init()
end
function _draw()
function cirno_draw()
cls(0)
--camera(x - 240, y - 135)
@ -150,7 +152,7 @@ function drawMap()
end
end
function _update()
function cirno_update()
for p in all(player) do
p:update()
end
@ -256,4 +258,21 @@ function cmap(o)
end
return ct or cb
end
end
M = {}
function M.init()
return cirno_init()
end
function M.update()
return cirno_update()
end
function M.draw()
return cirno_draw()
end
return M

8
src/strawberry.lua Normal file
View file

@ -0,0 +1,8 @@
--[[pod_format="raw",created="2024-04-22 19:32:54",modified="2024-04-22 19:53:44",revision=3]]
M = {}
function M.func()
print("inside module.func()")
end
return M