diff --git a/cirnofarm.p64 b/cirnofarm.p64 index c73a898..ad020bb 100644 --- a/cirnofarm.p64 +++ b/cirnofarm.p64 @@ -6,7 +6,7 @@ version 2 :: sfx/ :: gfx/0.gfx b64$LS1bW3BvZCxjcmVhdGVkPSIyMDI0LTA0LTA0IDA3OjE5OjM0Iixtb2RpZmllZD0iMjAyNC0w -NC0yOCAxNTowMDo0NSIscmV2aXNpb249MTMzM11dbHo0AHsMAAA3RAAA8xR7WzBdPXtibXA9cHh1 +NC0yOCAxOToyNjo0OSIscmV2aXNpb249MTM4Nl1dbHo0ABENAADjRAAA8xR7WzBdPXtibXA9cHh1 AEMgEBAE8PAsZmxhZ3M9MCxwYW5feAgA2nk9MCx6b29tPTExfSwyAPEIrxsj3gN_A94j3gP_CRNu A04TbiNOA34TAP8DjgM_A04DLiN_Iy4DngP_FAMuXgAd8AnwRU2ALSYtUB1mHQUgHYYNFQAdlh0V DaYEAMMNFQANlh0FEL0F8BNYAB8zWAAV8CpQRIAUTx8UUA8Ujx8EQC8UTx8kQA8UHx9EDg8ZBEAP @@ -17,92 +17,95 @@ PxlQaS5ZThkOGV5ZHnlQHhmwAwAhwA4DAF8pwBnwF1sAHmMSrxMwDhMCABMgCAAPCgAE8Q8PEa4N IAOvGwMeAAOsAwUOAANMDxRMAw4FAAM8KzwRAAAIABMeDwCPEAOsAw4goyCGAg8PFgMt-AHPEy8R DxNfEQ8TPxEPEwwfDQAoDE8OACMsLw4AtBwPEX8TDC8RPxMfIAAAGwAfTw0ADvEAPA4vES4MLY4d DgwtDm0OBwAnDF0IAH88Diw9Dh3eyAAd2fQMDx80HnQeNB4kHiQGAPEARA4kHtQehB4kDpQehA40 -BAAGHgAQhAQAPw70CQUDHaP-FgAGBwYHDgcGAgD0BA4XBQcGDgUHBgcFFgcGDhYHBgUdAIAFBw4X +BAAGHgAQhAQAPw70Cf4BHaP-FgAGBwYHDgcGAgD0BA4XBQcGDgUHBgcFFgcGDhYHBgUdAIAFBw4X BgcGDgoAARIARA4G-gAKAAMGACQWBU8AEAUGABMXGAASBQYAJBYHHgACBgAR-n0AB0IAADAABEIA -MgUGBzAABx4AEgUgAAFCAANOAAUeAB8H-AAegBUDDA8QDA4clwMybxUOCgBRHQwdDC0LALEdDgwd -DA4tDhwOLQoAUgwtHC0MCgA0Dl0OCgA-DD0MDAACBSIABTYABUoAAl8AMy0MTXMAI20MCQA-DP0D -xQAd8QEfFC8WHxSEHgYfFh5EDx8kCQBjNB8fJB4vCACSHxYGHhQPHwQdCwAgBB0KAFMsHgQdVAYA -YAYcHgQNZAcAU1QNFB4sBgBwFA0UHRQeHDEABAkAMA0kHRoAAC0APywehKoAHVWEHxQGH6wAYQQf -H1QeLwgAMSQdBAoAEB0JACYcBgkAIBQNCQAxLB5UBgBRBB0kDRStAAO0AAPBAAIkAAU1ABNUBwAB -xQBPhB4sHqgAHf8hBhcWFw8WDRYdFg8SFhcWBw8WHRYdBg8SBxYXFg8WBh0WHQ8SFxYXBg8WFh0W -DQ8SMAARQH8WfxIiABIOLQAAIQAQDiwAEAwfABAOKgAQDE0AEA5YABUMKQAfDCgAAS9_fFQEPWd0 -DxQODQQCACYUDRAAAAoA-wX-GxQfEV8bHxGfGx8RbxsfEf8bDWcGHfEUQF8UcB4PFT8fLkAeDxUO -Px8PFQ4NDiAeDQ4NPx8ODQ4NDhAGAGE8DQ4NHgALADENDhwHABE_BgAhHA4HABEeBgAnDhQaACUU -DhoA4CwNDixeTA4NTA0OAA48FgBSPA4QDixaAEEOIA4MCgBhDQ4cDkAuCgBPHnBeQFABHQPLAAA- -AFEuQA4PH0kAYw4NLiAOLAsAMRwOEMkAYA4NPAAOTAgAUUwuTC5MogAgFEy2ADccFBzOACwcHucA -NQ4AHhkACBoBEiDUAG4NHkAuPC68AA9aB0Dg8BOdUA1-EA1QDQ5fGA4HAEIMPx4MCQA-CxwLCgAS -EjsIABBcBgBvfg1QnfAThgAwEzddAD8HHAcKABIeN4UADz0BTmD-FAEADiACABE_BgAyDgAeCAA- -EP4CGQA2Hw7IAE8AXwdQHxYGBx4JALEGBw4WHhYeZgcGHgMAAQIARRYelh6RBxEHKgAxph4WqQcF -KABSVh4WHlYcAAZJABKmHAAfBkgAAAIoADxmHhZJAF8WDiYehsQAHfYA9QHfGBXeFd8VFd4V3hXd -BgB-9QLdFd31AVAAHU-2AA0GAgDKL-YBYwEfRw8WDQ4CADgVDQ4CAHP1AQ8TLwwvRAsgHwx_CxkP -fwsZD2YLDw4ACXE-DA8TLxEvFgA1jxMfIAA3bxEPDgA-DwxfEAAEAUAAIQw-DgAf3wsEHqH-GxYf -ET8bHxEvDwcQBwUAEAYFABAFBQASCi8HAQkAAjAHEgQqABE-DQAfC5MIHWH-GxAPEX9AAD8PET9y -AAEUAnIAEhJyABePBAA--xsIcQAdL-DwVARPTx8UsD4CAAoPugkef-8UEPCw-hA3AB8-EtAeAgAC -D0wAIT8Q0B4CAAIv-hKFAScPMgCrD2ABBwACAA9iASAv8NCXATcBAgAPTwAdivAdFEAPHw8UBABB -BA4PFKAJAgIAYQQNDiCeBLIJYG0EHSANHgYADg0AoA0EIA0ePQQNJA0QABFNdgtBEMQgBBUAIQRQ -FAAfMKEAHlQRFJAUAJUAIw4NAgAhBB7SCwaiAKceBK4EDh0ErQQtBAAbDQIAQx0kDQQCADk0DQQC -AG8AFJAU8BGeACAbwJwAETAwAQQCAIAgHgSeIB0EbQsAWh0EbR4NDQAiBA0OAFINJA0EPRAAMA0E -TUYAMcRABBMAIQRQEAAeIJoAD-gEcQJ1Ag8SAzg-EsAuAgACH-6bAR4e0J4ADysDK2YgLx9fFGAF -AFIfH28UYDAD-QNPFA8fYC5PFA5gDg0OXWANHl0JAEE9BA1gAgNHUJRQBA8AHzDZAU9mMF8ULx9g -BQBwbxQfH2AOT7ECYGAOTS5gXQkAO10eDQkAAX8CEWB_Aj9glFCNAijwACAE8HK1IAW-FgUQBR51 -HgYAPwVcBQgAAgEeAJa_BSC1gB6ABg4CADYwDgYCADYwBg4CAC-wog8BCx825wJMD1kHH1-w0P8U -EM4COQ_QBx8UILcC8hQEUAQOHx8_BA4EQMQwDQ4NTgQOBA4EIA4dPgQOJA4gDQ4NbhAAMm4EHg4A -Gh4NABCdAwYUDgIASAQODTA2Bh-AUwUhn1AYAGhQ_BDwYDoAHUIwBE8U2QDRUAQPFAQ_Hx8OBCDE -ENMA8AJODQ4NIA4kDgQ_HQ4gBA4EbhAAQB4Ebh2iBQ4NAEEdBJ0gzwAEAgAYINYFT0AU8B3XAB6F -AdMQEw8bAw4CADYQAw4CAF8TEBMOAxwAFK-TIA8WBXANBTANBgAPL-ACYARQUTwPHCxg9hXwCAcM -DhwwHA4MRwwODDAMDgxnDA4wHhcOAgAyDEAOCQDwISAeIFcADjAeIDcwHkAsCBwQHkAHLAgcB0Ae -AAdcBwAeAB4QfBAeIAcMBwwHTHAXAAgAnwxwFxAXkBgQGCcSHvAFIAEsPxwBUAEcbgFAAQwOEQ4R -Bw4KACIHDgMAAQwAMhwHHAoA8A8PF0cNDgEwARwnDSceATAxDAcOMVABBwwHCAcOBwEKAP8lDggO -CB4HATABBxxuBwEQARcsXhcBAAEXfAEXARARBwEXAQcRBxFAAQABBwEHAZABHAEcAdwSIA8yAP8Y --yiADxvQHoBPGA49QD0CbTC9MB0CbQIdIF0CXSDNMB0CTQItME0IXTA9Am1AXQItYH1wbZBNsC1Q -mQAfDzIA-0f-AAQEBAAfHAAOFx4XDgAeADwAGv8GCAgEgAcwByAHEAfwBAcQByAHMAeAQgAdkAgA -OAAIAAgwCAYAgRAIABhQGFAYCgAEFgA-OAAINwEfDzIA5fAUEL8YIA60DgAO1B5EPEQeJBw-HBwk -HiQMXQwkHhQMDVwNDBQIADIMPQwKABEdAgAICgDRJAwdHB0MJB4kHD0cJEUAn9QOAA60DiC_EL8A -Hw8yAP9LtxOfEFAOHA4sDgwOCAAjLgwQAAAIAAgaACo8LhgAIgweCgAxYA4MIgCPcB5MDoBe8BSI -AB75DxVVgAVWBXAFXxAFcAVeBXAFBj4GBXAFFh4WBXAFVgQAT4BV8CVMAR8PMgD-GfAIIcEQAYwP -ERsMDxwhDH8QHA8cARARLxCHCfIFMT8QEYABLgGgAR4PHAGQAR4NAZAPABANBQBfAbAx8ApwAB7w -HzYpwBoZECpQKhkAChlQSjlABhkKFgkGGhYwCQopChkKBhkGEGoJKgkWIBYKFgoJAK8wNhlGUIaQ -JvAGQQEfDzIA--------------------------------------9BUD0xMX19 +MgUGBzAABx4AEgUgAAFCAANOAAUeAB8HAQQdkP8VAwwPEAwOHJcDMm8VDgoAUR0MHQwtCwCxHQ4M +HQwOLQ4cDi0KAFIMLRwtDAoANA5dDgoAPww9DAwAAgUiAAU2AAVKAAJfADMtDE1zACNtDAkAPwz9 +A8UAHfEBHxQvFh8UhB4GHxYeRA8fJAkAYzQfHyQeLwgAkh8WBh4UDx8EHQsAIAQdCgBTLB4EHVQG +AGAGHB4EDWQHAFNUDRQeLAYAcBQNFB0UHhwxAAQJADANJB0aAAAtAD8sHoSqAB1VhB8UBh_sAGEE +Hx9UHi8IADEkHQQKABAdCQAmHAYJACAUDQkAMSweVAYAUQQdJA0UrQADtAADwQACJAAFNQATVAcA +AcUAT4QeLB6oAB3-IQYXFhcPFg0WHRYPEhYXFgcPFh0WHQYPEgcWFxYPFgYdFh0PEhcWFwYPFhYd +Fg0PEjAAEUB-Fn8SIgASDi0AACEAEA4sABAMHwAQDioAEAxNABAOWAAVDCkAHwwoAAEvfnxUBD1n +dA8UDg0EAgAmFA0QAAAKAP8F-xsUHxFfGx8RnxsfEW8bHxH-Gw1pBB3xFEBfFHAeDxU-Hy5AHg8V +Dj8fDxUODQ4gHg0ODT8fDg0ODQ4QBgBhPA0ODR4ACwAxDQ4cBwARPgYAIRwOBwARHgYAJw4UGgAl +FA4aAOAsDQ4sXkwODUwNDgAOPBYAUjwOEA4sWgBBDiAODAoAYQ0OHA5ALgoATx5wXkBQAR0DywAA +PwBRLkAODx9JAGMODS4gDiwLADEcDhDJAGAODTwADkwIAFFMLkwuTKIAIBRMtgA3HBQczgAsHB7n +ADUOAB4ZAAgaARIg1ABuDR5ALjwuvAAPWgdA4PATnVANfxANUA0OXxgOBwBCDD8eDAkAPwscCwoA +EhI7CAAQXAYAb34NUJ3wE4YAMBM3XQA-BxwHCgASHjeFAA89AU5g-xQBAA4gAgARPgYAMg4AHggA +PxD_AhkANh8OyABPAF8HUB8WBgceCQCxBgcOFh4WHmYHBh4DAAECAEUWHpYekQcRByoAMaYeFqkH +BSgAUlYeFh5WHAAGSQASphwAHwZIAAACKAA8Zh4WSQBfFg4mHobEAB32APUB3xgV3hXfFRXeFd4V +3QYAf-UC3RXd9QFQAB1P9gANBgIAyi-2AWMBH0cPFg0OAgA4FQ0OAgBz9QEPEy8ML0QLIB8MfgsZ +D38LGQ9mCw8OAAlxPwwPEy8RLxYANY8THyAAN28RDw4APw8MXxAABAFAACEMPw4AH98LBB6h-xsW +HxE-Gx8RLw8HEAcFABAGBQAQBQUAEgovBwEJAAIwBxIEKgARPw0AHwuTCB1h-xsQDxF-QAA-DxE- +cgABFAJyABIScgAXjwQAP-8bCHEAHS-w8FQET08fFLA_AgAKD7oJHn--FBDwsP4QNwAfPxLQHgIA +Ag9MACE-ENAeAgACL-4ShQEnDzIAqw9gAQcAAgAPYgEgL-DQlwE3AQIAD08AHYrwHRRADx8PFAQA +QQQODxSgCQICAGEEDQ4gngSyCWBtBB0gDR4GAA4NAKANBCANHj0EDSQNEAARTXYLQRDEIAQVACEE +UBQAHzChAB5UERSQFACVACMODQIAIQQe0gsGogCnHgSuBA4dBK0ELQQAGw0CAEMdJA0EAgA5NA0E +AgBvABSQFPARngAgG8CcABEwMAEEAgCAIB4EniAdBG0LAFodBG0eDQ0AIgQNDgBSDSQNBD0QADAN +BE1GADHEQAQTACEEUBAAHiCaAA-4BHECdQIPEgM4PxLALgIAAh-_mwEeHtCeAA8rAytmIC8fXxRg +BQBSHx9vFGAwA-0DTxQPH2AuTxQOYA4NDl1gDR5dCQBBPQQNYAIDR1CUUAQPAB8w2QFPZjBfFC8f +YAUAcG8UHx9gDk_xAmBgDk0uYF0JADtdHg0JAAF-AhFgfgI-YJRQjQIo8AAgBPBytSAFvxYFEAUe +dR4GAD8FXAUIAAIBHgCWvgUgtYAegAYOAgA2MA4GAgA2MAYOAgAv8KIPAQsfNucCTA9ZBx9f8ND- +FBDOAjkPkAcfFCC3AvIUBFAEDh8fPgQOBEDEMA0ODU4EDgQOBCAOHT4EDiQOIA0ODW4QADJuBB4O +ABoeDQAQnQMGFA4CAEgEDg0wNgYfwFMFIZ9QGABoUPgQ8GA6AB1CMARPFNkA0VAEDxQEPh8fDgQg +xBDTAPACTg0ODSAOJA4EPh0OIAQOBG4QAEAeBG4dogUODQBBHQSdIM8ABAIAGCDWBU9AFPAd1wAe +hQHTEBMPGwMOAgA2EAMOAgBfExATDgMcABSv0yAPFgVwDQUwDQYADy7wAt8SD2AEPlE8DxwsYPYV +8AgHDA4cMBwODEcMDgwwDA4MZwwOMB4XDgIAMgxADgkA8CEgHiBXAA4wHiA3MB5ALAgcEB5ABywI +HAdAHgAHXAcAHgAeEHwQHiAHDAcMB0xwFwAIAJ8McBcQF5AYEBgnEh7wBSABLD8cAVABHG4BQAEM +DhEOEQcOCgAiBw4DAAEMADIcBxwKAPAPDxdHDQ4BMAEcJw0nHgEwMQwHDjFQAQcMBwgHDgcBCgD- +JQ4IDggeBwEwAQccbgcBEAEXLF4XAQABF3wBFwEQEQcBFwEHEQcRQAEAAQcBBwGQARwBHAHcEiAP +MgD-GP8ogA8b0B6ATxgOPUA9Am0wvTAdAm0CHSBdAl0gzTAdAk0CLTBNCF0wPQJtQF0CLWB9cG2Q +TbAtUJkAHw8yAP9H-wAEBAQAHxwADhceFw4AHgA8ABr-BggIBIAHMAcgBxAH8AQHEAcgBzAHgEIA +HZAIADgACAAIMAgGAIEQCAAYUBhQGAoABBYAPzgACAUBHTNQBQACADgQBQACALEVAAUPGQUOBQ4F +AAYAERAGAPAAXgkFABUOBR4JDgkKKQ4JDQlASQoZDhUA8QgZSgkaHgUADgUOGUoZLhUuCRoXCgke +CRIA4AkKCToJCh4AFVkaCQ4ZTQDwAR4JCjkuBQ4VAAUJDgkeCQprAAKCAGAJPgUOBTALAFYOGR4A +BaEAPwAFEBUCHw8yALPwFBC-GCAOtA4ADtQeRDxEHiQcPxwcJB4kDF0MJB4UDA1cDQwUCAAyDD0M +CgARHQIACAoA0SQMHRwdDCQeJBw9HCRFAI-UDgAOtA4gvlUBIA8yAP9LtxOfEFAOHA4sDgwOCAAj +LgwQAAAIAAgaACo8LhgAIgweCgAxYA4MIgCPcB5MDoBe8BSIAB75DxVVgAVWBXAFXxAFcAVeBXAF +Bj4GBXAFFh4WBXAFVgQAT4BV8CVMAR8PMgD-GfAIIcEQAYwPERsMDxwhDH8QHA8cARARLxAzCvIF +MT8QEYABLgGgAR4PHAGQAR4NAZAPABANBQBfAbAx8ApwAB7wHzYpwBoZECpQKhkAChlQSjlABhkK +FgkGGhYwCQopChkKBhkGEGoJKgkWIBYKFgoJAK8wNhlGUIaQJvAGQQEfDzIA---------------- +----------------------9BUD0xMX19 :: gfx/.info.pod b64$LS1bW3BvZCxjcmVhdGVkPSIyMDI0LTA0LTA0IDA3OjE5OjMzIixtb2RpZmllZD0iMjAyNC0w -NC0yOCAxNTowMDo0NSIsc3RvcmVkPSIyMDI0LTA0LTA0IDA3OjE5OjMzIl1dbHo0AAQAAAADAAAA +NC0yOCAxOToyNjo0OSIsc3RvcmVkPSIyMDI0LTA0LTA0IDA3OjE5OjMzIl1dbHo0AAQAAAADAAAA MG5pbA== :: map/0.map b64$LS1bW3BvZCxjcmVhdGVkPSIyMDI0LTA0LTA0IDA3OjE5OjMzIixtb2RpZmllZD0iMjAyNC0w -NC0yOCAxNTowMDo0NSIscmV2aXNpb249MTM1MV1dbHo0AM8FAAAUQgAA8Ah7e2JtcD11c2VyZGF0 +NC0yOCAxOToyNjo0OSIscmV2aXNpb249MTQwN11dbHo0AMoFAAARQgAA8Ah7e2JtcD11c2VyZGF0 YSgiaTE2IiwzMgMALyIwAQD-gy4xMAwADwEAoiozMAEAHjQUAAwBADU1ODABAD80ODABACsvNDAz ACYfNnwABD8xMzCAAEoAAQA-MzYwXAATBAQADwEANQ9QACEvMzCAAG0PAQC6KjQ4CAEPBAMHDiAA DwEANgSAAB8zYAEALzMwAQBOLzQ4GAAPDiQADwEAOQ5oAA8BAHIeM4ABD4AAYA8BAP_EBLQDDhAA DwEAUwxwAAcQAB82xQhQLzYwAQDsB3ABDhAADwEAUAxwAAwQAA9oBB0IAQAISAAPgAQaD4AAQg8B -AP8XDiwLDwEAFC80MNABPx8zJQQYLzQwAQDU9hwiKSxoaWRkZW49ZmFsc2UsbmFtZT0ib2JqZWN0 -cyIscGFuX3g9LTE2My4zAQABFwCVeT0tMTMzLjgzAQCiLHRpbGVfaD0xNgoAEHcKAI96b29tPTF9 -LIQQCQ8BAP--------------------sPhBADr2ZvcmVncm91bmSHELIvMzkEAAMPAQAFLzM5BAAD -DwEAIW8zMjAwMGIEAAMvMzAwAAQTOQQAGmIMAC8zMIAAJB85BAABD4AAEBowDAAPgAAZBDQBIzNh -QAAiZDABABNjEAAAHAAWOCgADwABEgcwAA8EAAEPRAACL2QwAQAHB4wACTwADzAACQuUAAgIAB8z -gABZFzAMAA_AAD0XNQQACAEALzUwAQAKCYAAH2YEAAMmMTYEACcwZgQACDwAAwEAPzNlMAEAGgmA -AA8XFwUIgAAOAQAOPAAPAQAYD4AANh81BAAMBAEAGjUEAA8AAbYPgADsajJiMDAyYwQABAEALzJj -BAAEFmSAAAABAC8yOQQAAClhMAEAJjI4HAAIgAA-MzUwAQAeEzOgBi8zOQQACAsYAQiwAA_AAC0A -AQABXwATYRAFF2EEAAMQAC8yMIAAoyIyYuABD4AAEg8BAAgAQAcTMnUAHjItAA_AAAYqMzMsAg9M -AgIfYoAADycwY5AGH2MAAQgeZIAAHzMoAAANpAAPgAA0D9wCBQ_AAC4LAQAPgAAVLzAw-AgAHmGk -AA_AAEkJLAgXOUgBCAQCD4AANRc1BAAPgAARAywAD4AAFSMzZQQAHzABAAMO4AIPjAMLBBwDDDwA -DTQDCwQADgEAD4gBDy4zM6ADDxwCBQ0YAAcEAC8wMIAADwRYBg0MAwugAwGcARdhBAAfZBgAABZi -CAUuMGJ8AQ_AAAUNbAAOAQAPgABGDwEARw_AAI8mMDCoAg8EAEEPhxARR3NvbGmCEE8xMS44ghAA -LzYwghA0LzEwAQD-gB45DAAPAQChLzE4BAADDwEABS8xYQQAAw8BACEvMTgEAAcPAQAFLzFhBAAD -LzAwkAEfLzE4BAAHDwEABScxYgQAFjkEAC8wOAQADAcBAC8xYwQAAyYwZgQAJjFjBAAJAQAfOAQA -JAcBAC8xYwQAGwkBAB84BAAkBwEALzFjBAAbCAEALzE4BAAjCAEALzFjBAAbCAEALzE4BAAjCAEA -LzFjBAAbCAEALzE4BAAjCAEALzFjBAAbCAEALzE4BAAjCAEALzFjBAAbCAEALzE4BAAjDwEAEhdl -BAAPAQAELzFiBAAABAgEH2IEAAcPAQASF2UEAA8BAAUfOAQAJA8BABEXZQQADwEABR84BAAkDwEA -ERdlBAAPAQAFHzgEACQXMFwADwQAAQQBAC9lMAEACx44BAANTg0WYRwABQQABFwADwQABQQBAC9l -MAEACx44BAAfM6ILARs4BAAEXAAPBAAFBAEAL2UwAQALHziAAEQMBAAPAQAFHziAAOsuMWJ4BA_A -AAEEHAAJgAQfZQQAGA8BAA0fOAQAFA8BAAEvZTABAC4vMTgEABMPgAD-Ri8wOAQAFB9lBAAgDwEA -ER84BAAUH2UEAB4PCSGSSmJhY2sJIWQxMzcuMTYBABU3hhAvMTKGEBFQbT0xfX0= +AP8XDiwLDwEAFC80MNABPx8zJQQYLzQwAQDU9hsiKSxoaWRkZW49ZmFsc2UsbmFtZT0ib2JqZWN0 +cyIscGFuX3g9LTMxLjMBAAEWAJV5PS0xMTMuODMBAKIsdGlsZV9oPTE2CgAQdwoAj3pvb209MX0s +gxD-bFM5MDAwYggADwEA------------------_MD4MQA69mb3JlZ3JvdW5khhCxLzM5BAADDwEA +BS8zOQQAAw8BACEjMzL_Dw8EAAAvMzAwAAQTOQQAGmIMAC8zMIAAJAREABcwDAAfOYAAEBowDAAP +gAAZBDQBIzNhQAAiZDABABNjEAAAHAAWOCgADwABEgcwAA8EAAEPRAACL2QwAQAHB4wACTwADzAA +CQuUAAgIAB8zgABZFzAMAA_AAD0XNQQACAEALzUwAQAKCYAAH2YEAAMmMTYEACcwZgQACDwAAwEA +PzNlMAEAGgmAAA8VFwUIgAAOAQAOPAAPAQAYD4AANh81BAAMBAEAGjUEAA8AAbYPgADsajJiMDAy +YwQABAEALzJjBAAEFmSAAAABAC8yOQQAAClhMAEAJjI4HAAIgAA-MzUwAQAeEzOgBi8zOQQACAsY +AQiwAA_AAC0AAQABXwATYRAFF2EEAAMQAC8yMIAAoyIyYuABD4AAEg8BAAgAQAcTMnUAHjItAA_A +AAYqMzMsAg9MAgIfYoAADycwY5AGH2MAAQgeZIAAHzMoAAANpAAPgAA0D9wCBQ_AAC4LAQAPgAAV +LzAw-AgAHmGkAA_AAEkJLAgXOUgBCAQCD4AANRc1BAAPgAARAywAD4AAFSMzZQQAHzABAAMO4AIP +jAMLBBwDDDwADTQDCwQADgEAD4gBDy4zM6ADDxwCBQ0YAAcEAC8wMIAADwRYBg0MAwugAwGcARdh +BAAfZBgAABZiCAUuMGJ8AQ_AAAUNbAAOAQAPgABGDwEARw_AAI8mMDCoAg8EAEEPhhART3NvbGmB +EFcvMTABAP_AHjkMAA8BAKEvMTgEAAMPAQAFLzFhBAADDwEAIS8xOAQABw8BAAUvMWEEAAMvMDCQ +AR8vMTgEAAcPAQAFJzFiBAAWOQQALzA4BAAMBwEALzFjBAADJjBmBAAmMWMEAAkBAB84BAAkBwEA +LzFjBAAbCQEAHzgEACQHAQAvMWMEABsIAQAvMTgEACMIAQAvMWMEABsIAQAvMTgEACMIAQAvMWME +ABsIAQAvMTgEACMIAQAvMWMEABsIAQAvMTgEACMIAQAvMWMEABsIAQAvMTgEACMPAQASF2UEAA8B +AAQvMWIEAAAECAQfYgQABw8BABIXZQQADwEABR84BAAkDwEAERdlBAAPAQAFHzgEACQPAQARF2UE +AA8BAAUfOAQAJBcwXAAPBAABBAEAL2UwAQALHjgEAA1NDRZhHAAFBAAEXAAPBAAFBAEAL2UwAQAL +HjgEAB8zoQsBGzgEAARcAA8EAAUEAQAvZTABAAsfOIAARAwEAA8BAAUfOIAA6y4xYngED4AAAQQc +AAmABB9lBAAYDwEADR84BAAUDwEAAS9lMAEALi8xOAQAEw_AAP9GLzA4BAAUH2UEACAPAQARHzgE +ABQfZQQAHg8HIZJKYmFjawchZDEzNy4xNgEAFjeGEB8yhhARUG09MX19 :: map/.info.pod b64$LS1bW3BvZCxjcmVhdGVkPSIyMDI0LTA0LTA0IDA3OjE5OjMzIixtb2RpZmllZD0iMjAyNC0w -NC0yOCAxNTowMDo0NSIsc3RvcmVkPSIyMDI0LTA0LTA0IDA3OjE5OjMzIl1dbHo0AAQAAAADAAAA +NC0yOCAxOToyNjo0OSIsc3RvcmVkPSIyMDI0LTA0LTA0IDA3OjE5OjMzIl1dbHo0AAQAAAADAAAA MG5pbA== :: sfx/0.sfx b64$LS1bW3BvZCxjcmVhdGVkPSIyMDI0LTA0LTA0IDA3OjE5OjM0Iixtb2RpZmllZD0iMjAyNC0w -NC0yOCAxNTowMDo0NSIscmV2aXNpb249MTA1MV1dbHo0AEYBAABmCAAA8CdweHUAAygAAAMABA9A +NC0yOCAxOToyNjo0OSIscmV2aXNpb249MTA5OF1dbHo0AEYBAABmCAAA8CdweHUAAygAAAMABA9A EAIOAAGgASACoA4ADxAADfDKAQIDBAUGBwAP-5AICQoLDwwPDQ8ODw8QAPAADQ8RDxIPEw8UDxUP Fg8XEwDxAQ8YDxkPGg8bDxwPHQ8eDx8UAPEAIA8hDyIPIw8kDyUPJg8nFADxACgPKQ8qDysPLA8t Dy4PLxQA8QAwDzEPMg8zDzQPNQ82DzcUAP8FOA85DzoPOw88Dz0PPg8-AA--8P8BAOvyJ1oBEAYP @@ -111,14 +114,14 @@ Gy-wADAA--_CH-8BAMzxHegPQAANQA8XAAsaCAYIEAIDEAUABgAIAEkXACYICVD--wnxF-4J-Bf_ CfBwKwBf-rDwcAQIAP-cH-8BAJdQ-----x8= :: sfx/.info.pod b64$LS1bW3BvZCxjcmVhdGVkPSIyMDI0LTA0LTA0IDA3OjE5OjMzIixtb2RpZmllZD0iMjAyNC0w -NC0yOCAxNTowMDo0NSIsc3RvcmVkPSIyMDI0LTA0LTA0IDA3OjE5OjMzIl1dbHo0AAQAAAADAAAA +NC0yOCAxOToyNjo0OSIsc3RvcmVkPSIyMDI0LTA0LTA0IDA3OjE5OjMzIl1dbHo0AAQAAAADAAAA MG5pbA== :: main.lua ---[[pod_format="raw",created="2024-04-04 07:19:33",modified="2024-04-28 15:00:45",revision=1338]] +--[[pod_format="raw",created="2024-04-04 07:19:33",modified="2024-04-28 19:26:49",revision=1405]] include("/cirnofarm/src/game.lua") :: .info.pod b64$LS1bW3BvZCxjcmVhdGVkPSIyMDI0LTA0LTE2IDE5OjQyOjIyIixtb2RpZmllZD0iMjAyNC0w -NC0yOCAxNTowMDo0NSIscnVudGltZT02LHN0b3JlZD0iMjAyNC0wNC0xNiAxOTo0MDowNSIsd29y +NC0yOCAxOToyNjo0OSIscnVudGltZT02LHN0b3JlZD0iMjAyNC0wNC0xNiAxOTo0MDowNSIsd29y a3NwYWNlcz17e2xvY2F0aW9uPSJtYWluLmx1YSMxIix3b3Jrc3BhY2VfaW5kZXg9MX0se2xvY2F0 aW9uPSJnZngvMC5nZngiLHdvcmtzcGFjZV9pbmRleD0yfSx7bG9jYXRpb249Im1hcC8wLm1hcCIs d29ya3NwYWNlX2luZGV4PTN9LHtsb2NhdGlvbj0ic2Z4LzAuc2Z4Iix3b3Jrc3BhY2VfaW5kZXg9 diff --git a/src/box.lua b/src/box.lua index 02a636c..f7d529b 100644 --- a/src/box.lua +++ b/src/box.lua @@ -1,12 +1,27 @@ local Actor = require(make_path("actor2")) local Box = Actor:new() -Box.spriteIndex = 4 + +function Box:new(x,y) + local b = Actor:new(x,y) + + b.life = 8 + b.shootable = true + b.spriteIndex = 4 + + return setmetatable(b, {__index=self}) +end + +--Box.spriteIndex = 4 function Box:update() end +function Box:destroy() + del(actors,self) +end + --function Barrel:draw() -- spr(self.spriteIndex,self.x,self.y) --end diff --git a/src/cirno.lua b/src/cirno.lua index 9293264..2f034fc 100644 --- a/src/cirno.lua +++ b/src/cirno.lua @@ -20,7 +20,7 @@ Cirno.weapon=nil function Cirno:new(x,y) local obj = Actor:new(x,y) - local weapon = weapons_manager.make_weapon(weapons_manager.get_weapons().ICE_BLASTER) + local weapon = weapons_manager.make_weapon(weapons_list.ICE_BLASTER) obj.weapon = weapon diff --git a/src/game.lua b/src/game.lua index 9faf2ea..e138119 100644 --- a/src/game.lua +++ b/src/game.lua @@ -61,6 +61,65 @@ local Box = require(make_path("box")) include(make_path("pgui" .. ".lua")) +particles_list = { + BLINK={ + life=4, + spriteIndex=81 + }, + EXPLOSION={ + life=8, + spriteIndex=83 + } +} + +bullets_list = { + BASIC={ + spriteIndex=80, + damage=1, + speed=2, + life=100, + radius=4, + particle=particles_list.BLINK + } +} + +weapons_list = { + ICE_BLASTER={ + name = "Ice Blaster", + rate_of_fire = 8, + bullet=bullets_list.BASIC, + spriteIndex=104, + --shoot=function(self,x,y,dir_x,dir_y) + -- create_bullet(self.bullet, x, y, dir_x, dir_y) + --end + }, + SPAGHETTI={ + name = "Spaghetti", + rate_of_fire = 80, + bullet=bullets_list.BASIC, + spriteIndex=105, + } +} + +LAYERS = { + {index=4, name="background", render=true, render_objects=false, spawn_objects=false}, + {index=3, name="solid", render=true, render_objects=true, spawn_objects=false}, + {index=2, name="foreground", render=true, render_objects=false, spawn_objects=false}, + {index=1, name="objects", render=false, render_objects=false, spawn_objects=true} +} + +actors_db = { + {name="teleporter",sprite=88,actor=nil}, + {name="barrel",sprite=3,actor=Barrel}, + {name="strawberry",sprite=72,actor=Strawberry}, + {name="player",sprite=65,actor=nil}, + {name="box",sprite=4,actor=Box}, + {name="alarm",sprite=19,actor=nil}, + {name="fan",sprite=16,actor=nil} +} + + + tile_width = 16 tile_height = 16 @@ -101,6 +160,7 @@ function _update() {"text_box",{text=string.format("Actors: %d", count(actors)),margin=2,stroke=true,active=false,hover=false}}, {"text_box",{text=string.format("%.4f %dfps",stat(1),stat(7)),margin=2,stroke=true,active=false,hover=false}}, {"text_box",{text=string.format("Bullets: %d", count(bullets)),margin=2,stroke=true,active=false,hover=false}}, + {"text_box",{text=string.format("Particles: %d", count(particles)),margin=2,stroke=true,active=false,hover=false}}, {"text_box",{text=string.format("Weapon: %s", cirnoInstance.weapon.data.name),margin=2,stroke=true,active=false,hover=false}}, {"text_box",{text=string.format("Weapon timer: %d", cirnoInstance.weapon.timer),margin=2,stroke=true,active=false,hover=false}}, {"sprite_box",{sprite=cirnoInstance.weapon.data.spriteIndex,margin=2,stroke=true,active=false,hover=false}}, @@ -109,22 +169,7 @@ function _update() --pgui:component("text_box",{text=string.format("Actors: %d", count(actors)),margin=2,stroke=true,active=false,hover=false}) end -LAYERS = { - {index=4, name="background", render=true, render_objects=false, spawn_objects=false}, - {index=3, name="solid", render=true, render_objects=true, spawn_objects=false}, - {index=2, name="foreground", render=true, render_objects=false, spawn_objects=false}, - {index=1, name="objects", render=false, render_objects=false, spawn_objects=true} -} -actors_db = { - {name="teleporter",sprite=88,actor=nil}, - {name="barrel",sprite=3,actor=Barrel}, - {name="strawberry",sprite=72,actor=Strawberry}, - {name="player",sprite=65,actor=nil}, - {name="box",sprite=4,actor=Box}, - {name="alarm",sprite=19,actor=nil}, - {name="fan",sprite=16,actor=nil} -} actors = {} bullets = {} @@ -165,6 +210,7 @@ include(make_path("error_explorer") .. ".lua") function spawn_objects() + -- Map width and height, TODO: unhardcode local width = 32 local height = 32 @@ -177,6 +223,7 @@ function spawn_objects() if (a) then local ai = a:new(x*tile_width,y*tile_height) --local ai = Barrel:new(x*tile_width,y*tile_height) + --error("ads") add(actors,ai) end @@ -256,7 +303,7 @@ function check_collisions() end end end -end + end end diff --git a/src/map.lua b/src/map.lua index c94d3d5..9075729 100644 --- a/src/map.lua +++ b/src/map.lua @@ -1,6 +1,6 @@ --local player = require(make_path("cirno")) -M = {} +local M = {} local tile_width = 16 local tile_height = 16 diff --git a/src/particle.lua b/src/particle.lua new file mode 100644 index 0000000..8742b00 --- /dev/null +++ b/src/particle.lua @@ -0,0 +1,31 @@ +local Actor = require(make_path("actor2")) + +Particle = Actor:new() + +function Particle:new(x,y,type) + local p = Actor:new(x,y) + + p.life = type.life + p.spriteIndex = type.spriteIndex + p.shootable = false + + return setmetatable(p, {__index=self}) +end +--Particle.life=4 +--Particle.spriteIndex=81 + +function Particle:update() + self.life-=1 + if self.life<=0 then + del(particles,self) + end +end + +local M = {} + +function M:create(x,y,type) + return Particle:new(x,y,type) +end + + +return M \ No newline at end of file diff --git a/src/typeLists.lua b/src/typeLists.lua new file mode 100644 index 0000000..e69de29 diff --git a/src/weapons.lua b/src/weapons.lua index dd66273..a5be1c8 100644 --- a/src/weapons.lua +++ b/src/weapons.lua @@ -1,38 +1,10 @@ ---[[pod_format="raw",created="2024-04-24 07:17:14",modified="2024-04-24 20:33:05",revision=11]] local map_manager = require(make_path("map")) local Actor = require(make_path("actor2")) +local Particle = require(make_path("particle")) --local actor = require("actor2") M = {} -local bullets_list = { - BASIC={ - spriteIndex=80, - damage=1, - speed=2, - life=100, - radius=2 - } -} - -local weapons_list = { - ICE_BLASTER={ - name = "Ice Blaster", - rate_of_fire = 8, - bullet=bullets_list.BASIC, - spriteIndex=104, - --shoot=function(self,x,y,dir_x,dir_y) - -- create_bullet(self.bullet, x, y, dir_x, dir_y) - --end - }, - SPAGHETTI={ - name = "Spaghetti", - rate_of_fire = 80, - bullet=bullets_list.BASIC, - spriteIndex=105, - } -} - function shoot(weapon, x, y, dir_x, dir_y) -- handle cooldown create_bullet(weapon.bullet, x, y, dir_x, dir_y) @@ -64,34 +36,6 @@ function Weapon:update() end end --- Particle - -Particle = Actor:new() - -function Particle:new(x,y) - local p = Actor:new(x,y) - - p.life=4 - p.spriteIndex=81 - p.shootable = false - - return setmetatable(p, {__index=self}) -end ---Particle.life=4 ---Particle.spriteIndex=81 - -function Particle:update() - self.life-=1 - if self.life<=0 then - del(particles,self) - end -end - --- function Particle:draw() --- spr(self.spriteIndex,self.x,self.y) --- end - - Bullet = Actor:new() --function Bullet:new() -- @@ -109,6 +53,7 @@ function Bullet:new(bullet_data,x,y,dir_x,dir_y) obj.life = bullet_data.life obj.speed = bullet_data.speed obj.radius = bullet_data.radius + obj.particle = bullet_data.particle obj.dx = dir_x * obj.speed obj.dy = dir_y * obj.speed @@ -121,7 +66,7 @@ end function Bullet:destroy() -- Create particle - local p = Particle:new(self.x, self.y) + local p = Particle:create(self.x, self.y,self.particle) add(particles, p) @@ -176,14 +121,6 @@ end -- return shoot(weapon, new_x,new_y,dir_x,dir_y) --end -function M.get_weapons() - return weapons_list -end - -function M.get_bullets() - return bullets_list -end - function M.init() end