cirnofarm/cirnofarm.p64
2024-04-22 23:09:35 +02:00

154 lines
6.5 KiB
Text

picotron cartridge // www.picotron.net
version 2
:: gfx/
:: map/
:: sfx/
:: gfx/0.gfx
b64$LS1bW3BvZCxjcmVhdGVkPSIyMDI0LTA0LTA0IDA3OjE5OjM0Iixtb2RpZmllZD0iMjAyNC0w
NC0yMiAyMTowOToyOCIscmV2aXNpb249NTY3XV1sejQAbgYAAOA6AADzFHtbMF09e2JtcD1weHUA
QyAQEATw8CxmbGFncz0wLHBhbl94CADaeT0wLHpvb209MTF9LDIA8QivGyPeA34D3iPeA-4JE24D
ThNuI04DfhMA-wOOAz4DTgMuI34jLgOeA-4UAy5eAB3wCfBFTYAtJi1QHWYdBSAdhg0VAB2WHRUN
pgQAww0VAA2WHQUQvQXwE1gAHzFYABXwKlBEgBRPHxRQDxSPHwRALxRPHyRADxQfH0QODxkEQA8U
PhoNDxkOBEANLgoACg0ODARADR4aAAoJDBQAQA5KCQoSAEEOKgAKJQASXiIA714NDA4EUBQ_DRSA
RPAVkwAd8AjwFZxADH8QHDAMfgwODCCcHgwgDH8cDAcAH30GAAavDgwwDH0cQJzwFG8AHvcEBj8Z
UGkuWU4ZDhleWR55UB4ZsAMAIcAOAwBfKcAZ8BdbAA8PRQIFDzIAR-wBzxMvEQ8TXxEPEz8RDxMM
Hw0AKAxPDgAjLC8OALQcDxF-EwwvET8THyAAABsAH08NAA7xADwOLxEuDC2OHQ4MLQ5tDgcAJwxd
CAB-PA4sPQ4d3sgAHdn0DA8fNB50HjQeJB4kBgDxAEQOJB7UHoQeJA6UHoQONAQABh4AEIQEAD8O
9AmcAR3-Qf8WADYOhg4WBRYOBSYFNg42BQ5mBQYORg4WBVYOBv4AVg5GDjYFNg4mBQYOhg4GBSYO
BgVmDkYOJv4Ahg6WBTYOFgW2DnYFJgUWDjYFlg5WgAAe8gAVAwwPEAwOHA4MDgxvFQ4KAFEdDB0M
LQsAsR0ODB0MDi0OHA4tCgBSDC0cLQwKADQOXQ4KAD8MPQwMAAIFIgAFNgAFSgACXwAzLQxNcwAj
bQwJAD8M-QPFAB3QHxXUHpQPHyQeBA1kHQYAPxQdJAgABDB0HjQEAFANhB6UDRIAJnQNIAAXNAYA
fwQNFA2EHtRrA4EPMgAf8RRAXxRwHg8VPx8uQB4PFQ4-Hw8VDg0OIB4NDg0-Hw4NDg0OEAYAYTwN
Dg0eAAsAMQ0OHAcAET4GACEcDgcAER4GACcOFBoAJRQOGgDgLA0OLF5MDg1MDQ4ADjwWAFI8DhAO
LFoAQQ4gDgwKAGENDhwOQC4KAE8ecF5AywAkAD8AUS5ADg8fSQBjDg0uIA4sCwAxHA4QyQBgDg08
AA5MCABRTC5MLkyiACAUTLYANxwUHM4ALBwe5wA1DgAeGQAIGgESINQAbg0eQC48LrwAD_sBQdAT
nVANfxANUA0OXxgOBwBCDD8eDAkAPwscCwoAEhI7CAAQXAYARX4NUJ2dBx8zuAAfDzIAqyoGBQIA
egcWB5YHBgUCAFm2B0YFBgIASfYABQYCAFlmB5YFBgIAWYYHVgUGAgA9VgeGWwBZxgcWBQYCAD9G
B6bFAB32APUB3xgV3hXfFRXeFd4V3QYAf-UC3RXd9QFQAB1P9gANBgIAyi-2AWMBH0cPFg0OAgA4
FQ0OAgAm9QHdCFcvEX8TP78IFz_kCA8MAAl1LxEvEz8RjzgAP28RDwwAFC-fE1wDHw8yAP--RV--
FBLQHgIABg87CR1P-xQQ8DUAIS-QHgIABw5PAA82ARUPMgDdIh8UMgEPzwE4PxLALgIAAi-_EUwA
HR7QngAP6AH-Qy-_EEkBHk-Q-xQQzwE5Lv4SgwAPNgEVDzIA3WEwPA8cLGA0D5EHDA4cMBwODEeC
EpAODGcMDjAeFw4CADIMQA4JAPAhIB4gVwAOMB4gNzAeQCwIHBAeQAcsCBwHQB4AB1wHAB4AHhB8
EB4gBwwHDAdMcBcACACfDHAXEBeQGBAY7Qwe8gQwLD8ccBxuYAwOEQ4RBw5gDAcOAwBgYAwHHAcc
CAD-MQ8XRw0OUBwnDScegAwHDqAHDAcIBw4HcAcMDggOCB4HUAccbgcwFyxeFyAXfAAXQAcAFwAH
EAeQBwAHsBwAHFCUAR8PMgD-GP8ngA8b0B6ATxgOPUA9Am0wvTAdAm0CHSBdAl0gzTAdAk0CLTBN
CF0wPQJtQF0CLWB9cG2QTbAtkwH-Sw8yABz-AAQEBAAfHAAOFx4XDgAeADwAGv8GCAgEgAcwByAH
EAfwBAcQByAHMAeAQgAdkAgAOAAIAAgwCAYAgRAIABhQGFAYCgAEFgA-OAAINwEfDzIA--------
------------------------------------w1A9MTF9fQ==
:: gfx/.info.pod
b64$LS1bW3BvZCxjcmVhdGVkPSIyMDI0LTA0LTA0IDA3OjE5OjMzIixtb2RpZmllZD0iMjAyNC0w
NC0yMiAyMTowOToyOCIsc3RvcmVkPSIyMDI0LTA0LTA0IDA3OjE5OjMzIl1dbHo0AAQAAAADAAAA
MG5pbA==
:: map/0.map
b64$LS1bW3BvZCxjcmVhdGVkPSIyMDI0LTA0LTA0IDA3OjE5OjMzIixtb2RpZmllZD0iMjAyNC0w
NC0yMiAyMTowOToyOCIscmV2aXNpb249NTc4XV1sejQAagIAALFBAADwCHt7Ym1wPXVzZXJkYXRh
KCJpMTYiLDMyAwAvIjABAP--jD80ODABAF4vNDABAAs-MTMw9AL--1wOBAMOIAAPAQBGEzMEAAgB
AC8zMAEATi80OBgADw4kAA8BADkOaAAPAQD----------8vxGSIpLGhpZGRlbj1mYWxzZSxuYW1l
PSJvYmplY3RzIixwYW5feD0tOTAKAPIBeT0tMTEwLHRpbGVfaD0xNgoAEHcKAI96b29tPTF9LGsQ
-58uMTAMAA8BAP-vL2EwgADtDwEA--------------9LD2sQA6Zmb3JlZ3JvdW5kbhAfNG4Qvi8z
OQQAAw8BAFFjMzIwMDA5BAAaYgwAD8wbUAqAABowDAAfMwABbRY4jAEPBAABD4AANg8BAAUeY5QA
CAgAHzOAAFkXMAwAD4AAPRc1BAAIAQAMEAAaMwQALzMwgAA0HjTaIQ88AA8PgABoHzOAADwfNQQA
DAQBABo1BAAPgAA2DwEAIg_AADwfM4AAbB8wgAChDwEA-80fMxwAGC8yMAEAMw9IAAEvMjABAGgP
kADQD_gBCR8wXAAuDwEArx8y3AARDxQCrB8yvAECDwEA8w9MAQ0vMzBuEP_zR3NvbGlpEB84aRAx
DwEA-4QuOTAMAA-PIdEfYQQAAw8BAFUvMWEEAAMvMDCQAVMnMWIEABY5BAAvMDgEAAoPAQA3HzgE
ACIPAQA3HzgEACIPgAE3HzgEACMPAQA1LzE4BAAjDwEANS8xOAQAIw8BADUvMTgEACMPAQA1LzE4
BAAjD9cg-----------FTGJhY2vXIA9uEBFQbT0xfX0=
:: map/.info.pod
b64$LS1bW3BvZCxjcmVhdGVkPSIyMDI0LTA0LTA0IDA3OjE5OjMzIixtb2RpZmllZD0iMjAyNC0w
NC0yMiAyMTowOToyOCIsc3RvcmVkPSIyMDI0LTA0LTA0IDA3OjE5OjMzIl1dbHo0AAQAAAADAAAA
MG5pbA==
:: sfx/0.sfx
b64$LS1bW3BvZCxjcmVhdGVkPSIyMDI0LTA0LTA0IDA3OjE5OjM0Iixtb2RpZmllZD0iMjAyNC0w
NC0yMiAyMTowOToyOCIscmV2aXNpb249NDc3XV1sejQARgEAAGYIAADwJ3B4dQADKAAAAwAED0AQ
Ag4AAaABIAKgDgAPEAAN8MoBAgMEBQYHAA--kAgJCgsPDA8NDw4PDxAA8AANDxEPEg8TDxQPFQ8W
DxcTAPEBDxgPGQ8aDxsPHA8dDx4PHxQA8QAgDyEPIg8jDyQPJQ8mDycUAPEAKA8pDyoPKw8sDy0P
Lg8vFADxADAPMQ8yDzMPNA81DzYPNxQA-wU4DzkPOg87DzwPPQ8_Dz8AD--w-wEA6-InWgEQBg8g
EAEgASAB8AACEAIMEAEgDyEgATAPQPDDDygP--DGD-gKD-8PgA-3Dw0B8AkBEAYMMAA-Dw-gMQAb
L-AAMAD--4If-wEAzPEd6A9AAA1ADxcACxoIBggQAgMQBQAGAAgASRcAJggJUP--CfEX-gn8F-4J
8HArAF-_sPBwBAgA-9wf-wEAl1D-----Hw==
:: sfx/.info.pod
b64$LS1bW3BvZCxjcmVhdGVkPSIyMDI0LTA0LTA0IDA3OjE5OjMzIixtb2RpZmllZD0iMjAyNC0w
NC0yMiAyMTowOToyOCIsc3RvcmVkPSIyMDI0LTA0LTA0IDA3OjE5OjMzIl1dbHo0AAQAAAADAAAA
MG5pbA==
:: main.lua
--[[pod_format="raw",created="2024-04-04 07:19:33",modified="2024-04-22 21:09:28",revision=646]]
--cd("/cirnofarm/src")
--include("/cirnofarm/src/cirno.lua")
function make_path(name)
local base_path = "/cirnofarm/src/" -- Change this when releasing
return base_path .. name
end
local _modules = {}
function loadfile (filename)
local src = fetch(filename)
if (type(src) ~= "string") then
notify("could not include "..filename)
stop()
return
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"))
local mouse_debug = require(make_path("mouse_debug"))
tile_width = 16
tile_height = 16
function _init()
cirno.init()
end
function _update()
cirno.update()
end
function _draw()
cirno.draw()
mouse_debug.draw(3, tile_width, tile_height)
end
:: .info.pod
b64$LS1bW3BvZCxjcmVhdGVkPSIyMDI0LTA0LTE2IDE5OjQyOjIyIixtb2RpZmllZD0iMjAyNC0w
NC0yMiAyMTowOToyOCIscnVudGltZT02LHN0b3JlZD0iMjAyNC0wNC0xNiAxOTo0MDowNSIsd29y
a3NwYWNlcz17e2xvY2F0aW9uPSJtYWluLmx1YSM2NSIsd29ya3NwYWNlX2luZGV4PTF9LHtsb2Nh
dGlvbj0iZ2Z4LzAuZ2Z4Iix3b3Jrc3BhY2VfaW5kZXg9Mn0se2xvY2F0aW9uPSJtYXAvMC5tYXAi
LHdvcmtzcGFjZV9pbmRleD0zfSx7bG9jYXRpb249InNmeC8wLnNmeCIsd29ya3NwYWNlX2luZGV4
PTR9fV1dbHo0AAQAAAADAAAAMG5pbA==
:: [eoc]