work on atelier 2, demo01, added listcolors to tray

This commit is contained in:
Shoofle 2024-08-07 10:40:35 -04:00
parent e1c821c26f
commit 450b28da84
8 changed files with 362 additions and 80 deletions

BIN
.DS_Store vendored Normal file

Binary file not shown.

BIN
.info.pod

Binary file not shown.

BIN
appdata/system/code.pod Normal file

Binary file not shown.

Binary file not shown.

View File

@ -0,0 +1,7 @@
--[[pod_format="raw",created="2024-08-07 14:22:44",modified="2024-08-07 14:25:39",revision=3]]
create_process(
"/listcolors.p64",
{window_attribs =
{workspace = "tooltray", x=2, y=2, width=64*4, height=16*8}
}
)

View File

@ -5,7 +5,7 @@ version 2
:: map/ :: map/
:: sfx/ :: sfx/
:: art.lua :: art.lua
--[[pod_format="raw",created="2024-03-31 01:52:08",modified="2024-04-23 02:42:09",revision=695]] --[[pod_format="raw",created="2024-03-31 01:52:08",modified="2024-04-29 15:31:52",revision=710]]
function bob(s, x, y, w, h, t) function bob(s, x, y, w, h, t)
sspr(s, 0, 0, w, h, x+t/2, y-t/2, w-t, h+t) sspr(s, 0, 0, w, h, x+t/2, y-t/2, w-t, h+t)
end end
@ -70,10 +70,11 @@ function wrap(str, line_length)
end end
function collides(position, object) function collides(position, object)
if DEBUG then add(collider_renders, object)
rect(object.left, object.top, object.right, object.bottom, 8) return position.x < object.right and
end position.x > object.left and
return position.x < object.right and position.x > object.left and position.y > object.top and position.y < object.bottom position.y > object.top and
position.y < object.bottom
end end
:: cabinet.lua :: cabinet.lua
--[[pod_format="raw",created="2024-04-03 19:46:51",modified="2024-04-23 02:36:18",revision=694]] --[[pod_format="raw",created="2024-04-03 19:46:51",modified="2024-04-23 02:36:18",revision=694]]
@ -337,7 +338,7 @@ function Glow:update()
end end
:: gfx/0.gfx :: gfx/0.gfx
b64$LS1bW3BvZCxjcmVhdGVkPSIyMDI0LTAzLTI5IDAxOjE0OjUxIixtb2RpZmllZD0iMjAyNC0w b64$LS1bW3BvZCxjcmVhdGVkPSIyMDI0LTAzLTI5IDAxOjE0OjUxIixtb2RpZmllZD0iMjAyNC0w
NC0yMyAwMzoxOTo0NSIscmV2aXNpb249MTI2NF1dbHo0ANMdAAAZZwAA8Rp7WzBdPXtibXA9cHh1 NC0yOSAxNzo1MDoyMSIscmV2aXNpb249MTI4Nl1dbHo0AGAeAAAZZwAA8Rp7WzBdPXtibXA9cHh1
AEMgEBAE8PAsZmxhZ3M9MCxwYW5feD0wLjM3NQwA_wJ5PS0wLjEyNSx6b29tPTV9LDoAkCR6cAoP AEMgEBAE8PAsZmxhZ3M9MCxwYW5feD0wLjM3NQwA_wJ5PS0wLjEyNSx6b29tPTV9LDoAkCR6cAoP
HU8eCgcAcD8ODx4KYBoJAP8CDRpQCh8dPw4dClAKDx1fDg0IAAT-Aw8eClAKDl8ODgpQCn4KUJrw HU8eCgcAcD8ODx4KYBoJAP8CDRpQCh8dPw4dClAKDx1fDg0IAAT-Aw8eClAKDl8ODgpQCn4KUJrw
A4sAJqUGOrAKHxMKsAoeBADwAKAaHhqQCgMOEQqQCgMPEgcAPQ4dAQYArw4KkAo_CpBa8AV9ACYQ A4sAJqUGOrAKHxMKsAoeBADwAKAaHhqQCgMOEQqQCgMPEgcAPQ4dAQYArw4KkAo_CpBa8AV9ACYQ
@ -417,66 +418,69 @@ F25gBuBeoBWgLQINsDKALgeeIELAjjA_wELAQnAeB66CLgIOIl4H2gDggi0A-gPiHgeeAg0yPhLY
APAdws5SPRJtAt4CbTINYvABEi1yrm0SLWItAp5STaLwAXIdMn4CbVJdIj1ego3ZAP4BPQ7yAd2y APAdws5SPRJtAt4CbTINYvABEi1yrm0SLWItAp5STaLwAXIdMn4CbVJdIj1ego3ZAP4BPQ7yAd2y
DUKd8BdyTfIETToFDzIHGA86AP------------8kAY4d-wAeFzbwCgcwBvALBhAG8AwFAA-wFwsG DUKd8BdyTfIETToFDzIHGA86AP------------8kAY4d-wAeFzbwCgcwBvALBhAG8AwFAA-wFwsG
MAbwCBZQFvAFBx8ccAbwAwcvGi8cED4G8AEHbxoeTQbwAAfdBQBzHQutBvAABgcA-wgtC50G8AEG MAbwCBZQFvAFBx8ccAbwAwcvGi8cED4G8AEHbxoeTQbwAAfdBQBzHQutBvAABgcA-wgtC50G8AEG
vQbwAwadBvAFFl0W8AhWwBIVJQK8Id-2MPAPBv8aMAbwDgb_BgD-LlEwnxjwAAkAUw0GUAYNDAAS vQbwAwadBvAFFl0W8AhWwBIVJQAuEfF6--r2BvA6Bv8aBAbwORb_BAbwOBb_BQbwNxb_BhbwNRb_
nQgAEGD8ARkDCgASthAAE5AYAE_gBvACCAAII2ZAEAA-UAYwCgAdUFbwA-Yw8gEfYy8CFB8yXQMn CAbwNBb_CQbwMxb_CwbwMRb_DBbwLib_DhbwLBb_EhbwKCb_FBbwJhb_FxbwJBb_GRbwISb_Gxbw
DzoA-----------------9nwI2CABPD-JL8U8ED_AvA8-gbwOT8V-gTwNz3_BfA1Tf4H8DNN-gjw Hxb_HxbwHBb_ISbwGRb_JBbwFxb_JhbwFRb_KQbwFAb_KhbwEhb_KxbwEQb_LQYGAHYW8A8G-i8G
Mk3_CvAwTf4L8C9dBQD4AE3_DPAuXf4N8C1N-g3wLgUAMwzwLwUAMQsPDwcAEDwmAPAMCTzwLBxN BgBPMAbwDgYAmVEwnxjwAAkAUw0GUAYNDAASnQgAEGD8ARkDCgASthAAE5AYAE_gBvACCAAII2ZA
-gg88C4cPf4HLA8X8DFN-gULHAsMCQDwrAQMCwwLDPAzTb4tLg8ZHAsc8DNdjj0uGjzwNV1ObR4q EAA-UAYwCgAdUFbwA-Yw8gEfYy8CFB8yXQMnDzoA-----------------9nwI2CABPD-JL8U8ED_
PPA2-QFKPPA3zXos8DkKTdoc8Dv6AwzwO5oMivA7amx68DpafHrwOVofHAxpavA4WqlaOfA0WslK AvA8-gbwOT8V-gTwNz3_BfA1Tf4H8DNN-gjwMk3_CvAwTf4L8C9dBQD4AE3_DPAuXf4N8C1N-g3w
OfA0SgDpKknwMyogmS8QKQpZ8DQKSEn4BPAw_BHwLmgPCvgM8CtoFygn_AfwKfgDNzgXqPAoJ-gM LgUAMwzwLwUAMQsPDwcAEDwmAPAMCTzwLBxN-gg88C4cPf4HLA8X8DFN-gULHAsMCQDwrAQMCwwL
B7jwIgf4EieI8CH4FgeI8CD4GAd48CD4GSc48B-4IfAf_CLwHfggBxgGAPEHFxjwHPghByjwG-gl DPAzTb4tLg8ZHAsc8DNdjj0uGjzwNV1ObR4qPPA2-QFKPPA3zXos8DkKTdoc8Dv6AwzwO5oMivA7
8Bv4JvAaKAn4IgYA8CMOCfgE8BoYCfgOGSgJ_ADwGRgJ_A8ZGAmYB1jwGAgZ_BAJKAmIB1jwGQn4 amx68DpafHrwOVofHAxpavA4WqlaOfA0WslKOfA0SgDpKknwMyogmS8QKQpZ8DQKSEn4BPAw_BHw
ERkoCRgJWBkAVAn4Eik4CwDxAhQZGBlYF1jwFwn4FRkIGWgHCwCBGBno8BYJ_Bk_AGQUGfgVGRgL LmgPCvgM8CtoFygn_AfwKfgDNzgXqPAoJ-gMB7jwIgf4EieI8CH4FgeI8CD4GAd48CD4GSc48B-4
AFAUCTgZ6AkAEBpyAIITGfgaGYgXOAkARvgA8BIIABEbiACBEQn4HAmoB0gJACQZmAkAsPgB8BAZ IfAf_CLwHfggBxgGAPEHFxjwHPghByjwG-gl8Bv4JvAaKAn4IgYA8CMOCfgE8BoYCfgOGSgJ_ADw
_BspqAc4CQCmHBm4BzjwDwn4HQkAocgHGPAQCfgcKdhOACApyGUAMBOpuH0A8AEPSXgZqPAVGfgO GRgJ_A8ZGAmYB1jwGAgZ_BAJKAmIB1jwGQn4ERkoCRgJWBkAVAn4Eik4CwDxAhQZGBlYF1jwFwn4
GbgZiPAXQgDyAQggGPAaKfgbGQjwHyn4HAkHABAZBgDwJBo5DwzwHin4GFkG8B8Z_BdpLfAdGfgU FRkIGWgHCwCBGBno8BYJ_Bk_AGQUGfgVGRgLAFAUCTgZ6AkAEBpyAIITGfgaGYgXOAkARvgA8BII
aQYJTfAcGfgReQZt8B4J_A6ZbRXwHhn4CpmNJQgAUAapFm1VCQDyQgK5Fn2F8B4ZyMkGjcXwHgmY ABEbiACBEQn4HAmoB0gJACQZmAkAsPgB8BAZ_BspqAc4CQCmHBm4BzjwDwn4HQkAocgHGPAQCfgc
uc3V8B8JWKnd9QLwH8kGzfUFAAXwHpkVjfUN8B5prfUPAAXwHQ0ZvfUV8Bvd9RjwGY0FDfUc8Bkt KdhOACApyGUAMBOpuH0A8AEPSXgZqPAVGfgOGbgZiPAXQgDyAQggGPAaKfgbGQjwHyn4HAkHABAZ
9STwGT0FDQIAovUc8Bgt9SbwFy0QAEMFDfUdEgAGJACkHvAVPfUo8BQtFRIAhiDwFC31KvASJACF BgDwJBo5DwzwHin4GFkG8B8Z_BdpLfAdGfgUaQYJTfAcGfgReQZt8B4J_A6ZbRXwHhn4CpmNJQgA
IvASLfUs8BASAAEUAIUQLfUsAAXwD14AABYAmQ8G8A899SoAFRgAA1gAiw8t9S0ABfAM7wNuLTI5 UAapFm1VCQDyQgK5Fn2F8B4ZyMkGjcXwHgmYuc3V8B8JWKnd9QLwH8kGzfUFAAXwHpkVjfUN8B5p
LjEwHTlIMzguNzQ5D5ZDAAEEBPEt---DbxTwRe7wPD8Vfile8Dhdjile8Dc9DkluCW7wNj0OWe7w rfUPAAXwHQ0ZvfUV8Bvd9RjwGY0FDfUc8Bkt9STwGT0FDQIAovUc8Bgt9SbwFy0QAEMFDfUdEgAG
NT0OaW4KbvA0HT5p7vA0DU5Z-gDwNG5JBgDwhClurxnwNN7c8DQZjvwB8DQZbvwDEB8P8DAZXvwD JACkHvAVPfUo8BQtFRIAhiDwFC31KvASJACFIvASLfUs8BASAAEUAIUQLfUsAAXwD14AABYAmQ8G
EBvwMRle-AILACvwMW6c2-Axbozb8DJejJsfHyvwMl58iyg78DJebEsIGygnG-AzXlwrOEsfDgcL 8A899SoAFRgAA1gAiw8t9S0ABfAM7wNuLTI5LjEwHTlIMzguNzQ5D5ZDAAEEBPEt---DbxTwRe7w
8DReLB8XGyhLCBsfDivwMx57HxcYCxcPDisYW-AzDpsPFwsnHw47GEvwMx5LHxdLFx8OSwhL8DM_ PD8Vfile8Dhdjile8Dc9DkluCW7wNj0OWe7wNT0OaW4KbvA0HT5p7vA0DU5Z-gDwNG5JBgDwhClu
Ky8XuxYA8CcNTgwLFrsIW-AzPR4s6xgr8DM9DhwALKsoO-AzLQ5siyhLHxzwNYxrGFsGDxAfHPA0 rxnwNN7c8DQZjvwB8DQZbvwDEB8P8DAZXvwDEBvwMRle-AILACvwMW6c2-Axbozb8DJejJsfHyvw
jADLBi8KAPJJMqyrFgU-EBXwMQwAfKsGG0Ql8DCc20QVFPAvrMtEJZTwJ4xFixUkRaTwJIwFNBV7 Ml58iyg78DJebEsIGygnG-AzXlwrOEsfDgcL8DReLB8XGyhLCBsfDivwMx57HxcYCxcPDisYW-Az
JQQF9AHwInwVRCV7JfQBFfAgfAWEBWsl9AMF8CBsBZQFaxr0BfAgXAoA8UEG8B9cBZQVawoF9Abw DpsPFwsnHw47GEvwMx5LHxdLFx8OSwhL8DM_Ky8XuxYA8CcNTgwLFrsIW-AzPR4s6xgr8DM9DhwA
HkwABZQVWw8MCgX0B-AeLAAldAUEFTsTGvQH8CEVBBVkBRQFSgUapAW08B8VChQlRAUUGlQKpAXE LKsoO-AzLQ5siyhLHxzwNYxrGFsGDxAfHPA0jADLBi8KAPJJMqyrFgU-EBXwMQwAfKsGG0Ql8DCc
8BwVAwpEJSQFpA4A8AYaFQQKdCUEBbQKlAXU8BgVxCXECoQKAFAFAwrEFQwA8Ark8BYFAwr0FwX0 20QVFPAvrMtEJZTwJ4xFixUkRaTwJIwFNBV7JQQF9AHwInwVRCV7JfQBFfAgfAWEBWsl9AMF8CBs
APAVBQr0GBX0APATFfQaCABgEgX0EgqECgDzABEF9BMKdAAF9ALwDwX0FAsAcA4F9BUKZBALABAN BZQFaxr0BfAgXAoA8UEG8B9cBZQVawoF9AbwHkwABZQVWw8MCgX0B-AeLAAldAUEFTsTGvQH8CEV
CwARdAsAQQwF9BYhADQD8AsLAKEE8AoF9B8AFfQDCQAQEB0AMgr0IAgAUNQV9BAQGwDyAQgF5AX0 BBVkBRQFSgUapAW08B8VChQlRAUUGlQKpAXE8BwVAwpEJSQFpA4A8AYaFQQKdCUEBbQKlAXU8BgV
CApkIBX0AvAI9AANADIl9AENAIUJCkQQFRQl5A4AQQAVRAUOAGAV9AgKRAA6ATAI9AEbAB80DQAC xCXECoQKAFAFAwrEFQwA8Ark8BYFAwr0FwX0APAVBQr0GBX0APATFfQaCABgEgX0EgqECgDzABEF
wRX0DQAF9AXwCPQDBQsAMwTwCQsAUAQq1PALDACADCAaBBq08AwMAMAICiQQCjQalPAN9AJjAKAk 9BMKdAAF9ALwDwX0FAsAcA4F9BUKZBALABANCwARdAsAQQwF9BYhADQD8AsLAKEE8AoF9B8AFfQD
AApUCoTwDvQCVwAADgBAGmTwDw4AkgoKJBVUClTwEA0AYTQFVBo0BQ4A8QQEdfQBCjQFZAokBfAR CQAQEB0AMgr0IAgAUNQV9BAQGwDyAQgF5AX0CApkIBX0AvAI9AANADIl9AENAIUJCkQQFRQl5A4A
5FVkBfQADwCBFAXwEvQNBeQNAHAEBfATBfQMHACzJAVkCgXwFAX0CxUOAMHwFQX0DBrkCiQFClQN QQAVRAUOAGAV9AgKRAA6ATAI9AEbAB80DQACwRX0DQAF9AXwCPQDBQsAMwTwCQsAUAQq1PALDACA
AHALOvQCevAXaQBgFFpE6-AYCgBSZBoU6xYLAIB0CgTbBivwGaUAVIQK6xYbFwBBywYrBg0AUQkK DCAaBBq08AwMAMAICiQQCjQalPAN9AJjAKAkAApUCoTwDvQCVwAADgBAGmTwDw4AkgoKJBVUClTw
dArbDQASFyUAAA0AMQvwGAwAhGs-BTsGGwYLKQAxS2IrDwABUABEVBorgg8AUdS1WuIbDABiGgVk EA0AYTQFVBo0BQ4A8QQEdfQBCjQFZAokBfAR5FVkBfQADwCBFAXwEvQNBeQNAHAEBfATBfQMHACz
dfIOGADyEhtlbfIOOwYLAhvwGo0CDfISKwYLQvAZLfIcC2LwGT0CDQIAEPJIBVLyJfAYLRAAgAIN JAVkCgXwFAX0CxUOAMHwFQX0DBrkCiQFClQNAHALOvQCevAXaQBgFFpE6-AYCgBSZBoU6xYLAIB0
8h7wFy3ySAUCEAABEgAwFT3ySAUUEhIAAEgFEPJIBQIQADACDfJIBRDySAUnAg0UAGUQLfIu8A9c CgTbBivwGaUAVIQK6xYbFwBBywYrBg0AUQkKdArbDQASFyUAAA0AMQvwGAwAhGs-BTsGGwYLKQAx
AJ8CDfIk8A498i4oBSwPoAknD4gK-yAg-xTEGvEBfPQ--gEE-xU9BP4BBP08DgcAIDseBwBBLfQ3 S2IrDwABUABEVBorgg8AUdS1WuIbDABiGgVkdfIOGADyEhtlbfIOOwYLAhvwGo0CDfISKwYLQvAZ
LggATwT_NQQKAP80BFIBIfQ4YgExHfQ6cQFyDfQ9-gH0P70wMf--6JQBH-2TAf92H1z2GyID5gny LfIcC2LwGT0CDQIAEPJIBVLyJfAYLRAAgAIN8h7wFy3ySAUCEAABEgAwFT3ySAUUEhIAAEgFEPJI
KxjfFvBALr8PHvA9Lu0e8Dse-QIO8Doe-QMe8DkO-QMfEQ4N8DUcHs18DhzwMRwAHA7dDA0cDVzw BQIQADACDfJIBRDySAUnAg0UAGUQLfIu8A9cAJ8CDfIk8A498i4oBSwPoAknD4gK-yAg-xTEGvEB
MUwKAPYGHA0MDgzwMQwgHv0BDD0MDvA2Dv0IBgBgLU4dTm0uDwCwBR4NDvA3Dl0O-QAIAEBNHv0B fPQ--gEE-xU9BP4BBP08DgcAIDseBwBBLfQ3LggATwT_NQQKAP80BFIBIfQ4YgExHfQ6cQFyDfQ9
IQBRPR49Ds0qAFAeTQ69HgkAUA5dDp0KLQDwDR4dPi0OjQou8DgOTU6dCg7wOR79BA7wOg5NPq0H -gH0P70wMf--6JQBH-2TAf92H1z2GyID5gnyKxjfFvBALr8PHvA9Lu0e8Dse-QIO8Doe-QMe8DkO
APGALQ5tDm0e8DsOHR5NHl0_8DoeHX5NHh0u8Dk_QH5NHvBBHs0ODQLwPx7NDxhi8DourQtyG-A5 -QMfEQ4N8DUcHs18DhzwMRwAHA7dDA0cDVzwMUwKAPYGHA0MDgzwMQwgHv0BDD0MDvA2Dv0IBgBg
Dp0bYjvwNAs_nQtiGw0r8DICCw0enRtSGz0CC-AwEgu9G1IbXQIL8CwNCyIbrQtSG30CC-AqHQsy LU4dTm0uDwCwBR4NDvA3Dl0O-QAIAEBNHv0BIQBRPR49Ds0qAFAeTQ69HgkAUA5dDp0KLQDwDR4d
G30rQhudAgsC8CgdC1IrPRtiC70bAvAnHQtyW2IbzQsLAPIA8gQb3RvwJi0L8gMb7QILCgCwC-0A Pi0OjQou8DgOTU6dCg7wOR79BA7wOg5NPq0HAPGALQ5tDm0e8DsOHR5NHl0_8DoeHX5NHh0u8Dk_
G-AlPQvyAhsKAPAEAggX8BA9C-IBG-0CC-ACCDfwDg4A8QAL-QML8AMIN-ANPQvyABsOAEAYR-AL QH5NHvBBHs0ODQLwPx7NDxhi8DourQtyG-A5Dp0bYjvwNAs_nQtiGw0r8DICCw0enRtSGz0CC-Aw
DgBQC-0CDg0eAGAHGDfwCU0SADFNDr0TAEwYBxgnEwBIAFfwCBIAYQQIEFfwBxIAIz0eEgByIEcA Egu9G1IbXQIL8CwNCyIbrQtSG30CC-AqHQsyG30rQhudAgsC8CgdC1IrPRtiC70bAvAnHQtyW2Ib
LxXwAxUAIg7NFQA5MEcpEwCwAvADCDA3KQ3wAl2UABUtFQBwQAdJHfABXbcAUB0ezQ4bPABBWa0g zQsLAPIA8gQb3RvwJi0L8gMb7QILCgCwC-0AG-AlPQvyAhsKAPAEAggX8BA9C-IBG-0CC-ACCDfw
vREAIQ7dEQBJIEn9DBAAMCn9DhAA0hIO3Q4CC-AK-Q8L8gQMADoL-Q4MABEFCwBUDI0g-QENAPQK Dg4A8QAL-QML8AMIN-ANPQvyABsOAEAYR-ALDgBQC-0CDg0eAGAHGDfwCU0SADFNDr0TAEwYBxgn
DW3wBBvyBc0eAgvwDk3wBQvyBs0OEgvwKAkAcB0OvfIFvR4KAPACXhBObcLNDiIL8CANAG69ct0L EwBIAFfwCBIAYQQIEFfwBxIAIz0eEgByIEcALxXwAxUAIg7NFQA5MEcpEwCwAvADCDA3KQ3wAl2U
APEMGmVuC-0RHiIL8BYVDkVOEC4L-REOMgvwFYWeCgDwTfAWhU4AHhAL-RAeIvAXhW4tC-0PHjIA ABUtFQBwQAdJHfABXbcAUB0ezQ4bPABBWa0gvREAIQ7dEQBJIEn9DBAAMCn9DhAA0hIO3Q4CC-AK
C-AV1R0Q-REOQivwFLVgC-0NLjJL8BNlECVgCxL9CS6SK-AShYALMv0EPtIb8BFVsAti3T7yAhvw -Q8L8gQMADoL-Q4MABEFCwBUDI0g-QENAPQKDW3wBBvyBc0eAgvwDk3wBQvyBs0OEgvwKAkAcB0O
EFWwC-ICPvIGK-AOCwAiHRsIAEAeG-ANCAAgHwsIAKbyIBvwDFWg8iILBwBgsPIhG-ALJABnIBvw vfIFvR4KAPACXhBObcLNDiIL8CANAG69ct0LAPEMGmVuC-0RHiIL8BYVDkVOEC4L-REOMgvwFYWe
C2WgCAA-C-AMCAABAEwAAAgAYR4L8A9VoGwAAQgAEByHAPAAoAvyGxvwEUXAC-IZG-ASCABAGBvw CgDwTfAWhU4AHhAL-RAeIvAXhW4tC-0PHjIAC-AV1R0Q-REOQivwFLVgC-0NLjJL8BNlECVgCxL9
EwgAQBcb8BQIAEEVK-AVCAA-C-AXCAANITXQCABvFkXgC-IUCAAUIxMbCABPCxLwFQkADR8bRAAA CS6SK-AShYALMv0EPtIb8BFVsAti3T7yAhvwEFWwC-ICPvIGK-AOCwAiHRsIAEAeG-ANCAAgHwsI
YvAA8hTwFwcAHwPyBBUPyAgnDzoA---------------3UG09NX19 AKbyIBvwDFWg8iILBwBgsPIhG-ALJABnIBvwC2WgCAA-C-AMCAABAEwAAAgAYR4L8A9VoGwAAQgA
EByHAPAAoAvyGxvwEUXAC-IZG-ASCABAGBvwEwgAQBcb8BQIAEEVK-AVCAA-C-AXCAANITXQCABv
FkXgC-IUCAAUIxMbCABPCxLwFQkADR8bRAAAYvAA8hTwFwcAHwPyBBUPyAgnDzoA------------
---3UG09NX19
:: gfx/.info.pod :: gfx/.info.pod
b64$LS1bW3BvZCxjcmVhdGVkPSIyMDI0LTAzLTI5IDAxOjE0OjUxIixzdG9yZWQ9IjIwMjQtMDMt b64$LS1bW3BvZCxjcmVhdGVkPSIyMDI0LTAzLTI5IDAxOjE0OjUxIixzdG9yZWQ9IjIwMjQtMDMt
MjkgMDE6MTQ6NTEiXV1sejQABAAAAAMAAAAwbmls MjkgMDE6MTQ6NTEiXV1sejQABAAAAAMAAAAwbmls
:: library.lua :: library.lua
--[[pod_format="raw",created="2024-04-10 00:24:20",modified="2024-04-23 03:19:45",revision=180]] --[[pod_format="raw",created="2024-04-10 00:24:20",modified="2024-04-29 16:05:11",revision=200]]
plant_descriptions = { plant_descriptions = {
[-1]={{"i don't know what that is. where did you find this?"}}, [-1]={{"i don't know what that is. where did you find this?"}},
[13]={{"these are chives. are we sure this is for alchemy?"}}, [13]={{"these are chives. are we sure this is for alchemy?"}},
@ -502,7 +506,7 @@ book_pages = {
} }
:: main.lua :: main.lua
--[[pod_format="raw",created="2024-04-02 02:59:37",modified="2024-04-23 03:19:45",revision=1131]] --[[pod_format="raw",created="2024-04-02 02:59:37",modified="2024-04-29 15:34:08",revision=1153]]
-- this is atelier hester! -- this is atelier hester!
-- except for the one line in _init that does change_screen(shop_screen) -- except for the one line in _init that does change_screen(shop_screen)
@ -532,6 +536,8 @@ animations = {}
script = {} script = {}
collider_renders = {}
function _init() function _init()
vid(3) vid(3)
change_scene(shop_screen) change_scene(shop_screen)
@ -549,6 +555,13 @@ function _draw()
print("animations: "..#animations, 0,0,0) print("animations: "..#animations, 0,0,0)
rectfill(0,10,90,20,7) rectfill(0,10,90,20,7)
print("script nodes: "..#script, 0,10, 0) print("script nodes: "..#script, 0,10, 0)
for r in all(collider_renders) do
rect(r.left, r.top, r.right, r.bottom, 9)
end
while #collider_renders > 0 do
deli(collider_renders)
end
end end
end end
@ -691,7 +704,7 @@ function Conversation:after()
change_scene(self.behind) change_scene(self.behind)
end end
:: s_drawer.lua :: s_drawer.lua
--[[pod_format="raw",created="2024-04-05 00:59:36",modified="2024-04-23 03:19:45",revision=358]] --[[pod_format="raw",created="2024-04-05 00:59:36",modified="2024-04-29 15:59:50",revision=379]]
DrawerScene = { DrawerScene = {
extension = 0, extension = 0,
behind = nil, behind = nil,
@ -739,7 +752,6 @@ end
function DrawerScene:update() function DrawerScene:update()
self.interior_collider.bottom = self.extension self.interior_collider.bottom = self.extension
if (btnp(5) or btnp(4)) and not collides(self.fairy, self.interior_collider) then if (btnp(5) or btnp(4)) and not collides(self.fairy, self.interior_collider) then
play_script({ play_script({
Script.len(function(s) Script.len(function(s)
@ -790,7 +802,7 @@ function draw_drawer(distance, inset)
spr(11, 120-16, distance+10+1) spr(11, 120-16, distance+10+1)
end end
:: s_shop.lua :: s_shop.lua
--[[pod_format="raw",created="2024-04-05 14:55:27",modified="2024-04-23 03:19:45",revision=394]] --[[pod_format="raw",created="2024-04-05 14:55:27",modified="2024-04-29 17:50:21",revision=430]]
-- this manages the main shop interface, where you look at the cupboard and plantss -- this manages the main shop interface, where you look at the cupboard and plantss
-- and sstuff. -- and sstuff.
include("art.lua") include("art.lua")
@ -799,7 +811,7 @@ include("cabinet.lua")
include("library.lua") include("library.lua")
cabinet = Cabinet:new(40, 10, 2) cabinet = Cabinet:new(40, 10, 2)
fairy = Fairy:new() --fairy = Fairy:new()
alchemist_sprite = 192 alchemist_sprite = 192
alchemist_bob = 0 alchemist_bob = 0
customer_sprite = 0 customer_sprite = 0
@ -825,7 +837,7 @@ for i=1,3 do
} }
end end
function shop_screen:draw(hide_fairy) function shop_screen:draw()
cls() cls()
cabinet:draw() cabinet:draw()
@ -860,13 +872,9 @@ function shop_screen:draw(hide_fairy)
bob(customer_sprite, 240-96, 7, 96, 128, customer_bob) bob(customer_sprite, 240-96, 7, 96, 128, customer_bob)
end end
if not hides_fairy then self.fairy:draw() end self.fairy:draw()
draw_door(door_open) draw_door(door_open)
for idx, box in ipairs(self.tray_slots) do
if collides(self.fairy, box) then end
end
end end
function draw_counter(height) function draw_counter(height)
@ -1317,9 +1325,7 @@ connect with people?"
definitely overly preachy but i like that definitely overly preachy but i like that
:: .info.pod :: .info.pod
b64$LS1bW3BvZCxjcmVhdGVkPSIyMDI0LTA0LTIzIDAxOjEzOjI4IixydW50aW1lPTUsc3RvcmVk b64$LS1bW3BvZCxjcmVhdGVkPSIyMDI0LTA0LTIzIDAxOjEzOjI4IixydW50aW1lPTUsc3RvcmVk
PSIyMDI0LTA0LTIzIDAzOjE5OjQ1Iix3b3Jrc3BhY2VzPXt7bG9jYXRpb249Im1haW4ubHVhIzUy PSIyMDI0LTA0LTI5IDE3OjUwOjIxIix3b3Jrc3BhY2VzPXt7bG9jYXRpb249InNfc2hvcC5sdWEj
Iix3b3Jrc3BhY2VfaW5kZXg9MX0se2xvY2F0aW9uPSJsaWJyYXJ5Lmx1YSM2Iix3b3Jrc3BhY2Vf MSIsd29ya3NwYWNlX2luZGV4PTF9LHtsb2NhdGlvbj0iZ2Z4LzAuZ2Z4Iix3b3Jrc3BhY2VfaW5k
aW5kZXg9MX0se2xvY2F0aW9uPSJzX3Nob3AubHVhIzMwIix3b3Jrc3BhY2VfaW5kZXg9MX0se2xv ZXg9Mn19XV1sejQABAAAAAMAAAAwbmls
Y2F0aW9uPSJzX2RyYXdlci5sdWEjNjQiLHdvcmtzcGFjZV9pbmRleD0xfSx7bG9jYXRpb249Imdm
eC8wLmdmeCIsd29ya3NwYWNlX2luZGV4PTJ9fV1dbHo0AAQAAAADAAAAMG5pbA==
:: [eoc] :: [eoc]

269
demo01.p64 Normal file
View File

@ -0,0 +1,269 @@
picotron cartridge // www.picotron.net
version 2
:: gfx/
:: map/
:: sfx/
:: drawing_stuff.lua
--[[pod_format="raw",created="2024-07-30 00:32:19",modified="2024-07-30 20:17:30",revision=366]]
include "matrix_math.lua"
palette_greens = {5, 3, 27, 11, 26}
palette_greens_flip = {5, 3, 27, 11, 26, 11, 27, 3}
function spr_point(sprite, x)
local p = uncamera(x)
draw_scaled_sprite(sprite, p[1], p[2], p[3])
if debug then
print("z is " .. x[3],p[1], p[2]+8, 8)
print("s is " .. p[3],p[1], p[2], 8)
end
end
function spr_skewed(s, x, y, z, sx, sy)
local result = skew(x,y,z, sx, sy)
spr3d(s, result[1], result[2], result[3])
end
function draw_scaled_sprite(sprite, x, y, scale)
sspr(sprite, 0,0, 16,16, x-8*scale, y-8*scale, 16*scale, 16*scale)
end
function draw_percent_of_a_line(x1, y1, x2, y2, percent)
local start_x = (x2-x1)*percent + x1
local start_y = (y2-y1)*percent + y1
local end_x = (x1-x2)*percent + x2
local end_y = (y1-y2)*percent + y2
line(start_x, start_y, end_x, end_y)
end
function draw_shorter_line(x1, y1, x2, y2, beginning_cut, end_cut)
local length = sqrt((x2-x1)*(x2-x1) + (y2-y1)*(y2-y1))
if beginning_cut + end_cut > length then
return
end
local start_x = x1 + (x2-x1)*beginning_cut/length
local start_y = y1 + (y2-y1)*beginning_cut/length
local end_x = x2 + (x1-x2)*end_cut/length
local end_y = y2 + (y1-y2)*end_cut/length
line(start_x, start_y, end_x, end_y)
end
:: gfx/0.gfx
b64$LS1bW3BvZCxjcmVhdGVkPSIyMDI0LTA3LTMwIDAwOjI4OjU2Iixtb2RpZmllZD0iMjAyNC0w
Ny0zMCAyMDoxNzozMCIscmV2aXNpb249Mjk0XV1sejQAQwEAABsyAADzFHtbMF09e2JtcD1weHUA
QyAQEATw8CxmbGFncz0wLHBhbl94CADLeT0wLHpvb209OH0sMQD5BBo3wCdgNwA3UHcAB0AXMBdg
F1ACAK9gFzAXgFegN-AXWgAcECA-AI8nMCdgd4BXgFkACJ_Qd3B3oBfQF2C6AB2RBBfAR6BHsBfQ
AgDxAgAnkGeAJxAXgBcQJ4AXEBeQCACPIBeAFyAn8ARcAB1-AhcgFyAXMAYAC5Q3ABcAN0CXcFeE
AE-QF-AHagAdawOXUJdQFwIAz5dQl5AX0BewV5BXsFYAIkAFV4B3cQFyQBdwFyAXkBABRRcwFzAG
AAIUAFAgF3AXQI0BX3eAV-AFZgAdH-AxAP------------------------------------------
--------------------sFBtPTh9fQ==
:: gfx/.info.pod
b64$LS1bW3BvZCxjcmVhdGVkPSIyMDI0LTA3LTMwIDAwOjI4OjU1IixzdG9yZWQ9IjIwMjQtMDct
MzAgMDA6Mjg6NTUiXV1sejQABAAAAAMAAAAwbmls
:: main.lua
--[[pod_format="raw",created="2024-07-30 00:28:56",modified="2024-07-30 20:17:30",revision=528]]
include "drawing_stuff.lua"
include "matrix_math.lua"
debug = false
symbols = {}
for i=0,8 do
add(symbols, {1+(i % 5), {rnd(400)-200, rnd(200)-100, rnd(50)-25}, {0,0,0}})
end
for a=-1,1,2 do
for b=-1,1,2 do
for c=-1,1,2 do
add(symbols, {1, {a*20, b*20, c*20}, {0,0,0}})
end
end
end
links = {}
for i=0,8 do
add(links, {flr(rnd(#symbols))+1, flr(rnd(#symbols-1))+1})
end
circles = {}
function _draw()
cls()
for c in all(circles) do
circfill(c[2], c[3], c[1], c[4])
end
color()
local skew_orientation = -0.1*t()
local skew_amount = 0.05+0.025*(sin(0.3*t())+1)
for thing in all(symbols) do
local sprite = thing[1]
local rotated = thing[2]
rotated = transform(rot_z(-skew_orientation), rotated)
rotated = transform(rot_y(skew_amount), rotated)
rotated = transform(rot_z(skew_orientation), rotated)
local ssc = uncamera(rotated)
thing[3] = ssc
spr_point(sprite, rotated)
circ(ssc[1], ssc[2], ssc[3]*12, 12)
end
for link in all(links) do
local startpoint = symbols[link[1]][3]
local endpoint = symbols[link[2]][3]
draw_shorter_line(
startpoint[1], startpoint[2],
endpoint[1], endpoint[2],
startpoint[3]*12, endpoint[3]*12)
end
--print("time is " .. time_since_last_symbol, 40, 40, 7)
end
last_t = t()
time_since_last_symbol = 0
delta = 0
function _update()
local new_circles = {}
for c in all(circles) do
if c[1] > 0 then
add(new_circles, c)
end
end
circles = new_circles
local x = cos(0.1*t())*200 + rnd(100)-50 + 240
local y = sin(0.1*t())*100 + rnd(100)-50 + 135
add(circles, {
10+rnd(2), -- size
x,y,
palette_greens_flip[flr((t()%3/3)*#palette_greens_flip)+1]--color
})
for c in all(circles) do
c[1] = c[1] - 0.05
end
delta = t() - last_t
last_t = t()
time_since_last_symbol += delta
if time_since_last_symbol > 3 then
time_since_last_symbol = 0
deli(symbols, 1)
local new_links = {}
for link in all(links) do
if link[1] != 1 and link[2] != 1 then
add(new_links, {link[1]-1, link[2]-1})
end
end
links = new_links
add(symbols, {flr(rnd(5))+1, {rnd(440)-220, rnd(200)-100, rnd(50)-25}, {0,0,0}})
--links = {}
for i=0,8 do
--add(links, {flr(rnd(#symbols))+1, flr(rnd(#symbols-1))+1})
end
add(links, {flr(rnd(#symbols))+1, #symbols})
add(links, {flr(rnd(#symbols))+1, #symbols})
end
end
:: map/0.map
b64$LS1bW3BvZCxjcmVhdGVkPSIyMDI0LTA3LTMwIDAwOjI4OjU2Iixtb2RpZmllZD0iMjAyNC0w
Ny0zMCAyMDoxNzozMCIscmV2aXNpb249MjgwXV1sejQAaAAAAFgQAADwCHt7Ym1wPXVzZXJkYXRh
KCJpMTYiLDMyAwAvIjABAP--------------------vxCCIpLGhpZGRlbj1mYWxzZSxwYW5feD0w
CADSeT0wLHRpbGVfaD0xNgoAEHcKAIB6b29tPTF9fQ==
:: map/.info.pod
b64$LS1bW3BvZCxjcmVhdGVkPSIyMDI0LTA3LTMwIDAwOjI4OjU1IixzdG9yZWQ9IjIwMjQtMDct
MzAgMDA6Mjg6NTUiXV1sejQABAAAAAMAAAAwbmls
:: matrix_math.lua
--[[pod_format="raw",created="2024-07-30 00:58:28",modified="2024-07-30 20:17:30",revision=350]]
function skew(x, y, z, strength_x, strength_y)
local dot = x*strength_x + y*strength_y
return {x + strength_x*(z+10), y+strength_y*(z+10), z-(dot/600)}
end
function p(x,y,z)
return {x, y, z}
end
-- this camera trransform will put our camera looking ttowards -z, i think
-- looking from 200 unitsts away on the z axis
function uncamera(x)
if x[3]+25 == 0 then
return {30, 30, 1}
end
x = translate(x, p(0,0,200))
return {
(150*x[1]/x[3]) + 240,
(150*x[2]/x[3]) + 135,
150/x[3]}
end
function transform(m, x)
return {
x[1]*m[1][1] + x[2]*m[2][1] + x[3]*m[3][1],
x[1]*m[1][2] + x[2]*m[2][2] + x[3]*m[3][2],
x[1]*m[1][3] + x[2]*m[2][3] + x[3]*m[3][3]
}
end
function translate(a, b)
return {a[1]+b[1], a[2]+b[2], a[3]+b[3]}
end
function transpose(m)
return {
{m[1][1], m[2][1], m[3][1]},
{m[1][2], m[2][2], m[3][2]},
{m[1][3], m[2][3], m[3][3]}
}
end
function rot_x(angle)
return {
{1, 0, 0},
{0, cos(angle), -sin(angle)},
{0, sin(angle), cos(angle)}
}
end
function rot_y(angle)
return {
{cos(angle), 0, sin(angle)},
{0, 1, 0},
{-sin(angle), 0, cos(angle)}
}
end
function rot_z(angle)
return {
{cos(angle), -sin(angle), 0},
{sin(angle), cos(angle), 0},
{0, 0, 1}
}
end
:: sfx/0.sfx
b64$LS1bW3BvZCxjcmVhdGVkPSIyMDI0LTA3LTMwIDAwOjI4OjU2Iixtb2RpZmllZD0iMjAyNC0w
Ny0zMCAyMDoxNzozMCIscmV2aXNpb249Mjc3XV1sejQAEQEAAMEIAADwJ3B4dQADKAAAAwAED0AQ
Ag4AAaABIAKgDgAPEAAN8MoBAgMEBQYHAA--kAgJCgsPDA8NDw4PDxAA8AANDxEPEg8TDxQPFQ8W
DxcTAPEBDxgPGQ8aDxsPHA8dDx4PHxQA8QAgDyEPIg8jDyQPJQ8mDycUAPEAKA8pDyoPKw8sDy0P
Lg8vFADxADAPMQ8yDzMPNA81DzYPNxQA-wU4DzkPOg87DzwPPQ8_Dz8AD--w-wEA6-8nWgEQBg8g
EAEgASAB8AACEAIMEAEgDyEgATAPQPDDDygP--DGD-gKD-8PgA-3Dw0B8AkBEAYMMAD--7of-wEA
zL-oD0AADUD--7DwcAoA--9kH-8BAJdQ-----x8=
:: sfx/.info.pod
b64$LS1bW3BvZCxjcmVhdGVkPSIyMDI0LTA3LTMwIDAwOjI4OjU1IixzdG9yZWQ9IjIwMjQtMDct
MzAgMDA6Mjg6NTUiXV1sejQABAAAAAMAAAAwbmls
:: .info.pod
b64$LS1bW3BvZCxydW50aW1lPTUsc3RvcmVkPSIyMDI0LTA3LTMwIDIwOjE3OjMwIix3b3Jrc3Bh
Y2VzPXt7bG9jYXRpb249Im1haW4ubHVhIzMxIix3b3Jrc3BhY2VfaW5kZXg9MX0se2xvY2F0aW9u
PSJkcmF3aW5nX3N0dWZmLmx1YSM0Iix3b3Jrc3BhY2VfaW5kZXg9MX0se2xvY2F0aW9uPSJtYXRy
aXhfbWF0aC5sdWEjMTEiLHdvcmtzcGFjZV9pbmRleD0xfSx7bG9jYXRpb249ImdmeC8wLmdmeCIs
d29ya3NwYWNlX2luZGV4PTJ9LHtsb2NhdGlvbj0ibWFwLzAubWFwIix3b3Jrc3BhY2VfaW5kZXg9
M30se2xvY2F0aW9uPSJzZngvMC5zZngiLHdvcmtzcGFjZV9pbmRleD00fX1dXWx6NAAEAAAAAwAA
ADBuaWw=
:: [eoc]

View File

@ -199,7 +199,7 @@ OlRORm3faVWNwb31bCRBCsEY6-WMMR77jDFhKBfOEOSFF5IvHfD0fqt9C3INtnsmutCgXEknJO_2
dzjkB6yPryo7f14YbTLyOn2151lDrmHTrWQv1eTI-D_o_YTEtLDizgAAABB0RVh0TG9kZVBORwAy dzjkB6yPryo7f14YbTLyOn2151lDrmHTrWQv1eTI-D_o_YTEtLDizgAAABB0RVh0TG9kZVBORwAy
MDExMDIyMeNZtsEAAAAASUVORK5CYII= MDExMDIyMeNZtsEAAAAASUVORK5CYII=
:: main.lua :: main.lua
--[[pod_format="raw",created="2024-03-31 02:16:28",modified="2024-03-31 14:46:07",revision=34]] --[[pod_format="raw",created="2024-03-31 02:16:28",modified="2024-08-07 14:25:43",revision=35]]
function _init() function _init()
window(64*4,16*8) window(64*4,16*8)