├── shaders ├── .gitignore ├── glsl │ ├── 265058E91A2A1B2CC6BCAFE6191CCD27DE7A51B7.glsl │ ├── 2DAF3A45EC786EE905FE544BE0F7A33F783D1E21.glsl │ ├── 53FCE0EAF1AC45CFDB38B96AE0D04231AE6D7ECB.glsl │ ├── 73CD76D91384F3BE5EF3ACEE9BDBE225D8C47B60.glsl │ ├── C0543F3B0EAA19D9FE905B5A846E0F8EAF8001E2.glsl │ ├── 07BADD7D2E53D1F720D93060DDC4E3AD16763AC6.glsl │ ├── 42E6DDDD93421CF84C285A6E10F2833823466C8D.glsl │ ├── 500505ED7889E31AA79A433A6FD1CB9D5122B1F0.glsl │ ├── 579E6E6AEF616C98C755DFBB944A41720E2A92CC.glsl │ ├── 7453B07EA4B59FEB98C29C691B68194B093215A1.glsl │ ├── 88DCAF448218260D8B77F0DFCD17FFFA0B83B90B.glsl │ ├── AEFCFA6C9F00452BDC1B6AE238850F74797D8355.glsl │ ├── F282E250140044D450E4D86293FDF85D1DA4BFA6.glsl │ ├── FA3BA69204DE21627F6CE26C717FA65242B2E0EC.glsl │ ├── 111C3DA2B3F51763B96272FB77741F76A8350229.glsl │ ├── 1F1CE7C1F1A1B540ABAE978023162C94D52F79F1.glsl │ ├── 2EE731190D211E1F09CCEE91D4A9FEDA5B34C624.glsl │ ├── 35ABCC15044E214D3505049F8B3AC83CFE8525F0.glsl │ ├── 3759F2A25BBB2404BADED20708AA90CC4D8FAB04.glsl │ ├── 43E974354816762694C4D25D246C4F4D86F24C82.glsl │ ├── 630FA91CA629C0D527257EE0E8D2D206650AF802.glsl │ ├── 7711D58F5CCA8E110FD5135082560093D2AE0618.glsl │ ├── 98958E5B117D78BBEA49CFAE6DBBF779A8095929.glsl │ ├── A25A7C3DCF516B36A9182C67BDD7DB2ED972A039.glsl │ ├── B18FAF175F67CF26A72CB991E3225CF7796D2DCD.glsl │ ├── C224BC56763B2BBAB8BF6EC712B3920E7EE8575F.glsl │ ├── D182C1157223B786AAB0AAF92BF37A5984490390.glsl │ ├── F2BEC7049F5C384F7AE07DBFCDDAACA637BBEAA7.glsl │ ├── F3DE4A3934669F5D60D127DEA53EE9F72B1CC643.glsl │ ├── DD4E69725396B90F3F21D857B71CBD859F709486.glsl │ ├── FD121921DD5E7596477EFE3A60EFBEC7FD638776.glsl │ ├── 18305AA17F0382C16FF015340C66C08D0DFD04C0.glsl │ ├── 2E9FD39D7ECB8A7B3238AC543F53B09DAB7E031D.glsl │ ├── 5908CD9391DA1D6B39692C6FAB75AB9C000C8A00.glsl │ ├── 7061AB5EDBFF5EF0FF0196A229C2A264E9AC1EA8.glsl │ ├── 808BEB642B8C68799C8C9FF4DDBEE1E01DE895E6.glsl │ ├── 851EDCB95BA9B2094184DF276B134921601C4A98.glsl │ ├── 96C833ACC78662E0B19F4F6AE0A05B7252647561.glsl │ ├── A9D71B680431D4F62BBF412007E67504DCE8FF6C.glsl │ ├── C10A3B1F7752376C557355296CEE024637B1BA43.glsl │ ├── DE72DEDC525B1222F12E31C5C184BB58921485BA.glsl │ ├── E71DC5A3C13A08ADC1102D2098FCA159003246E6.glsl │ ├── 5583C7ECE74F65E42F2C713D0F2F2DFFC7AAC718.glsl │ ├── 9BAB93F81E878BE8EEEBC9681FB0C9016262EB41.glsl │ ├── B5F75774CF27E297840733EC569C3890449CE1D7.glsl │ ├── F3592AC281EBF5D60EF5D74BA449791C1EE238B0.glsl │ ├── 0285220332BF1E41FD3A2122D16CC04704B943DB.glsl │ ├── 282C6A3FF848CC620358EBDC1659E4C27ED138FB.glsl │ ├── 32F8E74D71750B542858595686FE6E0321AFB498.glsl │ ├── 3346C20117C640D88D4ADD371557B981A164C52C.glsl │ ├── 42AAE04CA93F4A13FBFE8A88596224FDA4B8B570.glsl │ ├── 54855E2A980DCA908DD214507AC3229BD1483E59.glsl │ ├── 64D2BB9928E92A1ED5FB82085B9946A0D65BEE38.glsl │ ├── 748F3BF49B27B4D6123710380761AED53C02FD1C.glsl │ ├── 8E8CD80869D5337C34E7171BED89A6E63E8C2906.glsl │ ├── AE0250395FC4F8C0F6A26C8C7A85B16D807875BF.glsl │ ├── B10C3AE3128ED910041C8AAC95D2F750056FFE01.glsl │ ├── C61D2874234FDF097508922CE95E52E7876DC006.glsl │ ├── D01DB7FF50CD729F3D814EBCE13E2FCF5F342C01.glsl │ ├── FC72D2CBA74E8CF234162BEFDE8D53DC9A306D2D.glsl │ ├── 13C1C6E2B9D4E034D2878B1BCD29127CDCB67352.glsl │ ├── 1877CE53D9EC067CF82F7BD679AB63F3A0CD88BF.glsl │ ├── 25C51DE740DAA9D7699EF960D64B273A76580377.glsl │ ├── 2915ABCCA223C0090ADC48F3AA9A1C6889045923.glsl │ ├── 47458AA4841D6D836E400E96FF0B92DB91516BA8.glsl │ ├── 653D63AEFB66BF9F30E351CBBD0015E487AF6F80.glsl │ ├── 844B9F6A529F58B0E48DEF07FE1C4FEB28F3BE66.glsl │ ├── 91CEFDAEDE1B1074FEF8B081F03FAC793EF61CEB.glsl │ ├── F3CF5EE07A400922585601FBD0637678EE9B55D8.glsl │ ├── D9F2D657B43841E7C81D90303A5A1BB24E9222F7.glsl │ ├── 058D6BDC09C95AD0522046F619F3FF2C5C974028.glsl │ ├── 0D02ABDA6625831EADDE6B9DCBC6FCDD8420EF4D.glsl │ ├── 12DF7F22A6B4C2CAE5470E21D3E13DBA2C53BB3E.glsl │ ├── 2492F641A8323EE569FBC64B641BB3D6FDE92A3F.glsl │ ├── 32169D73096DCDA3D8A2A936CC379792FDC9A2A3.glsl │ ├── 5B642FA5F9D1832F014F0A457CF6B018FB20737B.glsl │ ├── 616CA959C365BCC52AD2CBFF604EB86FB787B6F5.glsl │ ├── FB966126342052BEB29434FEBFACD4C884B4E9B1.glsl │ ├── 2A7FF9F7A8E7928F80DC00DB982DDF4F2367AF2B.glsl │ ├── 370301906C9BC2A1E7A2F46AB9E5E4EA7D297560.glsl │ ├── 54A25F19715A212548CB69EA07AFDD1A5D473A9B.glsl │ ├── 93797C006BA2DD39B5F8C2AA6FF3344396152E6F.glsl │ ├── D1D3895A4C2FF6F02A451425BB18454B4B553F78.glsl │ ├── D5D5E9B289C9A865D704BD48ECB4C6172D0AC867.glsl │ ├── D903AB87E45B1A6B3BD4FB6BF3109D4E7E01E959.glsl │ ├── D6AAC0DC1CA7A6DAF9F2A269EB647400620B8D33.glsl │ ├── FB5906CEFF82A2118B586855AE31EDF7CEDE2E17.glsl │ ├── 05242599784EEFCC4D9951838D6ACEADF0A22EDB.glsl │ ├── 2EB0406BE8FAF91715917724F84C503B40252516.glsl │ ├── A771F61F87D91CDB48D89E7E2199E8BF54BDCCFC.glsl │ ├── 1587ECAE08230AADAF876CBA39751B7F1E102AF7.glsl │ ├── 342903458C5FDA96C42EC7EDDCA3E22883A597A4.glsl │ ├── D2C0FC9C896A666FFCC52ECA47B9BDDD7E851E7A.glsl │ ├── 9114FCA5A684AC720167A108582257838628752D.glsl │ ├── B09730E64178BE520BCAEAB5A90831045F44DCB7.glsl │ ├── C3D9A654237C5C579B4FE853E280EE31CB7FF668.glsl │ ├── 3C5B11A337547CB9B7FF13E4177532E8CE2B6E3A.glsl │ ├── 22D0EE00B7100F13BD1AF0B40097010B39B9C9AE.glsl │ ├── 74935803B7E52251921542C6BCDBD096E9C3CDE8.glsl │ ├── 02E98D7A6AE701BD1DEA9FEABB12BB59D2A1D29C.glsl │ ├── 84256C21676DF1A1810515E34067C3587FCCCB24.glsl │ ├── C95A74A65217C382D71A5B1A87EC04DAD0DB7D7A.glsl │ ├── 516D26BE9D84FD151608A5B8DB813C01688299EF.glsl │ ├── 80ADA5CF271FC2708853879E7C557D0F2A1E6081.glsl │ ├── F0971D47248F64A868108F9A034E90E20FB0C6A1.glsl │ ├── C40AF8C3D0FF2230E4907A810521FCE729E2FFF6.glsl │ ├── 215F002BDA668CC18E43B16F8D86ED99BEBD5DEF.glsl │ ├── 39FCB73148851B7AA84C3B74D3EEC5414D512636.glsl │ ├── D2B901EA221A6A10BB1E9DADE6239B731F801846.glsl │ ├── 854E7B027E568FFC67CC53BBE188CA164C785CE5.glsl │ ├── 6CA96C48C3A2F6B08E0BA10FFE850A774CB50151.glsl │ ├── 6C2B9FC890E5530BC48CF8F85045D4B0301E8391.glsl │ ├── 027CD40636AD8A050166F97BA9960BD723B9FABF.glsl │ ├── 5C0B647D52957FFCC57DB676042AC44FB8C13B90.glsl │ ├── E269C9F4925272A49221628E19F460B7F473EB83.glsl │ ├── 72B3FE7B31E416C019D4104DB85E955385BD475F.glsl │ ├── BA27B443D0A404D8C451EC04083DE00E710CB2E8.glsl │ ├── A5609AD53F829CC74C5159473639A3DB468367AF.glsl │ ├── 3BB29B057CF9C262CC8999025E52C79793E6691B.glsl │ ├── DCD1DBD70BC96917BF9A985C9AFD1AED35FDC28E.glsl │ ├── 6E21224021CB11F89E9E713E76AAA474E2CF943B.glsl │ ├── 7CCA7577E6A09ABC8C88E4DFE089B9EEB8406087.glsl │ ├── 2E48A68A721D385FEFE7DAA7F1B3B8B090E98637.glsl │ ├── 9F4F668C7715C955E680407795452E5B18DF6D30.glsl │ ├── B02D045DCE2C27771DF3F96BB0CCBC1DC7EA6D2D.glsl │ ├── 02E2224C93BE494DDE41808058954A6B72760B24.glsl │ ├── C8ECA31BC238A01730DB4AAC278CCE5BC7318281.glsl │ ├── common │ │ ├── common_shader_17.glsl │ │ ├── common_shader_18.glsl │ │ ├── common_shader_7.glsl │ │ ├── common_shader_16.glsl │ │ ├── common_shader_4.glsl │ │ ├── common_shader_14.glsl │ │ ├── common_shader_8.glsl │ │ ├── common_shader_21.glsl │ │ ├── common_shader_5.glsl │ │ ├── common_shader_11.glsl │ │ ├── common_shader_3.glsl │ │ ├── common_shader_15.glsl │ │ ├── common_shader_2.glsl │ │ └── common_shader_19.glsl │ ├── 551E79EC1CE283D98DDC13F5EA20A43F8BF48C5D.glsl │ ├── 0D60B044FB5332BAC699DD4CFCFDD268C98F48BC.glsl │ ├── 412FC0A6A3242B9864C98947946679C28D5DE90D.glsl │ ├── 42C560E5CCFE7E6F8CC15EEFEAA65AA2BAEE175B.glsl │ ├── 0D2665162A6833543970D2850CE4AFA4D9FE3C72.glsl │ ├── BF648C749EC4C79A1D6DA27580A286569073CAAB.glsl │ ├── B7AA541F2DE1F536A36427B4C88AA79E9B3B373F.glsl │ ├── D6400621E30A0C5FAFC1BDA85B8066D4430027F4.glsl │ ├── FC3467DD308D91CD0EE31632B4E536471B64F520.glsl │ ├── 0D0FA314FC42DB4CEFAE7289ED85306E60F72E7C.glsl │ ├── E920196A0695563A56F98225FA768B76BF11FD54.glsl │ ├── 624CCEA9649A4C00413095FB70AC8E056421DFD5.glsl │ ├── 73720BD1506ACB2FE9EAF75BE77F6B9A01D96091.glsl │ ├── 520BB5DD777BD816155B4C699E4C3E0D24A2C6DE.glsl │ ├── E3CBD9CA76BE36C4B55C282AAEDB22ABA569A67A.glsl │ ├── E72E9D4CF0255BD41962A8EDB5AA60BAD2B97D18.glsl │ ├── E592F65D1F59E1ED6F9501DE9059CD9A72072E2F.glsl │ ├── B7252A5FD06CE55199B1647175A7CA19A5A10FBB.glsl │ ├── A7F7F58D7E0420D99A9D20E69F409A69FB3B7C0E.glsl │ └── FCECDB104D2D2EC5CA663A40B98C3C5089226572.glsl ├── cg │ ├── 07BADD7D2E53D1F720D93060DDC4E3AD16763AC6.cg │ ├── 265058E91A2A1B2CC6BCAFE6191CCD27DE7A51B7.cg │ ├── 2DAF3A45EC786EE905FE544BE0F7A33F783D1E21.cg │ ├── 42E6DDDD93421CF84C285A6E10F2833823466C8D.cg │ ├── 500505ED7889E31AA79A433A6FD1CB9D5122B1F0.cg │ ├── 53FCE0EAF1AC45CFDB38B96AE0D04231AE6D7ECB.cg │ ├── 579E6E6AEF616C98C755DFBB944A41720E2A92CC.cg │ ├── 73CD76D91384F3BE5EF3ACEE9BDBE225D8C47B60.cg │ ├── 7453B07EA4B59FEB98C29C691B68194B093215A1.cg │ ├── 88DCAF448218260D8B77F0DFCD17FFFA0B83B90B.cg │ ├── 9BAB93F81E878BE8EEEBC9681FB0C9016262EB41.cg │ ├── AEFCFA6C9F00452BDC1B6AE238850F74797D8355.cg │ ├── C0543F3B0EAA19D9FE905B5A846E0F8EAF8001E2.cg │ ├── F282E250140044D450E4D86293FDF85D1DA4BFA6.cg │ ├── F2BEC7049F5C384F7AE07DBFCDDAACA637BBEAA7.cg │ ├── FA3BA69204DE21627F6CE26C717FA65242B2E0EC.cg │ ├── 1877CE53D9EC067CF82F7BD679AB63F3A0CD88BF.cg │ ├── 2915ABCCA223C0090ADC48F3AA9A1C6889045923.cg │ ├── 2E9FD39D7ECB8A7B3238AC543F53B09DAB7E031D.cg │ ├── 808BEB642B8C68799C8C9FF4DDBEE1E01DE895E6.cg │ ├── 851EDCB95BA9B2094184DF276B134921601C4A98.cg │ ├── C10A3B1F7752376C557355296CEE024637B1BA43.cg │ ├── DD4E69725396B90F3F21D857B71CBD859F709486.cg │ ├── FB5906CEFF82A2118B586855AE31EDF7CEDE2E17.cg │ ├── FD121921DD5E7596477EFE3A60EFBEC7FD638776.cg │ ├── 05242599784EEFCC4D9951838D6ACEADF0A22EDB.cg │ ├── 18305AA17F0382C16FF015340C66C08D0DFD04C0.cg │ ├── 5908CD9391DA1D6B39692C6FAB75AB9C000C8A00.cg │ ├── 7061AB5EDBFF5EF0FF0196A229C2A264E9AC1EA8.cg │ ├── 7711D58F5CCA8E110FD5135082560093D2AE0618.cg │ ├── 96C833ACC78662E0B19F4F6AE0A05B7252647561.cg │ ├── A9D71B680431D4F62BBF412007E67504DCE8FF6C.cg │ ├── C224BC56763B2BBAB8BF6EC712B3920E7EE8575F.cg │ ├── DE72DEDC525B1222F12E31C5C184BB58921485BA.cg │ ├── E71DC5A3C13A08ADC1102D2098FCA159003246E6.cg │ ├── 111C3DA2B3F51763B96272FB77741F76A8350229.cg │ ├── 1F1CE7C1F1A1B540ABAE978023162C94D52F79F1.cg │ ├── 2EE731190D211E1F09CCEE91D4A9FEDA5B34C624.cg │ ├── 35ABCC15044E214D3505049F8B3AC83CFE8525F0.cg │ ├── 3759F2A25BBB2404BADED20708AA90CC4D8FAB04.cg │ ├── 43E974354816762694C4D25D246C4F4D86F24C82.cg │ ├── 630FA91CA629C0D527257EE0E8D2D206650AF802.cg │ ├── 98958E5B117D78BBEA49CFAE6DBBF779A8095929.cg │ ├── A25A7C3DCF516B36A9182C67BDD7DB2ED972A039.cg │ ├── B18FAF175F67CF26A72CB991E3225CF7796D2DCD.cg │ ├── D182C1157223B786AAB0AAF92BF37A5984490390.cg │ ├── F3DE4A3934669F5D60D127DEA53EE9F72B1CC643.cg │ ├── 8E8CD80869D5337C34E7171BED89A6E63E8C2906.cg │ ├── B09730E64178BE520BCAEAB5A90831045F44DCB7.cg │ ├── B5F75774CF27E297840733EC569C3890449CE1D7.cg │ ├── C61D2874234FDF097508922CE95E52E7876DC006.cg │ ├── F3592AC281EBF5D60EF5D74BA449791C1EE238B0.cg │ ├── 0285220332BF1E41FD3A2122D16CC04704B943DB.cg │ ├── 282C6A3FF848CC620358EBDC1659E4C27ED138FB.cg │ ├── 32F8E74D71750B542858595686FE6E0321AFB498.cg │ ├── 3346C20117C640D88D4ADD371557B981A164C52C.cg │ ├── 42AAE04CA93F4A13FBFE8A88596224FDA4B8B570.cg │ ├── 47458AA4841D6D836E400E96FF0B92DB91516BA8.cg │ ├── 54855E2A980DCA908DD214507AC3229BD1483E59.cg │ ├── 64D2BB9928E92A1ED5FB82085B9946A0D65BEE38.cg │ ├── 653D63AEFB66BF9F30E351CBBD0015E487AF6F80.cg │ ├── 748F3BF49B27B4D6123710380761AED53C02FD1C.cg │ ├── 91CEFDAEDE1B1074FEF8B081F03FAC793EF61CEB.cg │ ├── AE0250395FC4F8C0F6A26C8C7A85B16D807875BF.cg │ ├── B10C3AE3128ED910041C8AAC95D2F750056FFE01.cg │ ├── D01DB7FF50CD729F3D814EBCE13E2FCF5F342C01.cg │ ├── F3CF5EE07A400922585601FBD0637678EE9B55D8.cg │ ├── FC72D2CBA74E8CF234162BEFDE8D53DC9A306D2D.cg │ ├── 13C1C6E2B9D4E034D2878B1BCD29127CDCB67352.cg │ ├── 25C51DE740DAA9D7699EF960D64B273A76580377.cg │ ├── 844B9F6A529F58B0E48DEF07FE1C4FEB28F3BE66.cg │ ├── 02E98D7A6AE701BD1DEA9FEABB12BB59D2A1D29C.cg │ ├── 058D6BDC09C95AD0522046F619F3FF2C5C974028.cg │ ├── 0D02ABDA6625831EADDE6B9DCBC6FCDD8420EF4D.cg │ ├── 12DF7F22A6B4C2CAE5470E21D3E13DBA2C53BB3E.cg │ ├── 2492F641A8323EE569FBC64B641BB3D6FDE92A3F.cg │ ├── 32169D73096DCDA3D8A2A936CC379792FDC9A2A3.cg │ ├── 5B642FA5F9D1832F014F0A457CF6B018FB20737B.cg │ ├── 616CA959C365BCC52AD2CBFF604EB86FB787B6F5.cg │ ├── FB966126342052BEB29434FEBFACD4C884B4E9B1.cg │ ├── 2A7FF9F7A8E7928F80DC00DB982DDF4F2367AF2B.cg │ ├── 370301906C9BC2A1E7A2F46AB9E5E4EA7D297560.cg │ ├── 54A25F19715A212548CB69EA07AFDD1A5D473A9B.cg │ ├── 93797C006BA2DD39B5F8C2AA6FF3344396152E6F.cg │ ├── D1D3895A4C2FF6F02A451425BB18454B4B553F78.cg │ ├── D5D5E9B289C9A865D704BD48ECB4C6172D0AC867.cg │ ├── D903AB87E45B1A6B3BD4FB6BF3109D4E7E01E959.cg │ ├── D6AAC0DC1CA7A6DAF9F2A269EB647400620B8D33.cg │ ├── 5583C7ECE74F65E42F2C713D0F2F2DFFC7AAC718.cg │ ├── C95A74A65217C382D71A5B1A87EC04DAD0DB7D7A.cg │ ├── 2EB0406BE8FAF91715917724F84C503B40252516.cg │ ├── A771F61F87D91CDB48D89E7E2199E8BF54BDCCFC.cg │ ├── 1587ECAE08230AADAF876CBA39751B7F1E102AF7.cg │ ├── 342903458C5FDA96C42EC7EDDCA3E22883A597A4.cg │ ├── D2C0FC9C896A666FFCC52ECA47B9BDDD7E851E7A.cg │ ├── D9F2D657B43841E7C81D90303A5A1BB24E9222F7.cg │ ├── 9114FCA5A684AC720167A108582257838628752D.cg │ ├── 22D0EE00B7100F13BD1AF0B40097010B39B9C9AE.cg │ ├── C3D9A654237C5C579B4FE853E280EE31CB7FF668.cg │ ├── 3C5B11A337547CB9B7FF13E4177532E8CE2B6E3A.cg │ ├── 74935803B7E52251921542C6BCDBD096E9C3CDE8.cg │ ├── 84256C21676DF1A1810515E34067C3587FCCCB24.cg │ ├── 516D26BE9D84FD151608A5B8DB813C01688299EF.cg │ ├── F0971D47248F64A868108F9A034E90E20FB0C6A1.cg │ ├── 80ADA5CF271FC2708853879E7C557D0F2A1E6081.cg │ ├── 39FCB73148851B7AA84C3B74D3EEC5414D512636.cg │ ├── 215F002BDA668CC18E43B16F8D86ED99BEBD5DEF.cg │ ├── D2B901EA221A6A10BB1E9DADE6239B731F801846.cg │ ├── 6CA96C48C3A2F6B08E0BA10FFE850A774CB50151.cg │ ├── C40AF8C3D0FF2230E4907A810521FCE729E2FFF6.cg │ ├── 6C2B9FC890E5530BC48CF8F85045D4B0301E8391.cg │ ├── 854E7B027E568FFC67CC53BBE188CA164C785CE5.cg │ ├── 5C0B647D52957FFCC57DB676042AC44FB8C13B90.cg │ ├── 027CD40636AD8A050166F97BA9960BD723B9FABF.cg │ ├── E269C9F4925272A49221628E19F460B7F473EB83.cg │ ├── 72B3FE7B31E416C019D4104DB85E955385BD475F.cg │ ├── BA27B443D0A404D8C451EC04083DE00E710CB2E8.cg │ ├── 02E2224C93BE494DDE41808058954A6B72760B24.cg │ ├── 3BB29B057CF9C262CC8999025E52C79793E6691B.cg │ ├── 6E21224021CB11F89E9E713E76AAA474E2CF943B.cg │ ├── 7CCA7577E6A09ABC8C88E4DFE089B9EEB8406087.cg │ ├── A5609AD53F829CC74C5159473639A3DB468367AF.cg │ ├── 2E48A68A721D385FEFE7DAA7F1B3B8B090E98637.cg │ ├── C8ECA31BC238A01730DB4AAC278CCE5BC7318281.cg │ ├── DCD1DBD70BC96917BF9A985C9AFD1AED35FDC28E.cg │ ├── 551E79EC1CE283D98DDC13F5EA20A43F8BF48C5D.cg │ ├── 9F4F668C7715C955E680407795452E5B18DF6D30.cg │ ├── B02D045DCE2C27771DF3F96BB0CCBC1DC7EA6D2D.cg │ ├── 0D60B044FB5332BAC699DD4CFCFDD268C98F48BC.cg │ ├── 42C560E5CCFE7E6F8CC15EEFEAA65AA2BAEE175B.cg │ ├── BF648C749EC4C79A1D6DA27580A286569073CAAB.cg │ ├── 412FC0A6A3242B9864C98947946679C28D5DE90D.cg │ ├── B7AA541F2DE1F536A36427B4C88AA79E9B3B373F.cg │ ├── 0D2665162A6833543970D2850CE4AFA4D9FE3C72.cg │ ├── 73720BD1506ACB2FE9EAF75BE77F6B9A01D96091.cg │ ├── D6400621E30A0C5FAFC1BDA85B8066D4430027F4.cg │ ├── FC3467DD308D91CD0EE31632B4E536471B64F520.cg │ ├── 0D0FA314FC42DB4CEFAE7289ED85306E60F72E7C.cg │ ├── E920196A0695563A56F98225FA768B76BF11FD54.cg │ ├── 520BB5DD777BD816155B4C699E4C3E0D24A2C6DE.cg │ ├── 624CCEA9649A4C00413095FB70AC8E056421DFD5.cg │ ├── E3CBD9CA76BE36C4B55C282AAEDB22ABA569A67A.cg │ ├── E72E9D4CF0255BD41962A8EDB5AA60BAD2B97D18.cg │ ├── E592F65D1F59E1ED6F9501DE9059CD9A72072E2F.cg │ ├── A7F7F58D7E0420D99A9D20E69F409A69FB3B7C0E.cg │ ├── B7252A5FD06CE55199B1647175A7CA19A5A10FBB.cg │ └── FCECDB104D2D2EC5CA663A40B98C3C5089226572.cg ├── common │ ├── common_shader_17.cg │ ├── common_shader_7.cg │ ├── common_shader_18.cg │ ├── common_shader_4.cg │ ├── common_shader_16.cg │ ├── common_shader_2.cg │ ├── common_shader_3.cg │ ├── common_shader_8.cg │ ├── common_shader_14.cg │ ├── common_shader_21.cg │ ├── common_shader_5.cg │ ├── common_shader_11.cg │ ├── common_shader_15.cg │ ├── common_shader_19.cg │ └── common_shader_1.cg ├── compile.py └── preprocess.py ├── .gitignore ├── extras ├── livearea │ ├── bg0.png │ ├── icon0.png │ ├── pic0.png │ ├── phantomunit.png │ └── template.xml ├── trophies │ ├── ICON0.png │ ├── TROP000.png │ ├── TROP001.png │ ├── TROP002.png │ ├── TROP003.png │ ├── TROP004.png │ ├── TROP005.png │ ├── TROP006.png │ ├── TROP007.png │ ├── TROP008.png │ ├── TROP009.png │ ├── TROP010.png │ ├── TROP011.png │ ├── TROP012.png │ ├── TROP013.png │ ├── TROP014.png │ ├── TROP015.png │ ├── TROP016.png │ ├── TROP017.png │ ├── TROP018.png │ ├── TROP019.png │ ├── TROP020.png │ ├── TROP021.png │ ├── TROP022.png │ ├── TROP023.png │ ├── TROP024.png │ ├── TROP025.png │ └── TROPHY.TRP ├── screenshots │ ├── banner.png │ ├── screen1.png │ ├── screen2.png │ └── screen3.png ├── scripts │ └── get_dump.sh ├── icons │ ├── trigger-left.svg │ ├── square.svg │ ├── triangle.svg │ ├── cross.svg │ ├── circle.svg │ ├── joystick-left.svg │ ├── trigger-right.svg │ └── joystick-right.svg ├── cpuinfo └── meminfo ├── lib ├── kubridge │ ├── libkubridge_stub.a │ └── libkubridge_stub_weak.a ├── pthread-svelte │ └── source │ │ └── once.c ├── libc_bridge │ └── CMakeLists.txt └── sha1 │ └── sha1.h ├── .gitmodules ├── source ├── utils │ ├── init.h │ ├── settings.h │ ├── trophies.h │ ├── glutil.h │ ├── dialog.h │ ├── player.h │ ├── logger.h │ └── settings.c └── reimpl │ ├── mem.h │ ├── errno.h │ ├── mem.c │ ├── sys.h │ └── time64_config.h └── LICENSE /shaders/.gitignore: -------------------------------------------------------------------------------- 1 | psp2cgc.exe 2 | gxp/ 3 | cg_processed/ 4 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | build/* 2 | .DS_Store 3 | .idea/ 4 | cmake-build-*/ 5 | lib/libc_bridge/out/ 6 | apk/ 7 | -------------------------------------------------------------------------------- /extras/livearea/bg0.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/v-atamanenko/mc3-vita/HEAD/extras/livearea/bg0.png -------------------------------------------------------------------------------- /extras/livearea/icon0.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/v-atamanenko/mc3-vita/HEAD/extras/livearea/icon0.png -------------------------------------------------------------------------------- /extras/livearea/pic0.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/v-atamanenko/mc3-vita/HEAD/extras/livearea/pic0.png -------------------------------------------------------------------------------- /extras/trophies/ICON0.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/v-atamanenko/mc3-vita/HEAD/extras/trophies/ICON0.png -------------------------------------------------------------------------------- /extras/trophies/TROP000.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/v-atamanenko/mc3-vita/HEAD/extras/trophies/TROP000.png -------------------------------------------------------------------------------- /extras/trophies/TROP001.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/v-atamanenko/mc3-vita/HEAD/extras/trophies/TROP001.png -------------------------------------------------------------------------------- /extras/trophies/TROP002.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/v-atamanenko/mc3-vita/HEAD/extras/trophies/TROP002.png -------------------------------------------------------------------------------- /extras/trophies/TROP003.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/v-atamanenko/mc3-vita/HEAD/extras/trophies/TROP003.png -------------------------------------------------------------------------------- /extras/trophies/TROP004.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/v-atamanenko/mc3-vita/HEAD/extras/trophies/TROP004.png -------------------------------------------------------------------------------- /extras/trophies/TROP005.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/v-atamanenko/mc3-vita/HEAD/extras/trophies/TROP005.png -------------------------------------------------------------------------------- /extras/trophies/TROP006.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/v-atamanenko/mc3-vita/HEAD/extras/trophies/TROP006.png -------------------------------------------------------------------------------- /extras/trophies/TROP007.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/v-atamanenko/mc3-vita/HEAD/extras/trophies/TROP007.png -------------------------------------------------------------------------------- /extras/trophies/TROP008.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/v-atamanenko/mc3-vita/HEAD/extras/trophies/TROP008.png -------------------------------------------------------------------------------- /extras/trophies/TROP009.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/v-atamanenko/mc3-vita/HEAD/extras/trophies/TROP009.png -------------------------------------------------------------------------------- /extras/trophies/TROP010.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/v-atamanenko/mc3-vita/HEAD/extras/trophies/TROP010.png -------------------------------------------------------------------------------- /extras/trophies/TROP011.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/v-atamanenko/mc3-vita/HEAD/extras/trophies/TROP011.png -------------------------------------------------------------------------------- /extras/trophies/TROP012.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/v-atamanenko/mc3-vita/HEAD/extras/trophies/TROP012.png -------------------------------------------------------------------------------- /extras/trophies/TROP013.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/v-atamanenko/mc3-vita/HEAD/extras/trophies/TROP013.png -------------------------------------------------------------------------------- /extras/trophies/TROP014.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/v-atamanenko/mc3-vita/HEAD/extras/trophies/TROP014.png -------------------------------------------------------------------------------- /extras/trophies/TROP015.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/v-atamanenko/mc3-vita/HEAD/extras/trophies/TROP015.png -------------------------------------------------------------------------------- /extras/trophies/TROP016.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/v-atamanenko/mc3-vita/HEAD/extras/trophies/TROP016.png -------------------------------------------------------------------------------- /extras/trophies/TROP017.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/v-atamanenko/mc3-vita/HEAD/extras/trophies/TROP017.png -------------------------------------------------------------------------------- /extras/trophies/TROP018.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/v-atamanenko/mc3-vita/HEAD/extras/trophies/TROP018.png -------------------------------------------------------------------------------- /extras/trophies/TROP019.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/v-atamanenko/mc3-vita/HEAD/extras/trophies/TROP019.png -------------------------------------------------------------------------------- /extras/trophies/TROP020.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/v-atamanenko/mc3-vita/HEAD/extras/trophies/TROP020.png -------------------------------------------------------------------------------- /extras/trophies/TROP021.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/v-atamanenko/mc3-vita/HEAD/extras/trophies/TROP021.png -------------------------------------------------------------------------------- /extras/trophies/TROP022.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/v-atamanenko/mc3-vita/HEAD/extras/trophies/TROP022.png -------------------------------------------------------------------------------- /extras/trophies/TROP023.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/v-atamanenko/mc3-vita/HEAD/extras/trophies/TROP023.png -------------------------------------------------------------------------------- /extras/trophies/TROP024.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/v-atamanenko/mc3-vita/HEAD/extras/trophies/TROP024.png -------------------------------------------------------------------------------- /extras/trophies/TROP025.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/v-atamanenko/mc3-vita/HEAD/extras/trophies/TROP025.png -------------------------------------------------------------------------------- /extras/trophies/TROPHY.TRP: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/v-atamanenko/mc3-vita/HEAD/extras/trophies/TROPHY.TRP -------------------------------------------------------------------------------- /extras/screenshots/banner.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/v-atamanenko/mc3-vita/HEAD/extras/screenshots/banner.png -------------------------------------------------------------------------------- /extras/screenshots/screen1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/v-atamanenko/mc3-vita/HEAD/extras/screenshots/screen1.png -------------------------------------------------------------------------------- /extras/screenshots/screen2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/v-atamanenko/mc3-vita/HEAD/extras/screenshots/screen2.png -------------------------------------------------------------------------------- /extras/screenshots/screen3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/v-atamanenko/mc3-vita/HEAD/extras/screenshots/screen3.png -------------------------------------------------------------------------------- /extras/livearea/phantomunit.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/v-atamanenko/mc3-vita/HEAD/extras/livearea/phantomunit.png -------------------------------------------------------------------------------- /lib/kubridge/libkubridge_stub.a: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/v-atamanenko/mc3-vita/HEAD/lib/kubridge/libkubridge_stub.a -------------------------------------------------------------------------------- /lib/kubridge/libkubridge_stub_weak.a: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/v-atamanenko/mc3-vita/HEAD/lib/kubridge/libkubridge_stub_weak.a -------------------------------------------------------------------------------- /shaders/glsl/265058E91A2A1B2CC6BCAFE6191CCD27DE7A51B7.glsl: -------------------------------------------------------------------------------- 1 | #define GLITCH_OPENGLES_2 2 | 3 | ##include "common_shader_6.cg" 4 | -------------------------------------------------------------------------------- /shaders/glsl/2DAF3A45EC786EE905FE544BE0F7A33F783D1E21.glsl: -------------------------------------------------------------------------------- 1 | #define GLITCH_OPENGLES_2 2 | 3 | ##include "common_shader_8.cg" 4 | -------------------------------------------------------------------------------- /shaders/glsl/53FCE0EAF1AC45CFDB38B96AE0D04231AE6D7ECB.glsl: -------------------------------------------------------------------------------- 1 | #define GLITCH_OPENGLES_2 2 | 3 | ##include "common_shader_7.cg" 4 | -------------------------------------------------------------------------------- /shaders/glsl/73CD76D91384F3BE5EF3ACEE9BDBE225D8C47B60.glsl: -------------------------------------------------------------------------------- 1 | #define GLITCH_OPENGLES_2 2 | 3 | ##include "common_shader_9.cg" 4 | -------------------------------------------------------------------------------- /shaders/glsl/C0543F3B0EAA19D9FE905B5A846E0F8EAF8001E2.glsl: -------------------------------------------------------------------------------- 1 | #define GLITCH_OPENGLES_2 2 | 3 | ##include "common_shader_3.cg" 4 | -------------------------------------------------------------------------------- /shaders/glsl/07BADD7D2E53D1F720D93060DDC4E3AD16763AC6.glsl: -------------------------------------------------------------------------------- 1 | #define GLITCH_OPENGLES_2 2 | 3 | ##include "common_shader_16.glsl" 4 | -------------------------------------------------------------------------------- /shaders/glsl/42E6DDDD93421CF84C285A6E10F2833823466C8D.glsl: -------------------------------------------------------------------------------- 1 | #define GLITCH_OPENGLES_2 2 | 3 | ##include "common_shader_17.glsl" 4 | -------------------------------------------------------------------------------- /shaders/glsl/500505ED7889E31AA79A433A6FD1CB9D5122B1F0.glsl: -------------------------------------------------------------------------------- 1 | #define GLITCH_OPENGLES_2 2 | 3 | ##include "common_shader_21.glsl" 4 | -------------------------------------------------------------------------------- /shaders/glsl/579E6E6AEF616C98C755DFBB944A41720E2A92CC.glsl: -------------------------------------------------------------------------------- 1 | #define GLITCH_OPENGLES_2 2 | 3 | ##include "common_shader_10.glsl" 4 | -------------------------------------------------------------------------------- /shaders/glsl/7453B07EA4B59FEB98C29C691B68194B093215A1.glsl: -------------------------------------------------------------------------------- 1 | #define GLITCH_OPENGLES_2 2 | 3 | ##include "common_shader_22.glsl" 4 | -------------------------------------------------------------------------------- /shaders/glsl/88DCAF448218260D8B77F0DFCD17FFFA0B83B90B.glsl: -------------------------------------------------------------------------------- 1 | #define GLITCH_OPENGLES_2 2 | 3 | ##include "common_shader_11.glsl" 4 | -------------------------------------------------------------------------------- /shaders/glsl/AEFCFA6C9F00452BDC1B6AE238850F74797D8355.glsl: -------------------------------------------------------------------------------- 1 | #define GLITCH_OPENGLES_2 2 | 3 | ##include "common_shader_12.glsl" 4 | -------------------------------------------------------------------------------- /shaders/glsl/F282E250140044D450E4D86293FDF85D1DA4BFA6.glsl: -------------------------------------------------------------------------------- 1 | #define GLITCH_OPENGLES_2 2 | 3 | ##include "common_shader_13.glsl" 4 | -------------------------------------------------------------------------------- /.gitmodules: -------------------------------------------------------------------------------- 1 | [submodule "lib/falso_jni"] 2 | path = lib/falso_jni 3 | url = git@github.com:v-atamanenko/FalsoJNI.git 4 | branch = master 5 | -------------------------------------------------------------------------------- /shaders/glsl/FA3BA69204DE21627F6CE26C717FA65242B2E0EC.glsl: -------------------------------------------------------------------------------- 1 | #define GLITCH_OPENGLES_2 2 | 3 | 4 | ##include "common_shader_18.glsl" 5 | -------------------------------------------------------------------------------- /shaders/glsl/111C3DA2B3F51763B96272FB77741F76A8350229.glsl: -------------------------------------------------------------------------------- 1 | #define GLITCH_OPENGLES_2 2 | #define TEXTURE_TYPE 0 3 | ##include "common_shader_2.cg" 4 | -------------------------------------------------------------------------------- /shaders/glsl/1F1CE7C1F1A1B540ABAE978023162C94D52F79F1.glsl: -------------------------------------------------------------------------------- 1 | #define GLITCH_OPENGLES_2 2 | #define TEXTURE_TYPE 2 3 | ##include "common_shader_3.cg" 4 | -------------------------------------------------------------------------------- /shaders/glsl/2EE731190D211E1F09CCEE91D4A9FEDA5B34C624.glsl: -------------------------------------------------------------------------------- 1 | #define GLITCH_OPENGLES_2 2 | #define TEXTURE_TYPE 2 3 | ##include "common_shader_2.cg" 4 | -------------------------------------------------------------------------------- /shaders/glsl/35ABCC15044E214D3505049F8B3AC83CFE8525F0.glsl: -------------------------------------------------------------------------------- 1 | #define GLITCH_OPENGLES_2 2 | #define TEXTURE_TYPE 4 3 | ##include "common_shader_2.cg" 4 | -------------------------------------------------------------------------------- /shaders/glsl/3759F2A25BBB2404BADED20708AA90CC4D8FAB04.glsl: -------------------------------------------------------------------------------- 1 | #define GLITCH_OPENGLES_2 2 | #define TEXTURE_TYPE 4 3 | ##include "common_shader_4.cg" 4 | -------------------------------------------------------------------------------- /shaders/glsl/43E974354816762694C4D25D246C4F4D86F24C82.glsl: -------------------------------------------------------------------------------- 1 | #define GLITCH_OPENGLES_2 2 | #define TEXTURE_TYPE 1 3 | ##include "common_shader_4.cg" 4 | -------------------------------------------------------------------------------- /shaders/glsl/630FA91CA629C0D527257EE0E8D2D206650AF802.glsl: -------------------------------------------------------------------------------- 1 | #define GLITCH_OPENGLES_2 2 | #define TEXTURE_TYPE 3 3 | ##include "common_shader_2.cg" 4 | -------------------------------------------------------------------------------- /shaders/glsl/7711D58F5CCA8E110FD5135082560093D2AE0618.glsl: -------------------------------------------------------------------------------- 1 | #define GLITCH_OPENGLES_2 2 | #define POINTLIGHT 3 | ##include "common_shader_9.cg" 4 | -------------------------------------------------------------------------------- /shaders/glsl/98958E5B117D78BBEA49CFAE6DBBF779A8095929.glsl: -------------------------------------------------------------------------------- 1 | #define GLITCH_OPENGLES_2 2 | #define TEXTURE_TYPE 2 3 | ##include "common_shader_4.cg" 4 | -------------------------------------------------------------------------------- /shaders/glsl/A25A7C3DCF516B36A9182C67BDD7DB2ED972A039.glsl: -------------------------------------------------------------------------------- 1 | #define GLITCH_OPENGLES_2 2 | #define TEXTURE_TYPE 1 3 | ##include "common_shader_2.cg" 4 | -------------------------------------------------------------------------------- /shaders/glsl/B18FAF175F67CF26A72CB991E3225CF7796D2DCD.glsl: -------------------------------------------------------------------------------- 1 | #define GLITCH_OPENGLES_2 2 | #define TEXTURE_TYPE 2 3 | ##include "common_shader_8.cg" 4 | -------------------------------------------------------------------------------- /shaders/glsl/C224BC56763B2BBAB8BF6EC712B3920E7EE8575F.glsl: -------------------------------------------------------------------------------- 1 | #define GLITCH_OPENGLES_2 2 | #define POINTLIGHT 3 | ##include "common_shader_6.cg" 4 | -------------------------------------------------------------------------------- /shaders/glsl/D182C1157223B786AAB0AAF92BF37A5984490390.glsl: -------------------------------------------------------------------------------- 1 | #define GLITCH_OPENGLES_2 2 | #define TEXTURE_TYPE 0 3 | ##include "common_shader_4.cg" 4 | -------------------------------------------------------------------------------- /shaders/glsl/F2BEC7049F5C384F7AE07DBFCDDAACA637BBEAA7.glsl: -------------------------------------------------------------------------------- 1 | #define GLITCH_OPENGLES_2 2 | 3 | 4 | ##include "common_shader_5.cg" 5 | -------------------------------------------------------------------------------- /shaders/glsl/F3DE4A3934669F5D60D127DEA53EE9F72B1CC643.glsl: -------------------------------------------------------------------------------- 1 | #define GLITCH_OPENGLES_2 2 | #define TEXTURE_TYPE 3 3 | ##include "common_shader_4.cg" 4 | -------------------------------------------------------------------------------- /shaders/glsl/DD4E69725396B90F3F21D857B71CBD859F709486.glsl: -------------------------------------------------------------------------------- 1 | #define GLITCH_OPENGLES_2 2 | 3 | #define FOG 4 | 5 | ##include "common_shader_20.glsl" 6 | -------------------------------------------------------------------------------- /shaders/glsl/FD121921DD5E7596477EFE3A60EFBEC7FD638776.glsl: -------------------------------------------------------------------------------- 1 | #define GLITCH_OPENGLES_2 2 | 3 | #define FOG 4 | 5 | ##include "common_shader_19.glsl" 6 | -------------------------------------------------------------------------------- /shaders/cg/07BADD7D2E53D1F720D93060DDC4E3AD16763AC6.cg: -------------------------------------------------------------------------------- 1 | // profile sce_fp_psp2 2 | 3 | #define GLITCH_OPENGLES_2 4 | 5 | ##include "common_shader_16.cg" 6 | -------------------------------------------------------------------------------- /shaders/cg/265058E91A2A1B2CC6BCAFE6191CCD27DE7A51B7.cg: -------------------------------------------------------------------------------- 1 | // profile sce_vp_psp2 2 | 3 | #define GLITCH_OPENGLES_2 4 | 5 | ##include "common_shader_6.cg" 6 | -------------------------------------------------------------------------------- /shaders/cg/2DAF3A45EC786EE905FE544BE0F7A33F783D1E21.cg: -------------------------------------------------------------------------------- 1 | // profile sce_vp_psp2 2 | 3 | #define GLITCH_OPENGLES_2 4 | 5 | ##include "common_shader_8.cg" 6 | -------------------------------------------------------------------------------- /shaders/cg/42E6DDDD93421CF84C285A6E10F2833823466C8D.cg: -------------------------------------------------------------------------------- 1 | // profile sce_fp_psp2 2 | 3 | #define GLITCH_OPENGLES_2 4 | 5 | ##include "common_shader_17.cg" 6 | -------------------------------------------------------------------------------- /shaders/cg/500505ED7889E31AA79A433A6FD1CB9D5122B1F0.cg: -------------------------------------------------------------------------------- 1 | // profile sce_vp_psp2 2 | 3 | #define GLITCH_OPENGLES_2 4 | 5 | ##include "common_shader_21.cg" 6 | -------------------------------------------------------------------------------- /shaders/cg/53FCE0EAF1AC45CFDB38B96AE0D04231AE6D7ECB.cg: -------------------------------------------------------------------------------- 1 | // profile sce_fp_psp2 2 | 3 | #define GLITCH_OPENGLES_2 4 | 5 | ##include "common_shader_7.cg" 6 | -------------------------------------------------------------------------------- /shaders/cg/579E6E6AEF616C98C755DFBB944A41720E2A92CC.cg: -------------------------------------------------------------------------------- 1 | // profile sce_fp_psp2 2 | 3 | #define GLITCH_OPENGLES_2 4 | 5 | ##include "common_shader_10.cg" 6 | -------------------------------------------------------------------------------- /shaders/cg/73CD76D91384F3BE5EF3ACEE9BDBE225D8C47B60.cg: -------------------------------------------------------------------------------- 1 | // profile sce_fp_psp2 2 | 3 | #define GLITCH_OPENGLES_2 4 | 5 | ##include "common_shader_9.cg" 6 | -------------------------------------------------------------------------------- /shaders/cg/7453B07EA4B59FEB98C29C691B68194B093215A1.cg: -------------------------------------------------------------------------------- 1 | // profile sce_fp_psp2 2 | 3 | #define GLITCH_OPENGLES_2 4 | 5 | ##include "common_shader_22.cg" 6 | -------------------------------------------------------------------------------- /shaders/cg/88DCAF448218260D8B77F0DFCD17FFFA0B83B90B.cg: -------------------------------------------------------------------------------- 1 | // profile sce_fp_psp2 2 | 3 | #define GLITCH_OPENGLES_2 4 | 5 | ##include "common_shader_11.cg" 6 | -------------------------------------------------------------------------------- /shaders/cg/9BAB93F81E878BE8EEEBC9681FB0C9016262EB41.cg: -------------------------------------------------------------------------------- 1 | // profile sce_fp_psp2 2 | 3 | #define GLITCH_OPENGLES_2 4 | 5 | ##include "common_shader_1.cg" 6 | -------------------------------------------------------------------------------- /shaders/cg/AEFCFA6C9F00452BDC1B6AE238850F74797D8355.cg: -------------------------------------------------------------------------------- 1 | // profile sce_vp_psp2 2 | 3 | #define GLITCH_OPENGLES_2 4 | 5 | ##include "common_shader_12.cg" 6 | -------------------------------------------------------------------------------- /shaders/cg/C0543F3B0EAA19D9FE905B5A846E0F8EAF8001E2.cg: -------------------------------------------------------------------------------- 1 | // profile sce_fp_psp2 2 | 3 | #define GLITCH_OPENGLES_2 4 | 5 | ##include "common_shader_3.cg" 6 | -------------------------------------------------------------------------------- /shaders/cg/F282E250140044D450E4D86293FDF85D1DA4BFA6.cg: -------------------------------------------------------------------------------- 1 | // profile sce_vp_psp2 2 | 3 | #define GLITCH_OPENGLES_2 4 | 5 | ##include "common_shader_13.cg" 6 | -------------------------------------------------------------------------------- /shaders/cg/F2BEC7049F5C384F7AE07DBFCDDAACA637BBEAA7.cg: -------------------------------------------------------------------------------- 1 | // profile sce_fp_psp2 2 | 3 | #define GLITCH_OPENGLES_2 4 | 5 | ##include "common_shader_5.cg" 6 | -------------------------------------------------------------------------------- /shaders/cg/FA3BA69204DE21627F6CE26C717FA65242B2E0EC.cg: -------------------------------------------------------------------------------- 1 | // profile sce_fp_psp2 2 | 3 | #define GLITCH_OPENGLES_2 4 | 5 | ##include "common_shader_18.cg" 6 | -------------------------------------------------------------------------------- /shaders/glsl/18305AA17F0382C16FF015340C66C08D0DFD04C0.glsl: -------------------------------------------------------------------------------- 1 | #define GLITCH_OPENGLES_2 2 | 3 | #define LIGHTING 4 | 5 | ##include "common_shader_12.glsl" 6 | -------------------------------------------------------------------------------- /shaders/glsl/2E9FD39D7ECB8A7B3238AC543F53B09DAB7E031D.glsl: -------------------------------------------------------------------------------- 1 | #define GLITCH_OPENGLES_2 2 | 3 | #define WATER 4 | 5 | ##include "common_shader_17.glsl" 6 | -------------------------------------------------------------------------------- /shaders/glsl/5908CD9391DA1D6B39692C6FAB75AB9C000C8A00.glsl: -------------------------------------------------------------------------------- 1 | #define GLITCH_OPENGLES_2 2 | 3 | #define LIGHTMAP 4 | 5 | ##include "common_shader_12.glsl" 6 | -------------------------------------------------------------------------------- /shaders/glsl/7061AB5EDBFF5EF0FF0196A229C2A264E9AC1EA8.glsl: -------------------------------------------------------------------------------- 1 | #define GLITCH_OPENGLES_2 2 | 3 | #define TEXTURED 4 | 5 | ##include "common_shader_12.cg" 6 | -------------------------------------------------------------------------------- /shaders/glsl/808BEB642B8C68799C8C9FF4DDBEE1E01DE895E6.glsl: -------------------------------------------------------------------------------- 1 | #define GLITCH_OPENGLES_2 2 | 3 | #define CG_FOG 4 | 5 | ##include "common_shader_10.glsl" 6 | -------------------------------------------------------------------------------- /shaders/glsl/851EDCB95BA9B2094184DF276B134921601C4A98.glsl: -------------------------------------------------------------------------------- 1 | #define GLITCH_OPENGLES_2 2 | 3 | #define CG_FOG 4 | 5 | ##include "common_shader_12.glsl" 6 | -------------------------------------------------------------------------------- /shaders/glsl/96C833ACC78662E0B19F4F6AE0A05B7252647561.glsl: -------------------------------------------------------------------------------- 1 | #define GLITCH_OPENGLES_2 2 | 3 | #define LIGHTING 4 | 5 | ##include "common_shader_10.glsl" 6 | -------------------------------------------------------------------------------- /shaders/glsl/A9D71B680431D4F62BBF412007E67504DCE8FF6C.glsl: -------------------------------------------------------------------------------- 1 | #define GLITCH_OPENGLES_2 2 | 3 | #define TEXTURED 4 | 5 | ##include "common_shader_10.cg" 6 | -------------------------------------------------------------------------------- /shaders/glsl/C10A3B1F7752376C557355296CEE024637B1BA43.glsl: -------------------------------------------------------------------------------- 1 | #define GLITCH_OPENGLES_2 2 | #define DIFFUSECOLOR 3 | 4 | ##include "common_shader_18.glsl" 5 | -------------------------------------------------------------------------------- /shaders/glsl/DE72DEDC525B1222F12E31C5C184BB58921485BA.glsl: -------------------------------------------------------------------------------- 1 | #define GLITCH_OPENGLES_2 2 | 3 | #define ADDITIVE 4 | 5 | ##include "common_shader_18.glsl" 6 | -------------------------------------------------------------------------------- /shaders/glsl/E71DC5A3C13A08ADC1102D2098FCA159003246E6.glsl: -------------------------------------------------------------------------------- 1 | #define GLITCH_OPENGLES_2 2 | 3 | #define LIGHTMAP 4 | 5 | ##include "common_shader_10.glsl" 6 | -------------------------------------------------------------------------------- /shaders/glsl/5583C7ECE74F65E42F2C713D0F2F2DFFC7AAC718.glsl: -------------------------------------------------------------------------------- 1 | #define GLITCH_OPENGLES_2 2 | 3 | void main(void) 4 | { 5 | gl_FragColor = vec4(0.8, 0.3, 0.5, 1.0); 6 | } 7 | -------------------------------------------------------------------------------- /shaders/glsl/9BAB93F81E878BE8EEEBC9681FB0C9016262EB41.glsl: -------------------------------------------------------------------------------- 1 | #define GLITCH_OPENGLES_2 2 | 3 | 4 | //#define BLUR 5 | 6 | ##include "common_shader_1.cg" 7 | -------------------------------------------------------------------------------- /shaders/glsl/B5F75774CF27E297840733EC569C3890449CE1D7.glsl: -------------------------------------------------------------------------------- 1 | #define GLITCH_OPENGLES_2 2 | 3 | #define DUAL 4 | #define FOG 5 | 6 | ##include "common_shader_21.glsl" 7 | -------------------------------------------------------------------------------- /shaders/glsl/F3592AC281EBF5D60EF5D74BA449791C1EE238B0.glsl: -------------------------------------------------------------------------------- 1 | #define GLITCH_OPENGLES_2 2 | 3 | #define DUAL 4 | #define FOG 5 | 6 | ##include "common_shader_22.glsl" 7 | -------------------------------------------------------------------------------- /shaders/glsl/0285220332BF1E41FD3A2122D16CC04704B943DB.glsl: -------------------------------------------------------------------------------- 1 | #define GLITCH_OPENGLES_2 2 | 3 | #define TEXTURED 4 | #define LIGHTMAP 5 | 6 | ##include "common_shader_12.cg" 7 | -------------------------------------------------------------------------------- /shaders/glsl/282C6A3FF848CC620358EBDC1659E4C27ED138FB.glsl: -------------------------------------------------------------------------------- 1 | #define GLITCH_OPENGLES_2 2 | 3 | #define LIGHTMAP 4 | #define FOG 5 | 6 | ##include "common_shader_12.glsl" 7 | -------------------------------------------------------------------------------- /shaders/glsl/32F8E74D71750B542858595686FE6E0321AFB498.glsl: -------------------------------------------------------------------------------- 1 | #define GLITCH_OPENGLES_2 2 | 3 | #define LIGHTMAP 4 | #define CG_FOG 5 | 6 | ##include "common_shader_14.glsl" 7 | -------------------------------------------------------------------------------- /shaders/glsl/3346C20117C640D88D4ADD371557B981A164C52C.glsl: -------------------------------------------------------------------------------- 1 | #define GLITCH_OPENGLES_2 2 | 3 | #define TEXTURED 4 | #define CG_FOG 5 | 6 | ##include "common_shader_10.cg" 7 | -------------------------------------------------------------------------------- /shaders/glsl/42AAE04CA93F4A13FBFE8A88596224FDA4B8B570.glsl: -------------------------------------------------------------------------------- 1 | #define GLITCH_OPENGLES_2 2 | 3 | #define LIGHTMAP 4 | #define CG_FOG 5 | 6 | ##include "common_shader_15.glsl" 7 | -------------------------------------------------------------------------------- /shaders/glsl/54855E2A980DCA908DD214507AC3229BD1483E59.glsl: -------------------------------------------------------------------------------- 1 | #define GLITCH_OPENGLES_2 2 | 3 | #define TEXTURED 4 | #define LIGHTMAP 5 | 6 | ##include "common_shader_10.cg" 7 | -------------------------------------------------------------------------------- /shaders/glsl/64D2BB9928E92A1ED5FB82085B9946A0D65BEE38.glsl: -------------------------------------------------------------------------------- 1 | #define GLITCH_OPENGLES_2 2 | 3 | #define CG_FOG 4 | #define LIGHTING 5 | 6 | ##include "common_shader_12.glsl" 7 | -------------------------------------------------------------------------------- /shaders/glsl/748F3BF49B27B4D6123710380761AED53C02FD1C.glsl: -------------------------------------------------------------------------------- 1 | #define GLITCH_OPENGLES_2 2 | 3 | #define TEXTURED 4 | #define LIGHTING 5 | 6 | ##include "common_shader_12.cg" 7 | -------------------------------------------------------------------------------- /shaders/glsl/8E8CD80869D5337C34E7171BED89A6E63E8C2906.glsl: -------------------------------------------------------------------------------- 1 | #define GLITCH_OPENGLES_2 2 | 3 | #define CG_FOG 4 | #define ALPHA 5 | 6 | ##include "common_shader_19.glsl" 7 | -------------------------------------------------------------------------------- /shaders/glsl/AE0250395FC4F8C0F6A26C8C7A85B16D807875BF.glsl: -------------------------------------------------------------------------------- 1 | #define GLITCH_OPENGLES_2 2 | 3 | #define LIGHTMAP 4 | #define FOG 5 | 6 | ##include "common_shader_10.glsl" 7 | -------------------------------------------------------------------------------- /shaders/glsl/B10C3AE3128ED910041C8AAC95D2F750056FFE01.glsl: -------------------------------------------------------------------------------- 1 | #define GLITCH_OPENGLES_2 2 | 3 | #define TEXTURED 4 | #define CG_FOG 5 | 6 | ##include "common_shader_12.cg" 7 | -------------------------------------------------------------------------------- /shaders/glsl/C61D2874234FDF097508922CE95E52E7876DC006.glsl: -------------------------------------------------------------------------------- 1 | #define GLITCH_OPENGLES_2 2 | 3 | #define CG_FOG 4 | #define ALPHA 5 | 6 | ##include "common_shader_20.glsl" 7 | -------------------------------------------------------------------------------- /shaders/glsl/D01DB7FF50CD729F3D814EBCE13E2FCF5F342C01.glsl: -------------------------------------------------------------------------------- 1 | #define GLITCH_OPENGLES_2 2 | 3 | #define CG_FOG 4 | #define LIGHTING 5 | 6 | ##include "common_shader_10.glsl" 7 | -------------------------------------------------------------------------------- /shaders/glsl/FC72D2CBA74E8CF234162BEFDE8D53DC9A306D2D.glsl: -------------------------------------------------------------------------------- 1 | #define GLITCH_OPENGLES_2 2 | 3 | #define TEXTURED 4 | #define LIGHTING 5 | 6 | ##include "common_shader_10.cg" 7 | -------------------------------------------------------------------------------- /shaders/cg/1877CE53D9EC067CF82F7BD679AB63F3A0CD88BF.cg: -------------------------------------------------------------------------------- 1 | // profile sce_fp_psp2 2 | 3 | #define GLITCH_OPENGLES_2 4 | 5 | #define LOW 6 | 7 | ##include "common_shader_7.cg" 8 | -------------------------------------------------------------------------------- /shaders/cg/2915ABCCA223C0090ADC48F3AA9A1C6889045923.cg: -------------------------------------------------------------------------------- 1 | // profile sce_fp_psp2 2 | 3 | #define GLITCH_OPENGLES_2 4 | 5 | #define BLUR 6 | 7 | ##include "common_shader_5.cg" 8 | -------------------------------------------------------------------------------- /shaders/cg/2E9FD39D7ECB8A7B3238AC543F53B09DAB7E031D.cg: -------------------------------------------------------------------------------- 1 | // profile sce_fp_psp2 2 | 3 | #define GLITCH_OPENGLES_2 4 | 5 | #define WATER 6 | 7 | ##include "common_shader_17.cg" 8 | -------------------------------------------------------------------------------- /shaders/cg/808BEB642B8C68799C8C9FF4DDBEE1E01DE895E6.cg: -------------------------------------------------------------------------------- 1 | // profile sce_fp_psp2 2 | 3 | #define GLITCH_OPENGLES_2 4 | 5 | #define CG_FOG 6 | 7 | ##include "common_shader_10.cg" 8 | -------------------------------------------------------------------------------- /shaders/cg/851EDCB95BA9B2094184DF276B134921601C4A98.cg: -------------------------------------------------------------------------------- 1 | // profile sce_vp_psp2 2 | 3 | #define GLITCH_OPENGLES_2 4 | 5 | #define CG_FOG 6 | 7 | ##include "common_shader_12.cg" 8 | -------------------------------------------------------------------------------- /shaders/cg/C10A3B1F7752376C557355296CEE024637B1BA43.cg: -------------------------------------------------------------------------------- 1 | // profile sce_fp_psp2 2 | 3 | #define GLITCH_OPENGLES_2 4 | #define DIFFUSECOLOR 5 | 6 | ##include "common_shader_18.cg" 7 | -------------------------------------------------------------------------------- /shaders/cg/DD4E69725396B90F3F21D857B71CBD859F709486.cg: -------------------------------------------------------------------------------- 1 | // profile sce_vp_psp2 2 | 3 | #define GLITCH_OPENGLES_2 4 | 5 | #define CG_FOG 6 | 7 | ##include "common_shader_20.cg" 8 | -------------------------------------------------------------------------------- /shaders/cg/FB5906CEFF82A2118B586855AE31EDF7CEDE2E17.cg: -------------------------------------------------------------------------------- 1 | // profile sce_fp_psp2 2 | 3 | #define GLITCH_OPENGLES_2 4 | 5 | #define BLUR 6 | 7 | ##include "common_shader_1.cg" 8 | -------------------------------------------------------------------------------- /shaders/cg/FD121921DD5E7596477EFE3A60EFBEC7FD638776.cg: -------------------------------------------------------------------------------- 1 | // profile sce_fp_psp2 2 | 3 | #define GLITCH_OPENGLES_2 4 | 5 | #define CG_FOG 6 | 7 | ##include "common_shader_19.cg" 8 | -------------------------------------------------------------------------------- /shaders/glsl/13C1C6E2B9D4E034D2878B1BCD29127CDCB67352.glsl: -------------------------------------------------------------------------------- 1 | #define GLITCH_OPENGLES_2 2 | 3 | #define TEXTURED 4 | #define ADDITIVEBLEND 5 | 6 | ##include "common_shader_10.cg" 7 | -------------------------------------------------------------------------------- /shaders/glsl/1877CE53D9EC067CF82F7BD679AB63F3A0CD88BF.glsl: -------------------------------------------------------------------------------- 1 | #define GLITCH_OPENGLES_2 2 | 3 | #define LOW 4 | 5 | ##include "common_shader_7.cg" 6 | -------------------------------------------------------------------------------- /shaders/glsl/25C51DE740DAA9D7699EF960D64B273A76580377.glsl: -------------------------------------------------------------------------------- 1 | #define GLITCH_OPENGLES_2 2 | 3 | #define TEXTURED 4 | #define ALPHABLEND 5 | 6 | ##include "common_shader_10.glsl" 7 | -------------------------------------------------------------------------------- /shaders/glsl/2915ABCCA223C0090ADC48F3AA9A1C6889045923.glsl: -------------------------------------------------------------------------------- 1 | #define GLITCH_OPENGLES_2 2 | 3 | #define BLUR 4 | 5 | ##include "common_shader_5.cg" 6 | -------------------------------------------------------------------------------- /shaders/glsl/47458AA4841D6D836E400E96FF0B92DB91516BA8.glsl: -------------------------------------------------------------------------------- 1 | #define GLITCH_OPENGLES_2 2 | 3 | #define LIGHTMAP 4 | #define LIGHTING 5 | 6 | ##include "common_shader_10.glsl" 7 | -------------------------------------------------------------------------------- /shaders/glsl/653D63AEFB66BF9F30E351CBBD0015E487AF6F80.glsl: -------------------------------------------------------------------------------- 1 | #define GLITCH_OPENGLES_2 2 | 3 | #define CUBE 4 | #define REFLECTIONMAP 5 | 6 | ##include "common_shader_9.glsl" 7 | -------------------------------------------------------------------------------- /shaders/glsl/844B9F6A529F58B0E48DEF07FE1C4FEB28F3BE66.glsl: -------------------------------------------------------------------------------- 1 | #define GLITCH_OPENGLES_2 2 | 3 | #define ADDITIVE 4 | #define DIFFUSECOLOR 5 | 6 | ##include "common_shader_18.glsl" 7 | -------------------------------------------------------------------------------- /shaders/glsl/91CEFDAEDE1B1074FEF8B081F03FAC793EF61CEB.glsl: -------------------------------------------------------------------------------- 1 | #define GLITCH_OPENGLES_2 2 | 3 | #define CUBE 4 | #define REFLECTIONMAP 5 | 6 | ##include "common_shader_6.glsl" 7 | -------------------------------------------------------------------------------- /shaders/glsl/F3CF5EE07A400922585601FBD0637678EE9B55D8.glsl: -------------------------------------------------------------------------------- 1 | #define GLITCH_OPENGLES_2 2 | 3 | #define LIGHTMAP 4 | #define LIGHTING 5 | 6 | ##include "common_shader_12.glsl" 7 | -------------------------------------------------------------------------------- /shaders/cg/05242599784EEFCC4D9951838D6ACEADF0A22EDB.cg: -------------------------------------------------------------------------------- 1 | // profile sce_fp_psp2 2 | 3 | #define GLITCH_OPENGLES_2 4 | 5 | #define INVERTED 6 | 7 | ##include "common_shader_1.cg" 8 | -------------------------------------------------------------------------------- /shaders/cg/18305AA17F0382C16FF015340C66C08D0DFD04C0.cg: -------------------------------------------------------------------------------- 1 | // profile sce_vp_psp2 2 | 3 | #define GLITCH_OPENGLES_2 4 | 5 | #define LIGHTING 6 | 7 | ##include "common_shader_12.cg" 8 | -------------------------------------------------------------------------------- /shaders/cg/5908CD9391DA1D6B39692C6FAB75AB9C000C8A00.cg: -------------------------------------------------------------------------------- 1 | // profile sce_vp_psp2 2 | 3 | #define GLITCH_OPENGLES_2 4 | 5 | #define LIGHTMAP 6 | 7 | ##include "common_shader_12.cg" 8 | -------------------------------------------------------------------------------- /shaders/cg/7061AB5EDBFF5EF0FF0196A229C2A264E9AC1EA8.cg: -------------------------------------------------------------------------------- 1 | // profile sce_vp_psp2 2 | 3 | #define GLITCH_OPENGLES_2 4 | 5 | #define TEXTURED 6 | 7 | ##include "common_shader_12.cg" 8 | -------------------------------------------------------------------------------- /shaders/cg/7711D58F5CCA8E110FD5135082560093D2AE0618.cg: -------------------------------------------------------------------------------- 1 | // profile sce_fp_psp2 2 | 3 | #define GLITCH_OPENGLES_2 4 | 5 | #define POINTLIGHT 6 | 7 | ##include "common_shader_9.cg" 8 | -------------------------------------------------------------------------------- /shaders/cg/96C833ACC78662E0B19F4F6AE0A05B7252647561.cg: -------------------------------------------------------------------------------- 1 | // profile sce_fp_psp2 2 | 3 | #define GLITCH_OPENGLES_2 4 | 5 | #define LIGHTING 6 | 7 | ##include "common_shader_10.cg" 8 | -------------------------------------------------------------------------------- /shaders/cg/A9D71B680431D4F62BBF412007E67504DCE8FF6C.cg: -------------------------------------------------------------------------------- 1 | // profile sce_fp_psp2 2 | 3 | #define GLITCH_OPENGLES_2 4 | 5 | #define TEXTURED 6 | 7 | ##include "common_shader_10.cg" 8 | -------------------------------------------------------------------------------- /shaders/cg/C224BC56763B2BBAB8BF6EC712B3920E7EE8575F.cg: -------------------------------------------------------------------------------- 1 | // profile sce_vp_psp2 2 | 3 | #define GLITCH_OPENGLES_2 4 | 5 | #define POINTLIGHT 6 | 7 | ##include "common_shader_6.cg" 8 | -------------------------------------------------------------------------------- /shaders/cg/DE72DEDC525B1222F12E31C5C184BB58921485BA.cg: -------------------------------------------------------------------------------- 1 | // profile sce_fp_psp2 2 | 3 | #define GLITCH_OPENGLES_2 4 | 5 | #define ADDITIVE 6 | 7 | ##include "common_shader_18.cg" 8 | -------------------------------------------------------------------------------- /shaders/cg/E71DC5A3C13A08ADC1102D2098FCA159003246E6.cg: -------------------------------------------------------------------------------- 1 | // profile sce_fp_psp2 2 | 3 | #define GLITCH_OPENGLES_2 4 | 5 | #define LIGHTMAP 6 | 7 | ##include "common_shader_10.cg" 8 | -------------------------------------------------------------------------------- /extras/scripts/get_dump.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | curl "ftp://$1:1337/ux0:/data/"$(curl "ftp://$1:1337/ux0:/data/" 2>/dev/null | grep psp2core | tail -1 | awk '{print $(NF)}') --output coredump 4 | -------------------------------------------------------------------------------- /shaders/cg/111C3DA2B3F51763B96272FB77741F76A8350229.cg: -------------------------------------------------------------------------------- 1 | // profile sce_fp_psp2 2 | 3 | #define GLITCH_OPENGLES_2 4 | 5 | #define TEXTURE_TYPE 0 6 | 7 | ##include "common_shader_2.cg" 8 | -------------------------------------------------------------------------------- /shaders/cg/1F1CE7C1F1A1B540ABAE978023162C94D52F79F1.cg: -------------------------------------------------------------------------------- 1 | // profile sce_fp_psp2 2 | 3 | #define GLITCH_OPENGLES_2 4 | 5 | #define TEXTURE_TYPE 2 6 | 7 | ##include "common_shader_3.cg" 8 | -------------------------------------------------------------------------------- /shaders/cg/2EE731190D211E1F09CCEE91D4A9FEDA5B34C624.cg: -------------------------------------------------------------------------------- 1 | // profile sce_fp_psp2 2 | 3 | #define GLITCH_OPENGLES_2 4 | 5 | #define TEXTURE_TYPE 2 6 | 7 | ##include "common_shader_2.cg" 8 | -------------------------------------------------------------------------------- /shaders/cg/35ABCC15044E214D3505049F8B3AC83CFE8525F0.cg: -------------------------------------------------------------------------------- 1 | // profile sce_fp_psp2 2 | 3 | #define GLITCH_OPENGLES_2 4 | 5 | #define TEXTURE_TYPE 4 6 | 7 | ##include "common_shader_2.cg" 8 | -------------------------------------------------------------------------------- /shaders/cg/3759F2A25BBB2404BADED20708AA90CC4D8FAB04.cg: -------------------------------------------------------------------------------- 1 | // profile sce_vp_psp2 2 | 3 | #define GLITCH_OPENGLES_2 4 | 5 | #define TEXTURE_TYPE 4 6 | 7 | ##include "common_shader_4.cg" 8 | -------------------------------------------------------------------------------- /shaders/cg/43E974354816762694C4D25D246C4F4D86F24C82.cg: -------------------------------------------------------------------------------- 1 | // profile sce_vp_psp2 2 | 3 | #define GLITCH_OPENGLES_2 4 | 5 | #define TEXTURE_TYPE 1 6 | 7 | ##include "common_shader_4.cg" 8 | -------------------------------------------------------------------------------- /shaders/cg/630FA91CA629C0D527257EE0E8D2D206650AF802.cg: -------------------------------------------------------------------------------- 1 | // profile sce_fp_psp2 2 | 3 | #define GLITCH_OPENGLES_2 4 | 5 | #define TEXTURE_TYPE 3 6 | 7 | ##include "common_shader_2.cg" 8 | -------------------------------------------------------------------------------- /shaders/cg/98958E5B117D78BBEA49CFAE6DBBF779A8095929.cg: -------------------------------------------------------------------------------- 1 | // profile sce_vp_psp2 2 | 3 | #define GLITCH_OPENGLES_2 4 | 5 | #define TEXTURE_TYPE 2 6 | 7 | ##include "common_shader_4.cg" 8 | -------------------------------------------------------------------------------- /shaders/cg/A25A7C3DCF516B36A9182C67BDD7DB2ED972A039.cg: -------------------------------------------------------------------------------- 1 | // profile sce_fp_psp2 2 | 3 | #define GLITCH_OPENGLES_2 4 | 5 | #define TEXTURE_TYPE 1 6 | 7 | ##include "common_shader_2.cg" 8 | -------------------------------------------------------------------------------- /shaders/cg/B18FAF175F67CF26A72CB991E3225CF7796D2DCD.cg: -------------------------------------------------------------------------------- 1 | // profile sce_vp_psp2 2 | 3 | #define GLITCH_OPENGLES_2 4 | 5 | #define TEXTURE_TYPE 2 6 | 7 | ##include "common_shader_8.cg" 8 | -------------------------------------------------------------------------------- /shaders/cg/D182C1157223B786AAB0AAF92BF37A5984490390.cg: -------------------------------------------------------------------------------- 1 | // profile sce_vp_psp2 2 | 3 | #define GLITCH_OPENGLES_2 4 | 5 | #define TEXTURE_TYPE 0 6 | 7 | ##include "common_shader_4.cg" 8 | -------------------------------------------------------------------------------- /shaders/cg/F3DE4A3934669F5D60D127DEA53EE9F72B1CC643.cg: -------------------------------------------------------------------------------- 1 | // profile sce_vp_psp2 2 | 3 | #define GLITCH_OPENGLES_2 4 | 5 | #define TEXTURE_TYPE 3 6 | 7 | ##include "common_shader_4.cg" 8 | -------------------------------------------------------------------------------- /shaders/glsl/D9F2D657B43841E7C81D90303A5A1BB24E9222F7.glsl: -------------------------------------------------------------------------------- 1 | #define GLITCH_OPENGLES_2 2 | 3 | varying lowp vec4 vColor0; 4 | 5 | void main() 6 | { 7 | gl_FragColor = vColor0; 8 | } 9 | -------------------------------------------------------------------------------- /shaders/glsl/058D6BDC09C95AD0522046F619F3FF2C5C974028.glsl: -------------------------------------------------------------------------------- 1 | #define GLITCH_OPENGLES_2 2 | 3 | #define BLENDMAP 4 | #define LIGHTMAP 5 | #define FOG 6 | 7 | ##include "common_shader_15.glsl" 8 | -------------------------------------------------------------------------------- /shaders/glsl/0D02ABDA6625831EADDE6B9DCBC6FCDD8420EF4D.glsl: -------------------------------------------------------------------------------- 1 | #define GLITCH_OPENGLES_2 2 | 3 | #define LIGHTMAP 4 | #define FOG 5 | #define LIGHTING 6 | 7 | ##include "common_shader_12.glsl" 8 | -------------------------------------------------------------------------------- /shaders/glsl/12DF7F22A6B4C2CAE5470E21D3E13DBA2C53BB3E.glsl: -------------------------------------------------------------------------------- 1 | #define GLITCH_OPENGLES_2 2 | 3 | #define TEXTURED 4 | #define LIGHTMAP 5 | #define CG_FOG 6 | 7 | ##include "common_shader_12.cg" 8 | -------------------------------------------------------------------------------- /shaders/glsl/2492F641A8323EE569FBC64B641BB3D6FDE92A3F.glsl: -------------------------------------------------------------------------------- 1 | #define GLITCH_OPENGLES_2 2 | 3 | #define TEXTURED 4 | #define LIGHTMAP 5 | #define CG_FOG 6 | 7 | ##include "common_shader_10.cg" 8 | -------------------------------------------------------------------------------- /shaders/glsl/32169D73096DCDA3D8A2A936CC379792FDC9A2A3.glsl: -------------------------------------------------------------------------------- 1 | #define GLITCH_OPENGLES_2 2 | 3 | #define TEXTURED 4 | #define CG_FOG 5 | #define LIGHTING 6 | 7 | ##include "common_shader_10.cg" 8 | -------------------------------------------------------------------------------- /shaders/glsl/5B642FA5F9D1832F014F0A457CF6B018FB20737B.glsl: -------------------------------------------------------------------------------- 1 | #define GLITCH_OPENGLES_2 2 | 3 | #define TEXTURED 4 | #define CG_FOG 5 | #define LIGHTING 6 | 7 | ##include "common_shader_12.cg" 8 | -------------------------------------------------------------------------------- /shaders/glsl/616CA959C365BCC52AD2CBFF604EB86FB787B6F5.glsl: -------------------------------------------------------------------------------- 1 | #define GLITCH_OPENGLES_2 2 | 3 | #define LIGHTMAP 4 | #define FOG 5 | #define LIGHTING 6 | 7 | ##include "common_shader_10.glsl" 8 | -------------------------------------------------------------------------------- /shaders/glsl/FB966126342052BEB29434FEBFACD4C884B4E9B1.glsl: -------------------------------------------------------------------------------- 1 | #define GLITCH_OPENGLES_2 2 | 3 | #define BLENDMAP 4 | #define LIGHTMAP 5 | #define FOG 6 | 7 | ##include "common_shader_14.glsl" 8 | -------------------------------------------------------------------------------- /shaders/cg/8E8CD80869D5337C34E7171BED89A6E63E8C2906.cg: -------------------------------------------------------------------------------- 1 | // profile sce_fp_psp2 2 | 3 | #define GLITCH_OPENGLES_2 4 | 5 | #define CG_FOG 6 | #define ALPHA 7 | 8 | ##include "common_shader_19.cg" 9 | -------------------------------------------------------------------------------- /shaders/cg/B09730E64178BE520BCAEAB5A90831045F44DCB7.cg: -------------------------------------------------------------------------------- 1 | // profile sce_fp_psp2 2 | 3 | #define GLITCH_OPENGLES_2 4 | 5 | #define BLUR 6 | #define INVERTED 7 | 8 | ##include "common_shader_1.cg" 9 | -------------------------------------------------------------------------------- /shaders/cg/B5F75774CF27E297840733EC569C3890449CE1D7.cg: -------------------------------------------------------------------------------- 1 | // profile sce_vp_psp2 2 | 3 | #define GLITCH_OPENGLES_2 4 | 5 | #define DUAL 6 | #define CG_FOG 7 | 8 | ##include "common_shader_21.cg" 9 | -------------------------------------------------------------------------------- /shaders/cg/C61D2874234FDF097508922CE95E52E7876DC006.cg: -------------------------------------------------------------------------------- 1 | // profile sce_vp_psp2 2 | 3 | #define GLITCH_OPENGLES_2 4 | 5 | #define CG_FOG 6 | #define ALPHA 7 | 8 | ##include "common_shader_20.cg" 9 | -------------------------------------------------------------------------------- /shaders/cg/F3592AC281EBF5D60EF5D74BA449791C1EE238B0.cg: -------------------------------------------------------------------------------- 1 | // profile sce_fp_psp2 2 | 3 | #define GLITCH_OPENGLES_2 4 | 5 | #define DUAL 6 | #define CG_FOG 7 | 8 | ##include "common_shader_22.cg" 9 | -------------------------------------------------------------------------------- /shaders/glsl/2A7FF9F7A8E7928F80DC00DB982DDF4F2367AF2B.glsl: -------------------------------------------------------------------------------- 1 | #define GLITCH_OPENGLES_2 2 | 3 | #define TEXTURED 4 | #define LIGHTMAP 5 | #define LIGHTING 6 | 7 | ##include "common_shader_12.cg" 8 | -------------------------------------------------------------------------------- /shaders/glsl/370301906C9BC2A1E7A2F46AB9E5E4EA7D297560.glsl: -------------------------------------------------------------------------------- 1 | #define GLITCH_OPENGLES_2 2 | 3 | #define CG_FOG 4 | #define LIGHTMAP 5 | #define REFLECTIONMAP 6 | 7 | ##include "common_shader_11.cg" 8 | -------------------------------------------------------------------------------- /shaders/glsl/54A25F19715A212548CB69EA07AFDD1A5D473A9B.glsl: -------------------------------------------------------------------------------- 1 | #define GLITCH_OPENGLES_2 2 | 3 | #define TEXTURED 4 | #define LIGHTING 5 | #define ALPHABLEND 6 | 7 | ##include "common_shader_10.glsl" 8 | -------------------------------------------------------------------------------- /shaders/glsl/93797C006BA2DD39B5F8C2AA6FF3344396152E6F.glsl: -------------------------------------------------------------------------------- 1 | #define GLITCH_OPENGLES_2 2 | 3 | #define TEXTURED 4 | #define CG_FOG 5 | #define ADDITIVEBLEND 6 | 7 | ##include "common_shader_10.cg" 8 | -------------------------------------------------------------------------------- /shaders/glsl/D1D3895A4C2FF6F02A451425BB18454B4B553F78.glsl: -------------------------------------------------------------------------------- 1 | #define GLITCH_OPENGLES_2 2 | 3 | #define CG_FOG 4 | #define LIGHTMAP 5 | #define REFLECTIONMAP 6 | 7 | ##include "common_shader_13.cg" 8 | -------------------------------------------------------------------------------- /shaders/glsl/D5D5E9B289C9A865D704BD48ECB4C6172D0AC867.glsl: -------------------------------------------------------------------------------- 1 | #define GLITCH_OPENGLES_2 2 | 3 | #define TEXTURED 4 | #define CG_FOG 5 | #define ALPHABLEND 6 | 7 | ##include "common_shader_10.glsl" 8 | -------------------------------------------------------------------------------- /shaders/glsl/D903AB87E45B1A6B3BD4FB6BF3109D4E7E01E959.glsl: -------------------------------------------------------------------------------- 1 | #define GLITCH_OPENGLES_2 2 | 3 | #define TEXTURED 4 | #define LIGHTMAP 5 | #define LIGHTING 6 | 7 | ##include "common_shader_10.cg" 8 | -------------------------------------------------------------------------------- /shaders/cg/0285220332BF1E41FD3A2122D16CC04704B943DB.cg: -------------------------------------------------------------------------------- 1 | // profile sce_vp_psp2 2 | 3 | #define GLITCH_OPENGLES_2 4 | 5 | #define TEXTURED 6 | #define LIGHTMAP 7 | 8 | ##include "common_shader_12.cg" 9 | -------------------------------------------------------------------------------- /shaders/cg/282C6A3FF848CC620358EBDC1659E4C27ED138FB.cg: -------------------------------------------------------------------------------- 1 | // profile sce_vp_psp2 2 | 3 | #define GLITCH_OPENGLES_2 4 | 5 | #define LIGHTMAP 6 | #define CG_FOG 7 | 8 | ##include "common_shader_12.cg" 9 | -------------------------------------------------------------------------------- /shaders/cg/32F8E74D71750B542858595686FE6E0321AFB498.cg: -------------------------------------------------------------------------------- 1 | // profile sce_vp_psp2 2 | 3 | #define GLITCH_OPENGLES_2 4 | 5 | #define LIGHTMAP 6 | #define CG_FOG 7 | 8 | ##include "common_shader_14.cg" 9 | -------------------------------------------------------------------------------- /shaders/cg/3346C20117C640D88D4ADD371557B981A164C52C.cg: -------------------------------------------------------------------------------- 1 | // profile sce_fp_psp2 2 | 3 | #define GLITCH_OPENGLES_2 4 | 5 | #define TEXTURED 6 | #define CG_FOG 7 | 8 | ##include "common_shader_10.cg" 9 | -------------------------------------------------------------------------------- /shaders/cg/42AAE04CA93F4A13FBFE8A88596224FDA4B8B570.cg: -------------------------------------------------------------------------------- 1 | // profile sce_fp_psp2 2 | 3 | #define GLITCH_OPENGLES_2 4 | 5 | #define LIGHTMAP 6 | #define CG_FOG 7 | 8 | ##include "common_shader_15.cg" 9 | -------------------------------------------------------------------------------- /shaders/cg/47458AA4841D6D836E400E96FF0B92DB91516BA8.cg: -------------------------------------------------------------------------------- 1 | // profile sce_fp_psp2 2 | 3 | #define GLITCH_OPENGLES_2 4 | 5 | #define LIGHTMAP 6 | #define LIGHTING 7 | 8 | ##include "common_shader_10.cg" 9 | -------------------------------------------------------------------------------- /shaders/cg/54855E2A980DCA908DD214507AC3229BD1483E59.cg: -------------------------------------------------------------------------------- 1 | // profile sce_fp_psp2 2 | 3 | #define GLITCH_OPENGLES_2 4 | 5 | #define TEXTURED 6 | #define LIGHTMAP 7 | 8 | ##include "common_shader_10.cg" 9 | -------------------------------------------------------------------------------- /shaders/cg/64D2BB9928E92A1ED5FB82085B9946A0D65BEE38.cg: -------------------------------------------------------------------------------- 1 | // profile sce_vp_psp2 2 | 3 | #define GLITCH_OPENGLES_2 4 | 5 | #define CG_FOG 6 | #define LIGHTING 7 | 8 | ##include "common_shader_12.cg" 9 | -------------------------------------------------------------------------------- /shaders/cg/653D63AEFB66BF9F30E351CBBD0015E487AF6F80.cg: -------------------------------------------------------------------------------- 1 | // profile sce_fp_psp2 2 | 3 | #define GLITCH_OPENGLES_2 4 | 5 | #define CUBE 6 | #define REFLECTIONMAP 7 | 8 | ##include "common_shader_9.cg" 9 | -------------------------------------------------------------------------------- /shaders/cg/748F3BF49B27B4D6123710380761AED53C02FD1C.cg: -------------------------------------------------------------------------------- 1 | // profile sce_vp_psp2 2 | 3 | #define GLITCH_OPENGLES_2 4 | 5 | #define TEXTURED 6 | #define LIGHTING 7 | 8 | ##include "common_shader_12.cg" 9 | -------------------------------------------------------------------------------- /shaders/cg/91CEFDAEDE1B1074FEF8B081F03FAC793EF61CEB.cg: -------------------------------------------------------------------------------- 1 | // profile sce_vp_psp2 2 | 3 | #define GLITCH_OPENGLES_2 4 | 5 | #define CUBE 6 | #define REFLECTIONMAP 7 | 8 | ##include "common_shader_6.cg" 9 | -------------------------------------------------------------------------------- /shaders/cg/AE0250395FC4F8C0F6A26C8C7A85B16D807875BF.cg: -------------------------------------------------------------------------------- 1 | // profile sce_fp_psp2 2 | 3 | #define GLITCH_OPENGLES_2 4 | 5 | #define LIGHTMAP 6 | #define CG_FOG 7 | 8 | ##include "common_shader_10.cg" 9 | -------------------------------------------------------------------------------- /shaders/cg/B10C3AE3128ED910041C8AAC95D2F750056FFE01.cg: -------------------------------------------------------------------------------- 1 | // profile sce_vp_psp2 2 | 3 | #define GLITCH_OPENGLES_2 4 | 5 | #define TEXTURED 6 | #define CG_FOG 7 | 8 | ##include "common_shader_12.cg" 9 | -------------------------------------------------------------------------------- /shaders/cg/D01DB7FF50CD729F3D814EBCE13E2FCF5F342C01.cg: -------------------------------------------------------------------------------- 1 | // profile sce_fp_psp2 2 | 3 | #define GLITCH_OPENGLES_2 4 | 5 | #define CG_FOG 6 | #define LIGHTING 7 | 8 | ##include "common_shader_10.cg" 9 | -------------------------------------------------------------------------------- /shaders/cg/F3CF5EE07A400922585601FBD0637678EE9B55D8.cg: -------------------------------------------------------------------------------- 1 | // profile sce_vp_psp2 2 | 3 | #define GLITCH_OPENGLES_2 4 | 5 | #define LIGHTMAP 6 | #define LIGHTING 7 | 8 | ##include "common_shader_12.cg" 9 | -------------------------------------------------------------------------------- /shaders/cg/FC72D2CBA74E8CF234162BEFDE8D53DC9A306D2D.cg: -------------------------------------------------------------------------------- 1 | // profile sce_fp_psp2 2 | 3 | #define GLITCH_OPENGLES_2 4 | 5 | #define TEXTURED 6 | #define LIGHTING 7 | 8 | ##include "common_shader_10.cg" 9 | -------------------------------------------------------------------------------- /shaders/glsl/D6AAC0DC1CA7A6DAF9F2A269EB647400620B8D33.glsl: -------------------------------------------------------------------------------- 1 | #define GLITCH_OPENGLES_2 2 | 3 | #define TEXTURED 4 | #define LIGHTING 5 | #define ADDITIVEBLEND 6 | 7 | ##include "common_shader_10.cg" 8 | -------------------------------------------------------------------------------- /shaders/glsl/FB5906CEFF82A2118B586855AE31EDF7CEDE2E17.glsl: -------------------------------------------------------------------------------- 1 | #define GLITCH_OPENGLES_2 2 | 3 | #define BLUR 4 | 5 | //#define BLUR 6 | 7 | ##include "common_shader_1.cg" 8 | -------------------------------------------------------------------------------- /shaders/cg/13C1C6E2B9D4E034D2878B1BCD29127CDCB67352.cg: -------------------------------------------------------------------------------- 1 | // profile sce_fp_psp2 2 | 3 | #define GLITCH_OPENGLES_2 4 | 5 | #define TEXTURED 6 | #define ADDITIVEBLEND 7 | 8 | ##include "common_shader_10.cg" 9 | -------------------------------------------------------------------------------- /shaders/cg/25C51DE740DAA9D7699EF960D64B273A76580377.cg: -------------------------------------------------------------------------------- 1 | // profile sce_fp_psp2 2 | 3 | #define GLITCH_OPENGLES_2 4 | 5 | #define TEXTURED 6 | #define ALPHABLEND 7 | 8 | ##include "common_shader_10.cg" 9 | -------------------------------------------------------------------------------- /shaders/cg/844B9F6A529F58B0E48DEF07FE1C4FEB28F3BE66.cg: -------------------------------------------------------------------------------- 1 | // profile sce_fp_psp2 2 | 3 | #define GLITCH_OPENGLES_2 4 | 5 | #define ADDITIVE 6 | #define DIFFUSECOLOR 7 | 8 | ##include "common_shader_18.cg" 9 | -------------------------------------------------------------------------------- /shaders/glsl/05242599784EEFCC4D9951838D6ACEADF0A22EDB.glsl: -------------------------------------------------------------------------------- 1 | #define GLITCH_OPENGLES_2 2 | 3 | #define INVERTED 4 | 5 | //#define BLUR 6 | 7 | ##include "common_shader_1.cg" 8 | -------------------------------------------------------------------------------- /shaders/glsl/2EB0406BE8FAF91715917724F84C503B40252516.glsl: -------------------------------------------------------------------------------- 1 | #define GLITCH_OPENGLES_2 2 | 3 | #define DUAL 4 | #define FOG 5 | #define CUBE 6 | #define REFLECTIONMAP 7 | 8 | ##include "common_shader_22.glsl" 9 | -------------------------------------------------------------------------------- /shaders/glsl/A771F61F87D91CDB48D89E7E2199E8BF54BDCCFC.glsl: -------------------------------------------------------------------------------- 1 | #define GLITCH_OPENGLES_2 2 | 3 | #define DUAL 4 | #define FOG 5 | #define CUBE 6 | #define REFLECTIONMAP 7 | 8 | ##include "common_shader_21.glsl" 9 | -------------------------------------------------------------------------------- /shaders/glsl/1587ECAE08230AADAF876CBA39751B7F1E102AF7.glsl: -------------------------------------------------------------------------------- 1 | #define GLITCH_OPENGLES_2 2 | 3 | #define TEXTURED 4 | #define LIGHTMAP 5 | #define CG_FOG 6 | #define LIGHTING 7 | 8 | ##include "common_shader_12.cg" 9 | -------------------------------------------------------------------------------- /shaders/glsl/342903458C5FDA96C42EC7EDDCA3E22883A597A4.glsl: -------------------------------------------------------------------------------- 1 | #define GLITCH_OPENGLES_2 2 | 3 | #define TEXTURED 4 | #define CG_FOG 5 | #define LIGHTING 6 | #define ALPHABLEND 7 | 8 | ##include "common_shader_10.glsl" 9 | -------------------------------------------------------------------------------- /shaders/glsl/D2C0FC9C896A666FFCC52ECA47B9BDDD7E851E7A.glsl: -------------------------------------------------------------------------------- 1 | #define GLITCH_OPENGLES_2 2 | 3 | #define TEXTURED 4 | #define LIGHTMAP 5 | #define CG_FOG 6 | #define LIGHTING 7 | 8 | ##include "common_shader_10.cg" 9 | -------------------------------------------------------------------------------- /shaders/cg/02E98D7A6AE701BD1DEA9FEABB12BB59D2A1D29C.cg: -------------------------------------------------------------------------------- 1 | // profile sce_fp_psp2 2 | 3 | #define GLITCH_OPENGLES_2 4 | 5 | #define NOISE 6 | #define LINES 7 | #define BLUR 8 | 9 | ##include "common_shader_1.cg" 10 | -------------------------------------------------------------------------------- /shaders/glsl/9114FCA5A684AC720167A108582257838628752D.glsl: -------------------------------------------------------------------------------- 1 | #define GLITCH_OPENGLES_2 2 | 3 | #define TEXTURED 4 | #define CG_FOG 5 | #define LIGHTING 6 | #define ADDITIVEBLEND 7 | 8 | ##include "common_shader_10.cg" 9 | -------------------------------------------------------------------------------- /shaders/cg/058D6BDC09C95AD0522046F619F3FF2C5C974028.cg: -------------------------------------------------------------------------------- 1 | // profile sce_fp_psp2 2 | 3 | #define GLITCH_OPENGLES_2 4 | 5 | #define BLENDMAP 6 | #define LIGHTMAP 7 | #define CG_FOG 8 | 9 | ##include "common_shader_15.cg" 10 | -------------------------------------------------------------------------------- /shaders/cg/0D02ABDA6625831EADDE6B9DCBC6FCDD8420EF4D.cg: -------------------------------------------------------------------------------- 1 | // profile sce_vp_psp2 2 | 3 | #define GLITCH_OPENGLES_2 4 | 5 | #define LIGHTMAP 6 | #define CG_FOG 7 | #define LIGHTING 8 | 9 | ##include "common_shader_12.cg" 10 | -------------------------------------------------------------------------------- /shaders/cg/12DF7F22A6B4C2CAE5470E21D3E13DBA2C53BB3E.cg: -------------------------------------------------------------------------------- 1 | // profile sce_vp_psp2 2 | 3 | #define GLITCH_OPENGLES_2 4 | 5 | #define TEXTURED 6 | #define LIGHTMAP 7 | #define CG_FOG 8 | 9 | ##include "common_shader_12.cg" 10 | -------------------------------------------------------------------------------- /shaders/cg/2492F641A8323EE569FBC64B641BB3D6FDE92A3F.cg: -------------------------------------------------------------------------------- 1 | // profile sce_fp_psp2 2 | 3 | #define GLITCH_OPENGLES_2 4 | 5 | #define TEXTURED 6 | #define LIGHTMAP 7 | #define CG_FOG 8 | 9 | ##include "common_shader_10.cg" 10 | -------------------------------------------------------------------------------- /shaders/cg/32169D73096DCDA3D8A2A936CC379792FDC9A2A3.cg: -------------------------------------------------------------------------------- 1 | // profile sce_fp_psp2 2 | 3 | #define GLITCH_OPENGLES_2 4 | 5 | #define TEXTURED 6 | #define CG_FOG 7 | #define LIGHTING 8 | 9 | ##include "common_shader_10.cg" 10 | -------------------------------------------------------------------------------- /shaders/cg/5B642FA5F9D1832F014F0A457CF6B018FB20737B.cg: -------------------------------------------------------------------------------- 1 | // profile sce_vp_psp2 2 | 3 | #define GLITCH_OPENGLES_2 4 | 5 | #define TEXTURED 6 | #define CG_FOG 7 | #define LIGHTING 8 | 9 | ##include "common_shader_12.cg" 10 | -------------------------------------------------------------------------------- /shaders/cg/616CA959C365BCC52AD2CBFF604EB86FB787B6F5.cg: -------------------------------------------------------------------------------- 1 | // profile sce_fp_psp2 2 | 3 | #define GLITCH_OPENGLES_2 4 | 5 | #define LIGHTMAP 6 | #define CG_FOG 7 | #define LIGHTING 8 | 9 | ##include "common_shader_10.cg" 10 | -------------------------------------------------------------------------------- /shaders/cg/FB966126342052BEB29434FEBFACD4C884B4E9B1.cg: -------------------------------------------------------------------------------- 1 | // profile sce_vp_psp2 2 | 3 | #define GLITCH_OPENGLES_2 4 | 5 | #define BLENDMAP 6 | #define LIGHTMAP 7 | #define CG_FOG 8 | 9 | ##include "common_shader_14.cg" 10 | -------------------------------------------------------------------------------- /shaders/cg/2A7FF9F7A8E7928F80DC00DB982DDF4F2367AF2B.cg: -------------------------------------------------------------------------------- 1 | // profile sce_vp_psp2 2 | 3 | #define GLITCH_OPENGLES_2 4 | 5 | #define TEXTURED 6 | #define LIGHTMAP 7 | #define LIGHTING 8 | 9 | ##include "common_shader_12.cg" 10 | -------------------------------------------------------------------------------- /shaders/cg/370301906C9BC2A1E7A2F46AB9E5E4EA7D297560.cg: -------------------------------------------------------------------------------- 1 | // profile sce_fp_psp2 2 | 3 | #define GLITCH_OPENGLES_2 4 | 5 | #define CG_FOG 6 | #define LIGHTMAP 7 | #define REFLECTIONMAP 8 | 9 | ##include "common_shader_11.cg" 10 | -------------------------------------------------------------------------------- /shaders/cg/54A25F19715A212548CB69EA07AFDD1A5D473A9B.cg: -------------------------------------------------------------------------------- 1 | // profile sce_fp_psp2 2 | 3 | #define GLITCH_OPENGLES_2 4 | 5 | #define TEXTURED 6 | #define LIGHTING 7 | #define ALPHABLEND 8 | 9 | ##include "common_shader_10.cg" 10 | -------------------------------------------------------------------------------- /shaders/cg/93797C006BA2DD39B5F8C2AA6FF3344396152E6F.cg: -------------------------------------------------------------------------------- 1 | // profile sce_fp_psp2 2 | 3 | #define GLITCH_OPENGLES_2 4 | 5 | #define TEXTURED 6 | #define CG_FOG 7 | #define ADDITIVEBLEND 8 | 9 | ##include "common_shader_10.cg" 10 | -------------------------------------------------------------------------------- /shaders/cg/D1D3895A4C2FF6F02A451425BB18454B4B553F78.cg: -------------------------------------------------------------------------------- 1 | // profile sce_vp_psp2 2 | 3 | #define GLITCH_OPENGLES_2 4 | 5 | #define CG_FOG 6 | #define LIGHTMAP 7 | #define REFLECTIONMAP 8 | 9 | ##include "common_shader_13.cg" 10 | -------------------------------------------------------------------------------- /shaders/cg/D5D5E9B289C9A865D704BD48ECB4C6172D0AC867.cg: -------------------------------------------------------------------------------- 1 | // profile sce_fp_psp2 2 | 3 | #define GLITCH_OPENGLES_2 4 | 5 | #define TEXTURED 6 | #define CG_FOG 7 | #define ALPHABLEND 8 | 9 | ##include "common_shader_10.cg" 10 | -------------------------------------------------------------------------------- /shaders/cg/D903AB87E45B1A6B3BD4FB6BF3109D4E7E01E959.cg: -------------------------------------------------------------------------------- 1 | // profile sce_fp_psp2 2 | 3 | #define GLITCH_OPENGLES_2 4 | 5 | #define TEXTURED 6 | #define LIGHTMAP 7 | #define LIGHTING 8 | 9 | ##include "common_shader_10.cg" 10 | -------------------------------------------------------------------------------- /shaders/cg/D6AAC0DC1CA7A6DAF9F2A269EB647400620B8D33.cg: -------------------------------------------------------------------------------- 1 | // profile sce_fp_psp2 2 | 3 | #define GLITCH_OPENGLES_2 4 | 5 | #define TEXTURED 6 | #define LIGHTING 7 | #define ADDITIVEBLEND 8 | 9 | ##include "common_shader_10.cg" 10 | -------------------------------------------------------------------------------- /shaders/glsl/B09730E64178BE520BCAEAB5A90831045F44DCB7.glsl: -------------------------------------------------------------------------------- 1 | #define GLITCH_OPENGLES_2 2 | 3 | #define BLUR 4 | #define INVERTED 5 | 6 | //#define BLUR 7 | 8 | ##include "common_shader_1.cg" 9 | -------------------------------------------------------------------------------- /shaders/cg/5583C7ECE74F65E42F2C713D0F2F2DFFC7AAC718.cg: -------------------------------------------------------------------------------- 1 | // profile sce_fp_psp2 2 | 3 | #define GLITCH_OPENGLES_2 4 | 5 | void main( 6 | float4 out gl_FragColor : COLOR 7 | ) { 8 | gl_FragColor = float4(0.8, 0.3, 0.5, 1.0); 9 | } 10 | -------------------------------------------------------------------------------- /shaders/cg/C95A74A65217C382D71A5B1A87EC04DAD0DB7D7A.cg: -------------------------------------------------------------------------------- 1 | // profile sce_fp_psp2 2 | 3 | #define GLITCH_OPENGLES_2 4 | 5 | #define NOISE 6 | #define LINES 7 | #define BLUR 8 | #define INVERTED 9 | 10 | ##include "common_shader_1.cg" 11 | -------------------------------------------------------------------------------- /shaders/glsl/C3D9A654237C5C579B4FE853E280EE31CB7FF668.glsl: -------------------------------------------------------------------------------- 1 | #define GLITCH_OPENGLES_2 2 | 3 | uniform lowp sampler2D texture0; 4 | varying mediump vec2 vCoordSource; 5 | void main() 6 | { 7 | gl_FragColor = texture2D(texture0, vCoordSource); 8 | } 9 | -------------------------------------------------------------------------------- /shaders/cg/2EB0406BE8FAF91715917724F84C503B40252516.cg: -------------------------------------------------------------------------------- 1 | // profile sce_fp_psp2 2 | 3 | #define GLITCH_OPENGLES_2 4 | 5 | #define DUAL 6 | #define CG_FOG 7 | #define CUBE 8 | #define REFLECTIONMAP 9 | 10 | ##include "common_shader_22.cg" 11 | -------------------------------------------------------------------------------- /shaders/cg/A771F61F87D91CDB48D89E7E2199E8BF54BDCCFC.cg: -------------------------------------------------------------------------------- 1 | // profile sce_vp_psp2 2 | 3 | #define GLITCH_OPENGLES_2 4 | 5 | #define DUAL 6 | #define CG_FOG 7 | #define CUBE 8 | #define REFLECTIONMAP 9 | 10 | ##include "common_shader_21.cg" 11 | -------------------------------------------------------------------------------- /shaders/cg/1587ECAE08230AADAF876CBA39751B7F1E102AF7.cg: -------------------------------------------------------------------------------- 1 | // profile sce_vp_psp2 2 | 3 | #define GLITCH_OPENGLES_2 4 | 5 | #define TEXTURED 6 | #define LIGHTMAP 7 | #define CG_FOG 8 | #define LIGHTING 9 | 10 | ##include "common_shader_12.cg" 11 | -------------------------------------------------------------------------------- /shaders/cg/342903458C5FDA96C42EC7EDDCA3E22883A597A4.cg: -------------------------------------------------------------------------------- 1 | // profile sce_fp_psp2 2 | 3 | #define GLITCH_OPENGLES_2 4 | 5 | #define TEXTURED 6 | #define CG_FOG 7 | #define LIGHTING 8 | #define ALPHABLEND 9 | 10 | ##include "common_shader_10.cg" 11 | -------------------------------------------------------------------------------- /shaders/cg/D2C0FC9C896A666FFCC52ECA47B9BDDD7E851E7A.cg: -------------------------------------------------------------------------------- 1 | // profile sce_fp_psp2 2 | 3 | #define GLITCH_OPENGLES_2 4 | 5 | #define TEXTURED 6 | #define LIGHTMAP 7 | #define CG_FOG 8 | #define LIGHTING 9 | 10 | ##include "common_shader_10.cg" 11 | -------------------------------------------------------------------------------- /shaders/cg/D9F2D657B43841E7C81D90303A5A1BB24E9222F7.cg: -------------------------------------------------------------------------------- 1 | // profile sce_fp_psp2 2 | 3 | #define GLITCH_OPENGLES_2 4 | 5 | void main( 6 | float4 vColor0 : COLOR0, 7 | float4 out gl_FragColor : COLOR 8 | ) { 9 | gl_FragColor = vColor0; 10 | } 11 | -------------------------------------------------------------------------------- /shaders/glsl/3C5B11A337547CB9B7FF13E4177532E8CE2B6E3A.glsl: -------------------------------------------------------------------------------- 1 | #define GLITCH_OPENGLES_2 2 | 3 | uniform lowp sampler2D texture1; 4 | varying mediump vec2 vCoordDecimated; 5 | void main() 6 | { 7 | gl_FragColor = texture2D(texture1, vCoordDecimated); 8 | } 9 | -------------------------------------------------------------------------------- /shaders/cg/9114FCA5A684AC720167A108582257838628752D.cg: -------------------------------------------------------------------------------- 1 | // profile sce_fp_psp2 2 | 3 | #define GLITCH_OPENGLES_2 4 | 5 | #define TEXTURED 6 | #define CG_FOG 7 | #define LIGHTING 8 | #define ADDITIVEBLEND 9 | 10 | ##include "common_shader_10.cg" 11 | -------------------------------------------------------------------------------- /shaders/glsl/22D0EE00B7100F13BD1AF0B40097010B39B9C9AE.glsl: -------------------------------------------------------------------------------- 1 | #define GLITCH_OPENGLES_2 2 | 3 | uniform lowp sampler2D texture0; 4 | 5 | varying mediump vec2 vCoord0; 6 | 7 | void main() 8 | { 9 | gl_FragColor = texture2D(texture0, vCoord0); 10 | } 11 | -------------------------------------------------------------------------------- /shaders/glsl/74935803B7E52251921542C6BCDBD096E9C3CDE8.glsl: -------------------------------------------------------------------------------- 1 | #define GLITCH_OPENGLES_2 2 | 3 | attribute highp vec4 Vertex; 4 | uniform mediump mat4 WorldViewProjectionMatrix; 5 | void main(void) 6 | { 7 | gl_Position = WorldViewProjectionMatrix * Vertex; 8 | } 9 | -------------------------------------------------------------------------------- /shaders/glsl/02E98D7A6AE701BD1DEA9FEABB12BB59D2A1D29C.glsl: -------------------------------------------------------------------------------- 1 | #define GLITCH_OPENGLES_2 2 | 3 | #define NOISE 4 | #define LINES 5 | #define BLUR 6 | 7 | //#define BLUR 8 | 9 | ##include "common_shader_1.cg" 10 | -------------------------------------------------------------------------------- /extras/icons/trigger-left.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /shaders/glsl/84256C21676DF1A1810515E34067C3587FCCCB24.glsl: -------------------------------------------------------------------------------- 1 | #define GLITCH_OPENGLES_2 2 | 3 | attribute highp vec4 Vertex; 4 | attribute highp vec2 Texcoord0; 5 | varying mediump vec2 vCoord0; 6 | 7 | void main(void) 8 | { 9 | vCoord0 = Texcoord0; 10 | gl_Position = Vertex; 11 | } 12 | -------------------------------------------------------------------------------- /shaders/cg/22D0EE00B7100F13BD1AF0B40097010B39B9C9AE.cg: -------------------------------------------------------------------------------- 1 | // profile sce_fp_psp2 2 | 3 | #define GLITCH_OPENGLES_2 4 | 5 | uniform sampler2D texture0; 6 | 7 | void main( 8 | float2 vCoord0 : TEXCOORD0, 9 | float4 out gl_FragColor : COLOR 10 | ) { 11 | gl_FragColor = tex2D(texture0, vCoord0); 12 | } 13 | -------------------------------------------------------------------------------- /shaders/glsl/C95A74A65217C382D71A5B1A87EC04DAD0DB7D7A.glsl: -------------------------------------------------------------------------------- 1 | #define GLITCH_OPENGLES_2 2 | 3 | #define NOISE 4 | #define LINES 5 | #define BLUR 6 | #define INVERTED 7 | 8 | //#define BLUR 9 | 10 | ##include "common_shader_1.cg" 11 | -------------------------------------------------------------------------------- /shaders/cg/C3D9A654237C5C579B4FE853E280EE31CB7FF668.cg: -------------------------------------------------------------------------------- 1 | // profile sce_fp_psp2 2 | 3 | #define GLITCH_OPENGLES_2 4 | 5 | uniform sampler2D texture0; 6 | 7 | void main( 8 | float2 vCoordSource : TEXCOORD5, 9 | float4 out gl_FragColor : COLOR 10 | ) { 11 | gl_FragColor = tex2D(texture0, vCoordSource); 12 | } 13 | -------------------------------------------------------------------------------- /shaders/cg/3C5B11A337547CB9B7FF13E4177532E8CE2B6E3A.cg: -------------------------------------------------------------------------------- 1 | // profile sce_fp_psp2 2 | 3 | #define GLITCH_OPENGLES_2 4 | 5 | uniform sampler2D texture1; 6 | 7 | void main( 8 | float2 vCoordDecimated : TEXCOORD4, 9 | float4 out gl_FragColor : COLOR 10 | ) { 11 | gl_FragColor = tex2D(texture1, vCoordDecimated); 12 | } 13 | -------------------------------------------------------------------------------- /extras/livearea/template.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | bg0.png 6 | 7 | 8 | 9 | phantomunit.png 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /shaders/glsl/516D26BE9D84FD151608A5B8DB813C01688299EF.glsl: -------------------------------------------------------------------------------- 1 | #define GLITCH_OPENGLES_2 2 | 3 | uniform lowp sampler2D DiffuseSampler; 4 | varying mediump vec2 vCoord0; 5 | varying lowp vec4 vColor; 6 | 7 | void main() 8 | { 9 | lowp vec4 diffuseMap = texture2D(DiffuseSampler, vCoord0); 10 | gl_FragColor = diffuseMap * vColor; 11 | } 12 | -------------------------------------------------------------------------------- /shaders/glsl/80ADA5CF271FC2708853879E7C557D0F2A1E6081.glsl: -------------------------------------------------------------------------------- 1 | #define GLITCH_OPENGLES_2 2 | 3 | uniform lowp sampler2D texture; 4 | 5 | varying mediump vec2 vCoord0; 6 | varying lowp vec4 vColor0; 7 | 8 | void main() 9 | { 10 | lowp vec4 texColor = texture2D(texture, vCoord0); 11 | gl_FragColor = vec4(texColor.rgb * vColor0.rgb, texColor.a); 12 | } 13 | -------------------------------------------------------------------------------- /shaders/glsl/F0971D47248F64A868108F9A034E90E20FB0C6A1.glsl: -------------------------------------------------------------------------------- 1 | #define GLITCH_OPENGLES_2 2 | 3 | uniform lowp sampler2D texture1; 4 | uniform lowp sampler2D texture2; 5 | 6 | varying mediump vec2 vCoord0; 7 | varying lowp vec4 vColor0; 8 | 9 | void main() 10 | { 11 | gl_FragColor = texture2D(texture1, vCoord0) * texture2D(texture2, vCoord0) * vColor0; 12 | } 13 | -------------------------------------------------------------------------------- /shaders/glsl/C40AF8C3D0FF2230E4907A810521FCE729E2FFF6.glsl: -------------------------------------------------------------------------------- 1 | #define GLITCH_OPENGLES_2 2 | 3 | attribute highp vec4 Vertex; 4 | uniform lowp vec4 DiffuseColor; 5 | uniform highp mat4 WorldViewProjectionMatrix; 6 | varying lowp vec4 vColor0; 7 | 8 | void main(void) 9 | { 10 | vColor0 = DiffuseColor; 11 | gl_Position = WorldViewProjectionMatrix * Vertex; 12 | } 13 | -------------------------------------------------------------------------------- /shaders/glsl/215F002BDA668CC18E43B16F8D86ED99BEBD5DEF.glsl: -------------------------------------------------------------------------------- 1 | #define GLITCH_OPENGLES_2 2 | 3 | attribute highp vec4 Vertex; 4 | attribute mediump vec2 TexCoord0; 5 | 6 | uniform highp mat4 WorldViewProjectionMatrix; 7 | 8 | varying mediump vec2 vCoord; 9 | 10 | void main(void) 11 | { 12 | vCoord = TexCoord0; 13 | gl_Position = WorldViewProjectionMatrix * Vertex; 14 | } 15 | -------------------------------------------------------------------------------- /shaders/glsl/39FCB73148851B7AA84C3B74D3EEC5414D512636.glsl: -------------------------------------------------------------------------------- 1 | #define GLITCH_OPENGLES_2 2 | 3 | attribute highp vec4 Vertex; 4 | attribute lowp vec4 Color0; 5 | 6 | uniform highp mat4 WorldViewProjectionMatrix; 7 | 8 | varying lowp vec4 vColor0; 9 | 10 | void main(void) 11 | { 12 | vColor0 = Color0; 13 | gl_Position = WorldViewProjectionMatrix * Vertex; 14 | } 15 | -------------------------------------------------------------------------------- /shaders/cg/74935803B7E52251921542C6BCDBD096E9C3CDE8.cg: -------------------------------------------------------------------------------- 1 | // profile sce_vp_psp2 2 | 3 | #define GLITCH_OPENGLES_2 4 | 5 | uniform float4x4 WorldViewProjectionMatrix; 6 | 7 | void main( 8 | float4 Vertex, 9 | float4 out gl_Position : POSITION, 10 | float out gl_PointSize : PSIZE 11 | ) { 12 | gl_PointSize = 1.0f; 13 | gl_Position = mul(Vertex, WorldViewProjectionMatrix); 14 | } 15 | -------------------------------------------------------------------------------- /shaders/glsl/D2B901EA221A6A10BB1E9DADE6239B731F801846.glsl: -------------------------------------------------------------------------------- 1 | #define GLITCH_OPENGLES_2 2 | 3 | attribute highp vec4 Vertex; 4 | attribute mediump vec2 TexCoord0; 5 | 6 | uniform highp mat4 WorldViewProjectionMatrix; 7 | 8 | varying mediump vec2 vCoord0; 9 | 10 | void main(void) 11 | { 12 | vCoord0 = TexCoord0; 13 | gl_Position = WorldViewProjectionMatrix * Vertex; 14 | } 15 | -------------------------------------------------------------------------------- /shaders/cg/84256C21676DF1A1810515E34067C3587FCCCB24.cg: -------------------------------------------------------------------------------- 1 | // profile sce_vp_psp2 2 | 3 | #define GLITCH_OPENGLES_2 4 | 5 | void main( 6 | float4 Vertex, 7 | float2 Texcoord0, 8 | float2 out vCoord0 : TEXCOORD0, 9 | float4 out gl_Position : POSITION, 10 | float out gl_PointSize : PSIZE 11 | ) { 12 | gl_PointSize = 1.0f; 13 | vCoord0 = Texcoord0; 14 | gl_Position = Vertex; 15 | } 16 | -------------------------------------------------------------------------------- /extras/icons/square.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /shaders/cg/516D26BE9D84FD151608A5B8DB813C01688299EF.cg: -------------------------------------------------------------------------------- 1 | // profile sce_fp_psp2 2 | 3 | #define GLITCH_OPENGLES_2 4 | 5 | uniform sampler2D DiffuseSampler; 6 | 7 | void main( 8 | float2 vCoord0 : TEXCOORD0, 9 | float4 vColor : TEXCOORD1, 10 | float4 out gl_FragColor : COLOR 11 | ) { 12 | float4 diffuseMap = tex2D(DiffuseSampler, vCoord0); 13 | gl_FragColor = diffuseMap * vColor; 14 | } 15 | -------------------------------------------------------------------------------- /shaders/cg/F0971D47248F64A868108F9A034E90E20FB0C6A1.cg: -------------------------------------------------------------------------------- 1 | // profile sce_fp_psp2 2 | 3 | #define GLITCH_OPENGLES_2 4 | 5 | uniform sampler2D texture1; 6 | uniform sampler2D texture2; 7 | 8 | void main( 9 | float2 vCoord0 : TEXCOORD0, 10 | float4 vColor0 : COLOR0, 11 | float4 out gl_FragColor : COLOR 12 | ) { 13 | gl_FragColor = tex2D(texture1, vCoord0) * tex2D(texture2, vCoord0) * vColor0; 14 | } 15 | -------------------------------------------------------------------------------- /shaders/glsl/854E7B027E568FFC67CC53BBE188CA164C785CE5.glsl: -------------------------------------------------------------------------------- 1 | #define GLITCH_OPENGLES_2 2 | 3 | attribute highp vec4 Vertex; 4 | attribute mediump vec2 TexCoord0; 5 | 6 | uniform highp mat4 WorldViewProjectionMatrix; 7 | 8 | varying mediump vec2 vCoord0; 9 | 10 | void main(void) 11 | { 12 | mediump vec2 uv = TexCoord0; 13 | vCoord0 = uv; 14 | gl_Position = WorldViewProjectionMatrix * Vertex; 15 | } 16 | -------------------------------------------------------------------------------- /shaders/cg/80ADA5CF271FC2708853879E7C557D0F2A1E6081.cg: -------------------------------------------------------------------------------- 1 | // profile sce_fp_psp2 2 | 3 | #define GLITCH_OPENGLES_2 4 | 5 | uniform sampler2D glitch_texture; 6 | 7 | void main( 8 | float2 vCoord0 : TEXCOORD0, 9 | float4 vColor0 : COLOR0, 10 | float4 out gl_FragColor : COLOR 11 | ) { 12 | float4 texColor = tex2D(glitch_texture, vCoord0); 13 | gl_FragColor = float4(texColor.rgb * vColor0.rgb, texColor.a); 14 | } 15 | -------------------------------------------------------------------------------- /shaders/glsl/6CA96C48C3A2F6B08E0BA10FFE850A774CB50151.glsl: -------------------------------------------------------------------------------- 1 | #define GLITCH_OPENGLES_2 2 | 3 | uniform lowp sampler2D texture0; 4 | 5 | uniform mediump float scale; 6 | varying mediump vec2 vCoord; 7 | 8 | void main() 9 | { 10 | mediump vec4 color = texture2D(texture0, vCoord); 11 | mediump float average = 0.33 * (color.r + color.g + color.b); 12 | 13 | gl_FragColor = mix(color, vec4(average,average,average,average), scale); 14 | } 15 | -------------------------------------------------------------------------------- /extras/icons/triangle.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /extras/icons/cross.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /shaders/cg/39FCB73148851B7AA84C3B74D3EEC5414D512636.cg: -------------------------------------------------------------------------------- 1 | // profile sce_vp_psp2 2 | 3 | #define GLITCH_OPENGLES_2 4 | 5 | uniform float4x4 WorldViewProjectionMatrix; 6 | 7 | void main( 8 | float4 Vertex, 9 | float4 Color0, 10 | float4 out vColor0 : COLOR0, 11 | float4 out gl_Position : POSITION, 12 | float out gl_PointSize : PSIZE 13 | ) { 14 | gl_PointSize = 1.0f; 15 | vColor0 = Color0; 16 | gl_Position = mul(Vertex, WorldViewProjectionMatrix); 17 | } 18 | -------------------------------------------------------------------------------- /extras/cpuinfo: -------------------------------------------------------------------------------- 1 | Processor : ARMv7 Processor rev 10 (v7l) 2 | processor : 0 3 | BogoMIPS : 2325.52 4 | 5 | processor : 1 6 | BogoMIPS : 2325.52 7 | 8 | Features : swp half thumb fastmult vfp edsp thumbee neon vfpv3 9 | CPU implementer : 0x41 10 | CPU architecture: 7 11 | CPU variant : 0x2 12 | CPU part : 0xc09 13 | CPU revision : 10 14 | 15 | Hardware : Tuna 16 | Revision : 0009 17 | Serial : 016b65af1300a019 18 | -------------------------------------------------------------------------------- /shaders/cg/215F002BDA668CC18E43B16F8D86ED99BEBD5DEF.cg: -------------------------------------------------------------------------------- 1 | // profile sce_vp_psp2 2 | 3 | #define GLITCH_OPENGLES_2 4 | 5 | uniform float4x4 WorldViewProjectionMatrix; 6 | 7 | void main( 8 | float4 Vertex, 9 | float2 TexCoord0, 10 | float2 out vCoord : TEXCOORD0, 11 | float4 out gl_Position : POSITION, 12 | float out gl_PointSize : PSIZE 13 | ) { 14 | gl_PointSize = 1.0f; 15 | vCoord = TexCoord0; 16 | gl_Position = mul(Vertex, WorldViewProjectionMatrix); 17 | } 18 | -------------------------------------------------------------------------------- /shaders/glsl/6C2B9FC890E5530BC48CF8F85045D4B0301E8391.glsl: -------------------------------------------------------------------------------- 1 | #define GLITCH_OPENGLES_2 2 | 3 | uniform lowp sampler2D texture0; 4 | uniform lowp sampler2D texture1; 5 | uniform lowp float interpolation; 6 | 7 | varying mediump vec2 vCoord0; 8 | 9 | void main() 10 | { 11 | lowp vec4 texColor0 = texture2D(texture0, vCoord0); 12 | lowp vec4 texColor1 = texture2D(texture1, vCoord0); 13 | 14 | gl_FragColor = mix(texColor0, texColor1, interpolation); 15 | } 16 | -------------------------------------------------------------------------------- /shaders/cg/D2B901EA221A6A10BB1E9DADE6239B731F801846.cg: -------------------------------------------------------------------------------- 1 | // profile sce_vp_psp2 2 | 3 | #define GLITCH_OPENGLES_2 4 | 5 | uniform float4x4 WorldViewProjectionMatrix; 6 | 7 | void main( 8 | float4 Vertex, 9 | float2 TexCoord0, 10 | float2 out vCoord0 : TEXCOORD0, 11 | float4 out gl_Position : POSITION, 12 | float out gl_PointSize : PSIZE 13 | ) { 14 | gl_PointSize = 1.0f; 15 | vCoord0 = TexCoord0; 16 | gl_Position = mul(Vertex, WorldViewProjectionMatrix); 17 | } 18 | -------------------------------------------------------------------------------- /shaders/cg/6CA96C48C3A2F6B08E0BA10FFE850A774CB50151.cg: -------------------------------------------------------------------------------- 1 | // profile sce_fp_psp2 2 | 3 | #define GLITCH_OPENGLES_2 4 | 5 | uniform sampler2D texture0; 6 | 7 | uniform float scale; 8 | 9 | void main( 10 | float2 vCoord : TEXCOORD0, 11 | float4 out gl_FragColor : COLOR 12 | ) { 13 | float4 color = tex2D(texture0, vCoord); 14 | float average = 0.33 * (color.r + color.g + color.b); 15 | 16 | gl_FragColor = lerp(color, float4(average,average,average,average), scale); 17 | } 18 | -------------------------------------------------------------------------------- /shaders/cg/C40AF8C3D0FF2230E4907A810521FCE729E2FFF6.cg: -------------------------------------------------------------------------------- 1 | // profile sce_vp_psp2 2 | 3 | #define GLITCH_OPENGLES_2 4 | 5 | uniform float4 DiffuseColor; 6 | uniform float4x4 WorldViewProjectionMatrix; 7 | 8 | void main( 9 | float4 Vertex, 10 | float4 out vColor0 : COLOR0, 11 | float4 out gl_Position : POSITION, 12 | float out gl_PointSize : PSIZE 13 | ) { 14 | gl_PointSize = 1.0f; 15 | vColor0 = DiffuseColor; 16 | gl_Position = mul(Vertex, WorldViewProjectionMatrix); 17 | } 18 | -------------------------------------------------------------------------------- /shaders/glsl/027CD40636AD8A050166F97BA9960BD723B9FABF.glsl: -------------------------------------------------------------------------------- 1 | #define GLITCH_OPENGLES_2 2 | 3 | uniform lowp sampler2D texture0; 4 | varying mediump vec2 vCoord0; 5 | uniform lowp float threshold; 6 | 7 | void main() 8 | { 9 | lowp vec4 color = texture2D(texture0, vCoord0); 10 | 11 | lowp float average = 0.33 * (color.r + color.g + color.b) - threshold; 12 | 13 | color.r = max(0.0, average); 14 | color.g = color.r; 15 | color.b = color.r; 16 | 17 | gl_FragColor = color; 18 | } 19 | -------------------------------------------------------------------------------- /shaders/glsl/5C0B647D52957FFCC57DB676042AC44FB8C13B90.glsl: -------------------------------------------------------------------------------- 1 | #define GLITCH_OPENGLES_2 2 | 3 | uniform lowp sampler2D texture0; 4 | uniform lowp sampler2D texture1; 5 | 6 | uniform lowp float scale; 7 | 8 | varying mediump vec2 vCoord0; 9 | varying mediump vec2 vCoord1; 10 | 11 | void main() 12 | { 13 | mediump vec2 normal = texture2D(texture1, vCoord1).xy + vec2(-0.5,-0.5); 14 | mediump vec2 uv = vCoord0 + normal * vec2(scale,scale); 15 | gl_FragColor = texture2D(texture0, uv); 16 | } 17 | -------------------------------------------------------------------------------- /shaders/cg/6C2B9FC890E5530BC48CF8F85045D4B0301E8391.cg: -------------------------------------------------------------------------------- 1 | // profile sce_fp_psp2 2 | 3 | #define GLITCH_OPENGLES_2 4 | 5 | uniform sampler2D texture0; 6 | uniform sampler2D texture1; 7 | uniform float interpolation; 8 | 9 | void main( 10 | float2 vCoord0 : TEXCOORD0, 11 | float4 out gl_FragColor : COLOR 12 | ) { 13 | float4 texColor0 = tex2D(texture0, vCoord0); 14 | float4 texColor1 = tex2D(texture1, vCoord0); 15 | 16 | gl_FragColor = lerp(texColor0, texColor1, interpolation); 17 | } 18 | -------------------------------------------------------------------------------- /shaders/cg/854E7B027E568FFC67CC53BBE188CA164C785CE5.cg: -------------------------------------------------------------------------------- 1 | // profile sce_vp_psp2 2 | 3 | #define GLITCH_OPENGLES_2 4 | 5 | uniform float4x4 WorldViewProjectionMatrix; 6 | 7 | void main( 8 | float4 Vertex, 9 | float2 TexCoord0, 10 | float2 out vCoord0 : TEXCOORD0, 11 | float4 out gl_Position : POSITION, 12 | float out gl_PointSize : PSIZE 13 | ) { 14 | gl_PointSize = 1.0f; 15 | float2 uv = TexCoord0; 16 | vCoord0 = uv; 17 | gl_Position = mul(Vertex, WorldViewProjectionMatrix); 18 | } 19 | -------------------------------------------------------------------------------- /shaders/glsl/E269C9F4925272A49221628E19F460B7F473EB83.glsl: -------------------------------------------------------------------------------- 1 | #define GLITCH_OPENGLES_2 2 | 3 | attribute highp vec4 Vertex; 4 | attribute mediump vec2 TexCoord0; 5 | attribute mediump vec2 TexCoord1; 6 | 7 | uniform highp mat4 WorldViewProjectionMatrix; 8 | uniform mediump vec2 texelSize; 9 | 10 | varying mediump vec2 vCoordSource; 11 | 12 | void main(void) 13 | { 14 | vCoordSource = TexCoord1;// + vec2(0.5 * texelSize.x,0.5 * texelSize.y); 15 | gl_Position = WorldViewProjectionMatrix * Vertex; 16 | } 17 | -------------------------------------------------------------------------------- /shaders/glsl/72B3FE7B31E416C019D4104DB85E955385BD475F.glsl: -------------------------------------------------------------------------------- 1 | #define GLITCH_OPENGLES_2 2 | 3 | attribute highp vec4 Vertex; 4 | attribute mediump vec2 TexCoord0; 5 | attribute highp vec4 color; 6 | uniform highp mat4 WorldViewProjectionMatrix; 7 | varying mediump vec2 vCoord0; 8 | varying lowp vec4 vColor; 9 | uniform highp mat4 texturemat0; 10 | 11 | void main() 12 | { 13 | gl_Position = WorldViewProjectionMatrix * Vertex; 14 | vCoord0 = TexCoord0; 15 | vColor = color; 16 | } 17 | -------------------------------------------------------------------------------- /shaders/cg/5C0B647D52957FFCC57DB676042AC44FB8C13B90.cg: -------------------------------------------------------------------------------- 1 | // profile sce_fp_psp2 2 | 3 | #define GLITCH_OPENGLES_2 4 | 5 | uniform sampler2D texture0; 6 | uniform sampler2D texture1; 7 | 8 | uniform float scale; 9 | 10 | void main( 11 | float2 vCoord0 : TEXCOORD0, 12 | float2 vCoord1 : TEXCOORD1, 13 | float4 out gl_FragColor : COLOR 14 | ) { 15 | float2 normal = tex2D(texture1, vCoord1).xy + float2(-0.5,-0.5); 16 | float2 uv = vCoord0 + normal * float2(scale,scale); 17 | gl_FragColor = tex2D(texture0, uv); 18 | } 19 | -------------------------------------------------------------------------------- /shaders/glsl/BA27B443D0A404D8C451EC04083DE00E710CB2E8.glsl: -------------------------------------------------------------------------------- 1 | #define GLITCH_OPENGLES_2 2 | 3 | uniform lowp sampler2D texture0; 4 | 5 | varying mediump vec2 vCoord1; 6 | varying mediump vec2 vCoord2; 7 | varying mediump vec2 vCoord3; 8 | 9 | void main() 10 | { 11 | mediump vec4 b0 = texture2D(texture0, vCoord1); 12 | mediump vec4 b1 = texture2D(texture0, vCoord2); 13 | mediump vec4 b2 = texture2D(texture0, vCoord3); 14 | 15 | gl_FragColor.r = b0.r; 16 | gl_FragColor.g = b1.g; 17 | gl_FragColor.b = b2.b; 18 | } 19 | -------------------------------------------------------------------------------- /shaders/glsl/A5609AD53F829CC74C5159473639A3DB468367AF.glsl: -------------------------------------------------------------------------------- 1 | #define GLITCH_OPENGLES_2 2 | 3 | uniform lowp sampler2D TextureSampler; 4 | uniform lowp sampler2D TextureSampler_alpha; 5 | uniform lowp vec4 DiffuseColor; 6 | 7 | varying highp vec2 vTexCoord0; 8 | varying lowp vec4 vColor0; 9 | 10 | void main() 11 | { 12 | lowp vec4 color; 13 | 14 | color.rgb = texture2D(TextureSampler, vTexCoord0).rgb * vColor0.rgb; 15 | color.a = texture2D(TextureSampler_alpha, vTexCoord0).g * vColor0.a; 16 | 17 | gl_FragColor = color; 18 | } 19 | -------------------------------------------------------------------------------- /shaders/cg/027CD40636AD8A050166F97BA9960BD723B9FABF.cg: -------------------------------------------------------------------------------- 1 | // profile sce_fp_psp2 2 | 3 | #define GLITCH_OPENGLES_2 4 | 5 | uniform sampler2D texture0; 6 | uniform float threshold; 7 | 8 | void main( 9 | float2 vCoord0 : TEXCOORD0, 10 | float4 out gl_FragColor : COLOR 11 | ) { 12 | float4 color = tex2D(texture0, vCoord0); 13 | 14 | float average = 0.33 * (color.r + color.g + color.b) - threshold; 15 | 16 | color.r = max(0.0, average); 17 | color.g = color.r; 18 | color.b = color.r; 19 | 20 | gl_FragColor = color; 21 | } 22 | -------------------------------------------------------------------------------- /shaders/cg/E269C9F4925272A49221628E19F460B7F473EB83.cg: -------------------------------------------------------------------------------- 1 | // profile sce_vp_psp2 2 | 3 | #define GLITCH_OPENGLES_2 4 | 5 | uniform float4x4 WorldViewProjectionMatrix; 6 | uniform float2 texelSize; 7 | 8 | void main( 9 | float4 Vertex, 10 | float2 TexCoord0, 11 | float2 TexCoord1, 12 | float2 out vCoordSource : TEXCOORD5, 13 | float4 out gl_Position : POSITION, 14 | float out gl_PointSize : PSIZE 15 | ) { 16 | gl_PointSize = 1.0f; 17 | vCoordSource = TexCoord1; 18 | gl_Position = mul(Vertex, WorldViewProjectionMatrix); 19 | } 20 | -------------------------------------------------------------------------------- /shaders/glsl/3BB29B057CF9C262CC8999025E52C79793E6691B.glsl: -------------------------------------------------------------------------------- 1 | #define GLITCH_OPENGLES_2 2 | 3 | uniform lowp sampler2D texture0; 4 | uniform lowp sampler2D texture1; 5 | 6 | uniform lowp float scale; 7 | 8 | varying mediump vec2 vCoord0; 9 | 10 | void main() 11 | { 12 | mediump vec2 normal = texture2D(texture1, vCoord0).xy + vec2(-0.498,-0.498); // NOTE: using 0.498 instead of 0.5 to make sure a value of 0x7F will return 0 13 | mediump vec2 uv = vCoord0 + normal * vec2(scale,scale); 14 | gl_FragColor = texture2D(texture0, uv); 15 | } 16 | -------------------------------------------------------------------------------- /shaders/glsl/DCD1DBD70BC96917BF9A985C9AFD1AED35FDC28E.glsl: -------------------------------------------------------------------------------- 1 | #define GLITCH_OPENGLES_2 2 | 3 | uniform lowp sampler2D TextureSampler; 4 | uniform lowp sampler2D TextureSampler_alpha; 5 | uniform lowp vec4 DiffuseColor; 6 | 7 | varying highp vec2 vTexCoord0; 8 | varying lowp vec4 vColor0; 9 | 10 | void main() 11 | { 12 | lowp vec4 color; 13 | 14 | color.a = texture2D(TextureSampler_alpha, vTexCoord0).g * vColor0.a; 15 | color.rgb = texture2D(TextureSampler, vTexCoord0).rgb * vColor0.rgb * color.a; 16 | 17 | gl_FragColor = color; 18 | } -------------------------------------------------------------------------------- /shaders/cg/72B3FE7B31E416C019D4104DB85E955385BD475F.cg: -------------------------------------------------------------------------------- 1 | // profile sce_vp_psp2 2 | 3 | #define GLITCH_OPENGLES_2 4 | 5 | uniform float4x4 WorldViewProjectionMatrix; 6 | uniform float4x4 texturemat0; 7 | 8 | void main( 9 | float4 Vertex, 10 | float2 TexCoord0, 11 | float4 color, 12 | float2 out vCoord0 : TEXCOORD0, 13 | float4 out vColor : TEXCOORD1, 14 | float4 out gl_Position : POSITION 15 | ) { 16 | gl_Position = mul(Vertex, WorldViewProjectionMatrix); 17 | vCoord0 = TexCoord0; 18 | vColor = color; 19 | } 20 | -------------------------------------------------------------------------------- /extras/icons/circle.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /shaders/cg/BA27B443D0A404D8C451EC04083DE00E710CB2E8.cg: -------------------------------------------------------------------------------- 1 | // profile sce_fp_psp2 2 | 3 | #define GLITCH_OPENGLES_2 4 | 5 | uniform sampler2D texture0; 6 | 7 | void main( 8 | float2 vCoord1 : TEXCOORD1, 9 | float2 vCoord2 : TEXCOORD2, 10 | float2 vCoord3 : TEXCOORD3, 11 | float4 out gl_FragColor : COLOR 12 | ) { 13 | float4 b0 = tex2D(texture0, vCoord1); 14 | float4 b1 = tex2D(texture0, vCoord2); 15 | float4 b2 = tex2D(texture0, vCoord3); 16 | 17 | gl_FragColor.r = b0.r; 18 | gl_FragColor.g = b1.g; 19 | gl_FragColor.b = b2.b; 20 | } 21 | -------------------------------------------------------------------------------- /shaders/glsl/6E21224021CB11F89E9E713E76AAA474E2CF943B.glsl: -------------------------------------------------------------------------------- 1 | #define GLITCH_OPENGLES_2 2 | 3 | attribute highp vec4 Vertex; 4 | attribute mediump vec2 TexCoord0; 5 | attribute highp vec4 color; 6 | uniform highp mat4 WorldViewProjectionMatrix; 7 | varying mediump vec2 vCoord0; 8 | varying lowp vec4 vColor; 9 | uniform highp mat4 texturemat0; 10 | 11 | void main() 12 | { 13 | gl_Position = WorldViewProjectionMatrix * Vertex; 14 | vCoord0 = (texturemat0 * vec4(TexCoord0, 1, 0)).xy; 15 | vColor = color; 16 | } 17 | -------------------------------------------------------------------------------- /shaders/glsl/7CCA7577E6A09ABC8C88E4DFE089B9EEB8406087.glsl: -------------------------------------------------------------------------------- 1 | #define GLITCH_OPENGLES_2 2 | 3 | attribute highp vec4 Vertex; 4 | attribute mediump vec2 TexCoord0; 5 | attribute highp vec4 color; 6 | uniform highp mat4 WorldViewProjectionMatrix; 7 | varying mediump vec2 vCoord0; 8 | varying lowp vec4 vColor; 9 | uniform highp mat4 texturemat0; 10 | 11 | void main() 12 | { 13 | gl_Position = WorldViewProjectionMatrix * Vertex; 14 | vCoord0 = (texturemat0 * vec4(TexCoord0, 1, 0)).xy; 15 | vColor = color; 16 | } 17 | -------------------------------------------------------------------------------- /shaders/glsl/2E48A68A721D385FEFE7DAA7F1B3B8B090E98637.glsl: -------------------------------------------------------------------------------- 1 | #define GLITCH_OPENGLES_2 2 | 3 | attribute highp vec4 Vertex; 4 | attribute mediump vec2 TexCoord0; 5 | attribute mediump vec2 TexCoord1; 6 | 7 | uniform highp mat4 WorldViewProjectionMatrix; 8 | uniform mediump vec2 texelSize; 9 | 10 | varying mediump vec2 vCoordSource; 11 | varying mediump vec2 vCoordDecimated; 12 | 13 | void main(void) 14 | { 15 | vCoordDecimated = TexCoord1;// + vec2(0.5 * texelSize.x,0.5 * texelSize.y); 16 | gl_Position = WorldViewProjectionMatrix * Vertex; 17 | } 18 | -------------------------------------------------------------------------------- /shaders/cg/02E2224C93BE494DDE41808058954A6B72760B24.cg: -------------------------------------------------------------------------------- 1 | // profile sce_vp_psp2 2 | 3 | #define GLITCH_OPENGLES_2 4 | 5 | uniform float4x4 WorldViewProjectionMatrix; 6 | 7 | void main( 8 | float4 Position, 9 | float4 Color0, 10 | float2 TexCoord0, 11 | float2 out vTexCoord0 : TEXCOORD0, 12 | float4 out vColor0 : COLOR0, 13 | float4 out gl_Position : POSITION, 14 | float out gl_PointSize : PSIZE 15 | ) { 16 | gl_PointSize = 1.0f; 17 | gl_Position = mul(Position, WorldViewProjectionMatrix); 18 | vColor0 = Color0; 19 | vTexCoord0 = TexCoord0; 20 | } 21 | -------------------------------------------------------------------------------- /shaders/glsl/9F4F668C7715C955E680407795452E5B18DF6D30.glsl: -------------------------------------------------------------------------------- 1 | #define GLITCH_OPENGLES_2 2 | #define ADDITIVE 3 | attribute highp vec4 Vertex; 4 | attribute mediump vec2 TexCoord0; 5 | attribute highp vec4 color; 6 | uniform highp mat4 WorldViewProjectionMatrix; 7 | varying mediump vec2 vCoord0; 8 | varying lowp vec4 vColor; 9 | uniform highp mat4 texturemat0; 10 | 11 | void main() 12 | { 13 | gl_Position = WorldViewProjectionMatrix * Vertex; 14 | vCoord0 = (texturemat0 * vec4(TexCoord0, 1, 0)).xy; 15 | vColor = color; 16 | } -------------------------------------------------------------------------------- /shaders/glsl/B02D045DCE2C27771DF3F96BB0CCBC1DC7EA6D2D.glsl: -------------------------------------------------------------------------------- 1 | #define GLITCH_OPENGLES_2 2 | #define DIFFUSECOLOR 3 | attribute highp vec4 Vertex; 4 | attribute mediump vec2 TexCoord0; 5 | attribute highp vec4 color; 6 | uniform highp mat4 WorldViewProjectionMatrix; 7 | varying mediump vec2 vCoord0; 8 | varying lowp vec4 vColor; 9 | uniform highp mat4 texturemat0; 10 | 11 | void main() 12 | { 13 | gl_Position = WorldViewProjectionMatrix * Vertex; 14 | vCoord0 = (texturemat0 * vec4(TexCoord0, 1, 0)).xy; 15 | vColor = color; 16 | } -------------------------------------------------------------------------------- /shaders/cg/3BB29B057CF9C262CC8999025E52C79793E6691B.cg: -------------------------------------------------------------------------------- 1 | // profile sce_fp_psp2 2 | 3 | #define GLITCH_OPENGLES_2 4 | 5 | uniform sampler2D texture0; 6 | uniform sampler2D texture1; 7 | 8 | uniform float scale; 9 | 10 | void main( 11 | float2 vCoord0 : TEXCOORD0, 12 | float4 out gl_FragColor : COLOR 13 | ) { 14 | float2 normal = tex2D(texture1, vCoord0).xy + float2(-0.498,-0.498); // NOTE: using 0.498 instead of 0.5 to make sure a value of 0x7F will return 0 15 | float2 uv = vCoord0 + normal * float2(scale,scale); 16 | gl_FragColor = tex2D(texture0, uv); 17 | } 18 | -------------------------------------------------------------------------------- /shaders/glsl/02E2224C93BE494DDE41808058954A6B72760B24.glsl: -------------------------------------------------------------------------------- 1 | #define GLITCH_OPENGLES_2 2 | 3 | attribute highp vec4 Position; 4 | attribute lowp vec4 Color0; 5 | 6 | attribute highp vec2 TexCoord0; 7 | varying highp vec2 vTexCoord0; 8 | 9 | uniform highp mat4 WorldViewProjectionMatrix; 10 | 11 | //uniform mediump vec4 DiffuseColor; 12 | 13 | varying lowp vec4 vColor0; 14 | 15 | void main(void) 16 | { 17 | gl_Position = WorldViewProjectionMatrix * Position; 18 | 19 | vColor0 = Color0; 20 | 21 | //vColor0 *= DiffuseColor; 22 | vTexCoord0 = TexCoord0; 23 | } 24 | -------------------------------------------------------------------------------- /shaders/cg/6E21224021CB11F89E9E713E76AAA474E2CF943B.cg: -------------------------------------------------------------------------------- 1 | // profile sce_vp_psp2 2 | 3 | #define GLITCH_OPENGLES_2 4 | 5 | uniform float4x4 WorldViewProjectionMatrix; 6 | uniform float4x4 texturemat0; 7 | 8 | void main( 9 | float4 Vertex, 10 | float2 TexCoord0, 11 | float4 color, 12 | float2 out vCoord0 : TEXCOORD0, 13 | float4 out vColor : TEXCOORD1, 14 | float4 out gl_Position : POSITION 15 | ) { 16 | gl_Position = mul(Vertex, WorldViewProjectionMatrix); 17 | vCoord0 = mul(float4(TexCoord0, 1, 0), texturemat0).xy; 18 | vColor = color; 19 | } 20 | -------------------------------------------------------------------------------- /shaders/cg/7CCA7577E6A09ABC8C88E4DFE089B9EEB8406087.cg: -------------------------------------------------------------------------------- 1 | // profile sce_vp_psp2 2 | 3 | #define GLITCH_OPENGLES_2 4 | 5 | uniform float4x4 WorldViewProjectionMatrix; 6 | uniform float4x4 texturemat0; 7 | 8 | void main( 9 | float4 Vertex, 10 | float2 TexCoord0, 11 | float4 color, 12 | float2 out vCoord0 : TEXCOORD0, 13 | float4 out vColor : TEXCOORD1, 14 | float4 out gl_Position : POSITION 15 | ) { 16 | gl_Position = mul(Vertex, WorldViewProjectionMatrix); 17 | vCoord0 = mul(float4(TexCoord0, 1, 0), texturemat0).xy; 18 | vColor = color; 19 | } 20 | -------------------------------------------------------------------------------- /shaders/cg/A5609AD53F829CC74C5159473639A3DB468367AF.cg: -------------------------------------------------------------------------------- 1 | // profile sce_fp_psp2 2 | 3 | #define GLITCH_OPENGLES_2 4 | 5 | uniform sampler2D TextureSampler; 6 | uniform sampler2D TextureSampler_alpha; 7 | uniform float4 DiffuseColor; 8 | 9 | void main( 10 | float2 vTexCoord0 : TEXCOORD0, 11 | float4 vColor0 : COLOR0, 12 | float4 out gl_FragColor : COLOR 13 | ) { 14 | float4 color; 15 | 16 | color.rgb = tex2D(TextureSampler, vTexCoord0).rgb * vColor0.rgb; 17 | color.a = tex2D(TextureSampler_alpha, vTexCoord0).g * vColor0.a; 18 | 19 | gl_FragColor = color; 20 | } 21 | -------------------------------------------------------------------------------- /shaders/glsl/C8ECA31BC238A01730DB4AAC278CCE5BC7318281.glsl: -------------------------------------------------------------------------------- 1 | #define GLITCH_OPENGLES_2 2 | 3 | 4 | attribute highp vec4 Vertex; 5 | attribute mediump vec2 TexCoord0; 6 | attribute highp vec3 Normal; 7 | attribute lowp vec4 color; 8 | 9 | uniform highp mat4 WorldViewProjectionMatrix; 10 | uniform mediump vec2 uvOffset; 11 | 12 | varying mediump vec2 vCoord0; 13 | varying lowp vec4 vColor; 14 | 15 | void main() 16 | { 17 | vec4 pos = WorldViewProjectionMatrix * Vertex; 18 | vCoord0 = TexCoord0.xy + uvOffset; 19 | vColor = color; 20 | gl_Position = pos; 21 | } 22 | -------------------------------------------------------------------------------- /shaders/glsl/common/common_shader_17.glsl: -------------------------------------------------------------------------------- 1 | uniform lowp sampler2D DiffuseMapSampler; 2 | uniform lowp sampler2D GeneratedWaterNormals; 3 | uniform lowp vec4 DiffuseColor; 4 | 5 | varying mediump vec2 vCoord0; 6 | varying lowp vec4 vColor; 7 | 8 | void main() 9 | { 10 | #ifdef WATER 11 | lowp vec4 color = texture2D(GeneratedWaterNormals, vCoord0) * DiffuseColor; 12 | color.a = vColor.a; 13 | gl_FragColor = color; 14 | #else 15 | lowp vec4 color = texture2D(DiffuseMapSampler, vCoord0); 16 | color.a = vColor.a; 17 | gl_FragColor = color; 18 | #endif 19 | } 20 | -------------------------------------------------------------------------------- /shaders/cg/2E48A68A721D385FEFE7DAA7F1B3B8B090E98637.cg: -------------------------------------------------------------------------------- 1 | // profile sce_vp_psp2 2 | 3 | #define GLITCH_OPENGLES_2 4 | 5 | uniform float4x4 WorldViewProjectionMatrix; 6 | uniform float2 texelSize; 7 | 8 | void main( 9 | float4 Vertex, 10 | float2 TexCoord0, 11 | float2 TexCoord1, 12 | float2 out vCoordSource : TEXCOORD5, 13 | float2 out vCoordDecimated : TEXCOORD4, 14 | float4 out gl_Position : POSITION, 15 | float out gl_PointSize : PSIZE 16 | ) { 17 | gl_PointSize = 1.0f; 18 | vCoordDecimated = TexCoord1; 19 | gl_Position = mul(Vertex, WorldViewProjectionMatrix); 20 | } 21 | -------------------------------------------------------------------------------- /shaders/cg/C8ECA31BC238A01730DB4AAC278CCE5BC7318281.cg: -------------------------------------------------------------------------------- 1 | // profile sce_vp_psp2 2 | 3 | #define GLITCH_OPENGLES_2 4 | 5 | uniform float4x4 WorldViewProjectionMatrix; 6 | uniform float2 uvOffset; 7 | 8 | 9 | void main( 10 | float4 Vertex, 11 | float2 TexCoord0, 12 | float3 Normal, 13 | float4 color, 14 | float2 out vCoord0 : TEXCOORD0, 15 | float4 out vColor : TEXCOORD1, 16 | float4 out gl_Position : POSITION 17 | ) { 18 | float4 pos = mul(Vertex, WorldViewProjectionMatrix); 19 | vCoord0 = TexCoord0.xy + uvOffset; 20 | vColor = color; 21 | gl_Position = pos; 22 | } 23 | -------------------------------------------------------------------------------- /shaders/cg/DCD1DBD70BC96917BF9A985C9AFD1AED35FDC28E.cg: -------------------------------------------------------------------------------- 1 | // profile sce_fp_psp2 2 | 3 | #define GLITCH_OPENGLES_2 4 | 5 | uniform sampler2D TextureSampler; 6 | uniform sampler2D TextureSampler_alpha; 7 | uniform float4 DiffuseColor; 8 | 9 | void main( 10 | float2 vTexCoord0 : TEXCOORD0, 11 | float4 vColor0 : COLOR0, 12 | float4 out gl_FragColor : COLOR 13 | ) { 14 | float4 color; 15 | 16 | color.a = tex2D(TextureSampler_alpha, vTexCoord0).g * vColor0.a; 17 | color.rgb = tex2D(TextureSampler, vTexCoord0).rgb * vColor0.rgb * color.a; 18 | 19 | gl_FragColor = color; 20 | } 21 | -------------------------------------------------------------------------------- /shaders/glsl/551E79EC1CE283D98DDC13F5EA20A43F8BF48C5D.glsl: -------------------------------------------------------------------------------- 1 | #define GLITCH_OPENGLES_2 2 | #define WATER 3 | 4 | attribute highp vec4 Vertex; 5 | attribute mediump vec2 TexCoord0; 6 | attribute highp vec3 Normal; 7 | attribute lowp vec4 color; 8 | 9 | uniform highp mat4 WorldViewProjectionMatrix; 10 | uniform mediump vec2 uvOffset; 11 | 12 | varying mediump vec2 vCoord0; 13 | varying lowp vec4 vColor; 14 | 15 | void main() 16 | { 17 | vec4 pos = WorldViewProjectionMatrix * Vertex; 18 | vCoord0 = TexCoord0.xy + uvOffset; 19 | vColor = color; 20 | gl_Position = pos; 21 | } 22 | -------------------------------------------------------------------------------- /shaders/cg/551E79EC1CE283D98DDC13F5EA20A43F8BF48C5D.cg: -------------------------------------------------------------------------------- 1 | // profile sce_vp_psp2 2 | 3 | #define GLITCH_OPENGLES_2 4 | #define WATER 5 | 6 | uniform float4x4 WorldViewProjectionMatrix; 7 | uniform float2 uvOffset; 8 | 9 | void main( 10 | float4 Vertex, 11 | float2 TexCoord0, 12 | float3 Normal, 13 | float4 color, 14 | float2 out vCoord0 : TEXCOORD0, 15 | float4 out vColor : TEXCOORD1, 16 | float4 out gl_Position : POSITION 17 | ) { 18 | float4 pos = mul(Vertex, WorldViewProjectionMatrix); 19 | vCoord0 = TexCoord0.xy + uvOffset; 20 | vColor = color; 21 | gl_Position = pos; 22 | } 23 | -------------------------------------------------------------------------------- /shaders/cg/9F4F668C7715C955E680407795452E5B18DF6D30.cg: -------------------------------------------------------------------------------- 1 | // profile sce_vp_psp2 2 | 3 | #define GLITCH_OPENGLES_2 4 | #define ADDITIVE 5 | uniform float4x4 WorldViewProjectionMatrix; 6 | uniform float4x4 texturemat0; 7 | 8 | void main( 9 | float4 Vertex, 10 | float2 TexCoord0, 11 | float4 color, 12 | float2 out vCoord0 : TEXCOORD0, 13 | float4 out vColor : TEXCOORD1, 14 | float4 out gl_Position : POSITION 15 | ) { 16 | gl_Position = mul(Vertex, WorldViewProjectionMatrix); 17 | vCoord0 = mul(float4(TexCoord0, 1, 0), texturemat0).xy; 18 | vColor = color; 19 | } 20 | -------------------------------------------------------------------------------- /shaders/common/common_shader_17.cg: -------------------------------------------------------------------------------- 1 | // profile sce_fp_psp2 2 | 3 | uniform sampler2D DiffuseMapSampler; 4 | uniform sampler2D GeneratedWaterNormals; 5 | uniform float4 DiffuseColor; 6 | 7 | void main( 8 | float2 vCoord0 : TEXCOORD0, 9 | float4 vColor : TEXCOORD1, 10 | float4 out gl_FragColor : COLOR 11 | ) { 12 | #ifdef WATER 13 | float4 color = tex2D(GeneratedWaterNormals, vCoord0) * DiffuseColor; 14 | color.a = vColor.a; 15 | gl_FragColor = color; 16 | #else 17 | float4 color = tex2D(DiffuseMapSampler, vCoord0); 18 | color.a = vColor.a; 19 | gl_FragColor = color; 20 | #endif 21 | } 22 | -------------------------------------------------------------------------------- /shaders/cg/B02D045DCE2C27771DF3F96BB0CCBC1DC7EA6D2D.cg: -------------------------------------------------------------------------------- 1 | // profile sce_vp_psp2 2 | 3 | #define GLITCH_OPENGLES_2 4 | 5 | #define DIFFUSECOLOR 6 | 7 | uniform float4x4 WorldViewProjectionMatrix; 8 | uniform float4x4 texturemat0; 9 | 10 | void main( 11 | float4 Vertex, 12 | float2 TexCoord0, 13 | float4 color, 14 | float2 out vCoord0 : TEXCOORD0, 15 | float4 out vColor : TEXCOORD1, 16 | float4 out gl_Position : POSITION 17 | ) { 18 | gl_Position = mul(Vertex, WorldViewProjectionMatrix); 19 | vCoord0 = mul(float4(TexCoord0, 1, 0), texturemat0).xy; 20 | vColor = color; 21 | } 22 | -------------------------------------------------------------------------------- /shaders/glsl/0D60B044FB5332BAC699DD4CFCFDD268C98F48BC.glsl: -------------------------------------------------------------------------------- 1 | #define GLITCH_OPENGLES_2 2 | 3 | attribute highp vec4 Vertex; 4 | attribute mediump vec2 TexCoord0; 5 | 6 | uniform highp mat4 WorldViewProjectionMatrix; 7 | uniform mediump float texelSize; 8 | uniform mediump float resizedTexelSize; 9 | 10 | varying mediump vec2 vCoord0; 11 | varying mediump vec2 vCoord1; 12 | 13 | void main(void) 14 | { 15 | vCoord0 = TexCoord0 + vec2(0.5 * texelSize,0.5 * texelSize); 16 | vCoord1 = TexCoord0;// + vec2(0.5 * resizedTexelSize,0.5 * resizedTexelSize); 17 | 18 | gl_Position = WorldViewProjectionMatrix * Vertex; 19 | } 20 | -------------------------------------------------------------------------------- /shaders/glsl/412FC0A6A3242B9864C98947946679C28D5DE90D.glsl: -------------------------------------------------------------------------------- 1 | #define GLITCH_OPENGLES_2 2 | 3 | attribute highp vec4 Vertex; 4 | attribute mediump vec2 TexCoord0; 5 | 6 | uniform highp mat4 WorldViewProjectionMatrix; 7 | uniform highp float offsetX; 8 | uniform highp float offsetY; 9 | uniform highp float uvScale; 10 | 11 | varying mediump vec2 vCoord0; 12 | varying mediump vec2 vCoord1; 13 | 14 | void main(void) 15 | { 16 | mediump vec2 uv = TexCoord0; 17 | vCoord0 = uv; 18 | vCoord1 = (uv + vec2(-0.5,-0.5) + vec2(offsetX,offsetY))*uvScale + vec2(0.5,0.5); 19 | gl_Position = WorldViewProjectionMatrix * Vertex; 20 | } 21 | -------------------------------------------------------------------------------- /shaders/glsl/42C560E5CCFE7E6F8CC15EEFEAA65AA2BAEE175B.glsl: -------------------------------------------------------------------------------- 1 | #define GLITCH_OPENGLES_2 2 | 3 | uniform lowp sampler2D texture0; 4 | 5 | varying mediump vec2 vCoord0; 6 | varying mediump vec2 vCoord1; 7 | varying mediump vec2 vCoord2; 8 | varying mediump vec2 vCoord3; 9 | varying mediump vec2 vCoord4; 10 | 11 | void main() 12 | { 13 | lowp vec4 color = 0.2 * texture2D(texture0, vCoord0); 14 | color += 0.2 * texture2D(texture0, vCoord1); 15 | color += 0.2 * texture2D(texture0, vCoord2); 16 | color += 0.2 * texture2D(texture0, vCoord3); 17 | color += 0.2 * texture2D(texture0, vCoord4); 18 | 19 | gl_FragColor = color; 20 | } 21 | 22 | -------------------------------------------------------------------------------- /extras/icons/joystick-left.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /shaders/glsl/0D2665162A6833543970D2850CE4AFA4D9FE3C72.glsl: -------------------------------------------------------------------------------- 1 | #define GLITCH_OPENGLES_2 2 | 3 | attribute highp vec4 Vertex; 4 | attribute mediump vec2 TexCoord0; 5 | 6 | uniform highp mat4 WorldViewProjectionMatrix; 7 | uniform highp float offsetX; 8 | uniform highp float offsetY; 9 | 10 | varying mediump vec2 vCoord1; 11 | varying mediump vec2 vCoord2; 12 | varying mediump vec2 vCoord3; 13 | 14 | void main(void) 15 | { 16 | mediump vec2 uv = TexCoord0; 17 | vCoord1 = uv + vec2(offsetX, 0); 18 | vCoord2 = uv + vec2(-offsetX, 0); 19 | vCoord3 = uv + vec2(0, offsetY); 20 | gl_Position = WorldViewProjectionMatrix * Vertex; 21 | } 22 | -------------------------------------------------------------------------------- /shaders/cg/0D60B044FB5332BAC699DD4CFCFDD268C98F48BC.cg: -------------------------------------------------------------------------------- 1 | // profile sce_vp_psp2 2 | 3 | #define GLITCH_OPENGLES_2 4 | 5 | uniform float4x4 WorldViewProjectionMatrix; 6 | uniform float texelSize; 7 | uniform float resizedTexelSize; 8 | 9 | void main( 10 | float4 Vertex, 11 | float2 TexCoord0, 12 | float2 out vCoord0 : TEXCOORD0, 13 | float2 out vCoord1 : TEXCOORD1, 14 | float4 out gl_Position : POSITION, 15 | float out gl_PointSize : PSIZE 16 | ) { 17 | gl_PointSize = 1.0f; 18 | vCoord0 = TexCoord0 + float2(0.5 * texelSize,0.5 * texelSize); 19 | vCoord1 = TexCoord0; 20 | 21 | gl_Position = mul(Vertex, WorldViewProjectionMatrix); 22 | } 23 | -------------------------------------------------------------------------------- /source/utils/init.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2022-2024 Volodymyr Atamanenko 3 | * 4 | * This software may be modified and distributed under the terms 5 | * of the MIT license. See the LICENSE file for details. 6 | */ 7 | 8 | /** 9 | * @file init.h 10 | * @brief so-loader initialization routines. 11 | */ 12 | 13 | #ifndef SOLOADER_INIT_H 14 | #define SOLOADER_INIT_H 15 | 16 | #include 17 | 18 | #ifdef __cplusplus 19 | extern "C" { 20 | #endif 21 | 22 | void resolve_imports(so_module *mod); 23 | 24 | void so_patch(); 25 | 26 | void soloader_init_all(); 27 | 28 | #ifdef __cplusplus 29 | }; 30 | #endif 31 | 32 | #endif // SOLOADER_INIT_H 33 | -------------------------------------------------------------------------------- /shaders/cg/42C560E5CCFE7E6F8CC15EEFEAA65AA2BAEE175B.cg: -------------------------------------------------------------------------------- 1 | // profile sce_fp_psp2 2 | 3 | #define GLITCH_OPENGLES_2 4 | 5 | uniform sampler2D texture0; 6 | 7 | void main( 8 | float2 vCoord0 : TEXCOORD0, 9 | float2 vCoord1 : TEXCOORD1, 10 | float2 vCoord2 : TEXCOORD2, 11 | float2 vCoord3 : TEXCOORD3, 12 | float2 vCoord4 : TEXCOORD4, 13 | float4 out gl_FragColor : COLOR 14 | ) { 15 | float4 color = 0.2 * tex2D(texture0, vCoord0); 16 | color += 0.2 * tex2D(texture0, vCoord1); 17 | color += 0.2 * tex2D(texture0, vCoord2); 18 | color += 0.2 * tex2D(texture0, vCoord3); 19 | color += 0.2 * tex2D(texture0, vCoord4); 20 | 21 | gl_FragColor = color; 22 | } 23 | -------------------------------------------------------------------------------- /shaders/glsl/BF648C749EC4C79A1D6DA27580A286569073CAAB.glsl: -------------------------------------------------------------------------------- 1 | #define GLITCH_OPENGLES_2 2 | 3 | uniform lowp sampler2D texture0; 4 | uniform lowp float scale; 5 | 6 | varying mediump vec2 vCoord0; 7 | varying mediump vec2 vCoord1; 8 | varying mediump vec2 vCoord2; 9 | varying mediump vec2 vCoord3; 10 | varying mediump vec2 vCoord4; 11 | 12 | void main() 13 | { 14 | lowp vec4 color = scale * texture2D(texture0, vCoord0); 15 | color += scale * texture2D(texture0, vCoord1); 16 | color += scale * texture2D(texture0, vCoord2); 17 | color += scale * texture2D(texture0, vCoord3); 18 | color += scale * texture2D(texture0, vCoord4); 19 | gl_FragColor = color; 20 | } 21 | -------------------------------------------------------------------------------- /shaders/cg/BF648C749EC4C79A1D6DA27580A286569073CAAB.cg: -------------------------------------------------------------------------------- 1 | // profile sce_fp_psp2 2 | 3 | #define GLITCH_OPENGLES_2 4 | 5 | uniform sampler2D texture0; 6 | uniform float scale; 7 | 8 | void main( 9 | float2 vCoord0 : TEXCOORD0, 10 | float2 vCoord1 : TEXCOORD1, 11 | float2 vCoord2 : TEXCOORD2, 12 | float2 vCoord3 : TEXCOORD3, 13 | float2 vCoord4 : TEXCOORD4, 14 | float4 out gl_FragColor : COLOR 15 | ) { 16 | float4 color = scale * tex2D(texture0, vCoord0); 17 | color += scale * tex2D(texture0, vCoord1); 18 | color += scale * tex2D(texture0, vCoord2); 19 | color += scale * tex2D(texture0, vCoord3); 20 | color += scale * tex2D(texture0, vCoord4); 21 | gl_FragColor = color; 22 | } 23 | -------------------------------------------------------------------------------- /shaders/cg/412FC0A6A3242B9864C98947946679C28D5DE90D.cg: -------------------------------------------------------------------------------- 1 | // profile sce_vp_psp2 2 | 3 | #define GLITCH_OPENGLES_2 4 | 5 | uniform float4x4 WorldViewProjectionMatrix; 6 | uniform float offsetX; 7 | uniform float offsetY; 8 | uniform float uvScale; 9 | 10 | void main( 11 | float4 Vertex, 12 | float2 TexCoord0, 13 | float2 out vCoord0 : TEXCOORD0, 14 | float2 out vCoord1 : TEXCOORD1, 15 | float4 out gl_Position : POSITION, 16 | float out gl_PointSize : PSIZE 17 | ) { 18 | gl_PointSize = 1.0f; 19 | float2 uv = TexCoord0; 20 | vCoord0 = uv; 21 | vCoord1 = (uv + float2(-0.5,-0.5) + float2(offsetX,offsetY))*uvScale + float2(0.5,0.5); 22 | gl_Position = mul(Vertex, WorldViewProjectionMatrix); 23 | } 24 | -------------------------------------------------------------------------------- /shaders/cg/B7AA541F2DE1F536A36427B4C88AA79E9B3B373F.cg: -------------------------------------------------------------------------------- 1 | // profile sce_fp_psp2 2 | 3 | #define GLITCH_OPENGLES_2 4 | 5 | uniform sampler2D texture0; 6 | uniform sampler2D texture1; 7 | uniform float threshold; 8 | uniform float bloomFactor; 9 | 10 | uniform float texelSize; 11 | uniform float resizedTexelSize; 12 | 13 | float4 screen(float4 a, float4 b) 14 | { 15 | return b + (a * (1.0-b)); 16 | } 17 | 18 | void main( 19 | float2 vCoord0 : TEXCOORD0, 20 | float2 vCoord1 : TEXCOORD1, 21 | float4 out gl_FragColor : COLOR 22 | ) { 23 | float4 color = tex2D(texture0, vCoord0); 24 | float4 bloom = tex2D(texture1, vCoord1); 25 | 26 | color = screen(color, bloom*1.1); 27 | 28 | gl_FragColor = color; 29 | } 30 | -------------------------------------------------------------------------------- /shaders/cg/0D2665162A6833543970D2850CE4AFA4D9FE3C72.cg: -------------------------------------------------------------------------------- 1 | // profile sce_vp_psp2 2 | 3 | #define GLITCH_OPENGLES_2 4 | 5 | uniform float4x4 WorldViewProjectionMatrix; 6 | uniform float offsetX; 7 | uniform float offsetY; 8 | 9 | void main( 10 | float4 Vertex, 11 | float2 TexCoord0, 12 | float2 out vCoord1 : TEXCOORD1, 13 | float2 out vCoord2 : TEXCOORD2, 14 | float2 out vCoord3 : TEXCOORD3, 15 | float4 out gl_Position : POSITION, 16 | float out gl_PointSize : PSIZE 17 | ) { 18 | gl_PointSize = 1.0f; 19 | float2 uv = TexCoord0; 20 | vCoord1 = uv + float2(offsetX, 0); 21 | vCoord2 = uv + float2(-offsetX, 0); 22 | vCoord3 = uv + float2(0, offsetY); 23 | gl_Position = mul(Vertex, WorldViewProjectionMatrix); 24 | } 25 | -------------------------------------------------------------------------------- /source/utils/settings.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2022-2023 Volodymyr Atamanenko 3 | * 4 | * This software may be modified and distributed under the terms 5 | * of the MIT license. See the LICENSE file for details. 6 | */ 7 | 8 | /** 9 | * @file settings.h 10 | * @brief Loader settings that can be set via a configurator app. 11 | */ 12 | 13 | #ifndef SOLOADER_SETTINGS_H 14 | #define SOLOADER_SETTINGS_H 15 | 16 | #include "stdbool.h" 17 | 18 | #ifdef __cplusplus 19 | extern "C" { 20 | #endif 21 | 22 | extern int setting_sampleSetting; 23 | extern bool setting_sampleSetting2; 24 | 25 | void settings_load(); 26 | void settings_save(); 27 | void settings_reset(); 28 | 29 | #ifdef __cplusplus 30 | }; 31 | #endif 32 | 33 | #endif // SOLOADER_SETTINGS_H 34 | -------------------------------------------------------------------------------- /lib/pthread-svelte/source/once.c: -------------------------------------------------------------------------------- 1 | #include "_pthread-svelte_internal.h" 2 | 3 | static SceKernelLwMutexWork _once_mutex = {{ MAGIC_NOT_INITED }}; 4 | 5 | int pthread_svelte_once(pthread_svelte_once_t *once_control, void (*init_routine) (void)) { 6 | pthread_svelte_once_t once; 7 | 8 | if (once_control == NULL || init_routine == NULL) { 9 | return EINVAL; 10 | } 11 | 12 | if (_once_mutex.data[0] == MAGIC_NOT_INITED) { 13 | sceKernelCreateLwMutex(&_once_mutex, "pthread_once_mutex", 0, 0, NULL); 14 | } 15 | 16 | sceKernelLockLwMutex(&_once_mutex, 1, NULL); 17 | 18 | once = *once_control; 19 | *once_control = 1; 20 | 21 | sceKernelUnlockLwMutex(&_once_mutex, 1); 22 | 23 | if (!once) { 24 | init_routine(); 25 | } 26 | 27 | return 0; 28 | } 29 | -------------------------------------------------------------------------------- /shaders/common/common_shader_7.cg: -------------------------------------------------------------------------------- 1 | // profile sce_fp_psp2 2 | 3 | uniform sampler2D texture0; 4 | 5 | 6 | void main( 7 | float2 vCoord0 : TEXCOORD0, 8 | float2 vCoord1 : TEXCOORD1, 9 | float2 vCoord2 : TEXCOORD2, 10 | float2 vCoord3 : TEXCOORD3, 11 | float2 vCoord4 : TEXCOORD4, 12 | float4 out gl_FragColor : COLOR 13 | ) { 14 | #ifdef LOW 15 | float4 color = 0.34 * tex2D(texture0, vCoord0); 16 | color += 0.33 * tex2D(texture0, vCoord1); 17 | color += 0.33 * tex2D(texture0, vCoord2); 18 | #else 19 | float4 color = 0.2 * tex2D(texture0, vCoord0); 20 | color += 0.2 * tex2D(texture0, vCoord1); 21 | color += 0.2 * tex2D(texture0, vCoord2); 22 | color += 0.2 * tex2D(texture0, vCoord3); 23 | color += 0.2 * tex2D(texture0, vCoord4); 24 | #endif 25 | gl_FragColor = color; 26 | } 27 | -------------------------------------------------------------------------------- /source/utils/trophies.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2023 Rinnegatamante 3 | * Copyright (C) 2023-2024 Volodymyr Atamanenko 4 | * 5 | * This software may be modified and distributed under the terms 6 | * of the MIT license. See the LICENSE file for details. 7 | */ 8 | 9 | /** 10 | * @file trophies.h 11 | * @brief Provides methods to work with native trophies using NoTrpDrm 12 | */ 13 | 14 | #ifndef SOLOADER_TROPHIES_H 15 | #define SOLOADER_TROPHIES_H 16 | 17 | #include "stdbool.h" 18 | #include "stdint.h" 19 | 20 | #ifdef __cplusplus 21 | extern "C" { 22 | #endif 23 | 24 | int trophies_init(); 25 | void trophies_unlock(uint32_t id); 26 | bool trophies_is_unlocked(uint32_t id); 27 | 28 | #ifdef __cplusplus 29 | } 30 | #endif 31 | 32 | #endif // SOLOADER_TROPHIES_H 33 | -------------------------------------------------------------------------------- /shaders/glsl/common/common_shader_18.glsl: -------------------------------------------------------------------------------- 1 | uniform lowp sampler2D Sampler0; 2 | uniform lowp vec4 DiffuseColor; 3 | varying mediump vec2 vCoord0; 4 | varying lowp vec4 vColor; 5 | 6 | #define USE_ALPHA_TEXTURE 7 | 8 | #ifdef USE_ALPHA_TEXTURE 9 | uniform lowp sampler2D Sampler0_alpha; 10 | #endif 11 | 12 | void main() 13 | { 14 | #ifdef USE_ALPHA_TEXTURE 15 | lowp vec4 color = vec4(texture2D(Sampler0, vCoord0).rgb, 16 | texture2D(Sampler0_alpha, vCoord0).g); 17 | #else 18 | lowp vec4 color = texture2D(Sampler0, vCoord0); 19 | #endif 20 | 21 | #ifdef DIFFUSECOLOR 22 | color *= DiffuseColor; 23 | #endif 24 | color *= vColor; 25 | #ifdef DIFFUSECOLOR 26 | gl_FragColor = color * 0.001 + vec4(1,0,0,1); 27 | #endif 28 | gl_FragColor = color; 29 | 30 | } 31 | -------------------------------------------------------------------------------- /shaders/glsl/common/common_shader_7.glsl: -------------------------------------------------------------------------------- 1 | uniform lowp sampler2D texture0; 2 | 3 | varying mediump vec2 vCoord0; 4 | varying mediump vec2 vCoord1; 5 | varying mediump vec2 vCoord2; 6 | varying mediump vec2 vCoord3; 7 | varying mediump vec2 vCoord4; 8 | 9 | void main() 10 | { 11 | #ifdef LOW 12 | lowp vec4 color = 0.34 * texture2D(texture0, vCoord0); 13 | color += 0.33 * texture2D(texture0, vCoord1); 14 | color += 0.33 * texture2D(texture0, vCoord2); 15 | #else 16 | lowp vec4 color = 0.2 * texture2D(texture0, vCoord0); 17 | color += 0.2 * texture2D(texture0, vCoord1); 18 | color += 0.2 * texture2D(texture0, vCoord2); 19 | color += 0.2 * texture2D(texture0, vCoord3); 20 | color += 0.2 * texture2D(texture0, vCoord4); 21 | #endif 22 | gl_FragColor = color; 23 | } 24 | -------------------------------------------------------------------------------- /shaders/glsl/B7AA541F2DE1F536A36427B4C88AA79E9B3B373F.glsl: -------------------------------------------------------------------------------- 1 | #define GLITCH_OPENGLES_2 2 | 3 | uniform lowp sampler2D texture0; 4 | uniform lowp sampler2D texture1; 5 | uniform lowp float threshold; 6 | uniform lowp float bloomFactor; 7 | 8 | 9 | varying mediump vec2 vCoord0; 10 | varying mediump vec2 vCoord1; 11 | uniform mediump float texelSize; 12 | uniform mediump float resizedTexelSize; 13 | 14 | lowp vec4 screen(lowp vec4 a, lowp vec4 b) 15 | { 16 | return b + (a * (1.0-b)); 17 | } 18 | 19 | void main() 20 | { 21 | 22 | 23 | lowp vec4 color = texture2D(texture0, vCoord0); 24 | lowp vec4 bloom = texture2D(texture1, vCoord1); 25 | //bloom *= bloom; 26 | //bloom *= bloom; 27 | //bloom *= bloom; 28 | 29 | color = screen(color, bloom*1.1); 30 | 31 | gl_FragColor = color; 32 | } 33 | -------------------------------------------------------------------------------- /shaders/common/common_shader_18.cg: -------------------------------------------------------------------------------- 1 | // profile sce_fp_psp2 2 | 3 | uniform sampler2D Sampler0; 4 | uniform float4 DiffuseColor; 5 | 6 | #define USE_ALPHA_TEXTURE 7 | 8 | #ifdef USE_ALPHA_TEXTURE 9 | uniform sampler2D Sampler0_alpha; 10 | #endif 11 | 12 | void main( 13 | float2 vCoord0 : TEXCOORD0, 14 | float4 vColor : TEXCOORD1, 15 | float4 out gl_FragColor : COLOR 16 | ) { 17 | #ifdef USE_ALPHA_TEXTURE 18 | float4 color = float4(tex2D(Sampler0, vCoord0).rgb, 19 | tex2D(Sampler0_alpha, vCoord0).g); 20 | #else 21 | float4 color = tex2D(Sampler0, vCoord0); 22 | #endif 23 | 24 | #ifdef DIFFUSECOLOR 25 | color *= DiffuseColor; 26 | #endif 27 | color *= vColor; 28 | #ifdef DIFFUSECOLOR 29 | gl_FragColor = color * 0.001 + float4(1,0,0,1); 30 | #endif 31 | gl_FragColor = color; 32 | 33 | } 34 | -------------------------------------------------------------------------------- /shaders/glsl/D6400621E30A0C5FAFC1BDA85B8066D4430027F4.glsl: -------------------------------------------------------------------------------- 1 | #define GLITCH_OPENGLES_2 2 | 3 | attribute highp vec4 Vertex; 4 | attribute mediump vec2 TexCoord0; 5 | 6 | uniform highp mat4 WorldViewProjectionMatrix; 7 | 8 | uniform mediump vec2 center; 9 | uniform mediump float scale; 10 | 11 | varying mediump vec2 vCoord0; 12 | varying mediump vec2 vCoord1; 13 | varying mediump vec2 vCoord2; 14 | varying mediump vec2 vCoord3; 15 | varying mediump vec2 vCoord4; 16 | 17 | void main(void) 18 | { 19 | vCoord0 = TexCoord0; 20 | mediump vec2 v0c = (vCoord0 - center); 21 | vCoord1 = (1.0 + scale) * v0c + center; 22 | vCoord2 = (1.0 + 2.0*scale) * v0c + center; 23 | vCoord3 = (1.0 + 3.0*scale) * v0c + center; 24 | vCoord4 = (1.0 + 4.0*scale) * v0c + center; 25 | 26 | gl_Position = WorldViewProjectionMatrix * Vertex; 27 | } 28 | -------------------------------------------------------------------------------- /shaders/glsl/FC3467DD308D91CD0EE31632B4E536471B64F520.glsl: -------------------------------------------------------------------------------- 1 | #define GLITCH_OPENGLES_2 2 | 3 | attribute highp vec4 Vertex; 4 | attribute mediump vec2 TexCoord0; 5 | 6 | uniform highp mat4 WorldViewProjectionMatrix; 7 | uniform highp float blurOffsetX; 8 | uniform highp float blurOffsetY; 9 | 10 | varying mediump vec2 vCoord0; 11 | varying mediump vec2 vCoord1; 12 | varying mediump vec2 vCoord2; 13 | varying mediump vec2 vCoord3; 14 | varying mediump vec2 vCoord4; 15 | 16 | void main(void) 17 | { 18 | mediump vec2 uv = TexCoord0; 19 | vCoord0 = uv; 20 | vCoord1 = uv + vec2(blurOffsetX, blurOffsetY); 21 | vCoord2 = uv + vec2(blurOffsetX, -blurOffsetY); 22 | vCoord3 = uv + vec2(-blurOffsetX, blurOffsetY); 23 | vCoord4 = uv + vec2(-blurOffsetX, -blurOffsetY); 24 | gl_Position = WorldViewProjectionMatrix * Vertex; 25 | } 26 | -------------------------------------------------------------------------------- /lib/libc_bridge/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | cmake_minimum_required(VERSION 3.0) 2 | 3 | if(NOT DEFINED CMAKE_TOOLCHAIN_FILE) 4 | if(DEFINED ENV{VITASDK}) 5 | set(CMAKE_TOOLCHAIN_FILE "$ENV{VITASDK}/share/vita.toolchain.cmake" CACHE PATH "toolchain file") 6 | else() 7 | message(FATAL_ERROR "Please define VITASDK to point to your SDK path!") 8 | endif() 9 | endif() 10 | 11 | project(SceLibcBridge) 12 | include("${VITASDK}/share/vita.cmake" REQUIRED) 13 | 14 | add_custom_target(SceLibcBridge ALL 15 | COMMAND vita-libs-gen ${CMAKE_CURRENT_SOURCE_DIR}/nids.yml ${CMAKE_CURRENT_BINARY_DIR}/stubs 16 | COMMAND make -C ${CMAKE_CURRENT_BINARY_DIR}/stubs 17 | COMMENT "Building stubs for SceLibcBridge" 18 | ) 19 | 20 | install(DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/stubs/ 21 | DESTINATION lib 22 | FILES_MATCHING PATTERN "*.a" 23 | ) 24 | -------------------------------------------------------------------------------- /shaders/glsl/0D0FA314FC42DB4CEFAE7289ED85306E60F72E7C.glsl: -------------------------------------------------------------------------------- 1 | #define GLITCH_OPENGLES_2 2 | 3 | attribute highp vec4 Vertex; 4 | attribute mediump vec2 TexCoord0; 5 | 6 | uniform highp mat4 WorldViewProjectionMatrix; 7 | uniform highp float blurOffsetX; 8 | uniform highp float blurOffsetY; 9 | 10 | varying mediump vec2 vCoord0; 11 | varying mediump vec2 vCoord1; 12 | varying mediump vec2 vCoord2; 13 | varying mediump vec2 vCoord3; 14 | varying mediump vec2 vCoord4; 15 | 16 | void main(void) 17 | { 18 | mediump vec2 uv = TexCoord0; 19 | vCoord0 = uv; 20 | vCoord1 = uv + 1.0 * vec2(blurOffsetX, blurOffsetY); 21 | vCoord2 = uv + 2.0 * vec2(blurOffsetX, blurOffsetY); 22 | vCoord3 = uv + 3.0 * vec2(blurOffsetX, blurOffsetY); 23 | vCoord4 = uv + 4.0 * vec2(blurOffsetX, blurOffsetY); 24 | gl_Position = WorldViewProjectionMatrix * Vertex; 25 | } 26 | -------------------------------------------------------------------------------- /shaders/glsl/E920196A0695563A56F98225FA768B76BF11FD54.glsl: -------------------------------------------------------------------------------- 1 | #define GLITCH_OPENGLES_2 2 | 3 | attribute highp vec4 Vertex; 4 | attribute mediump vec2 TexCoord0; 5 | 6 | uniform highp mat4 WorldViewProjectionMatrix; 7 | 8 | uniform mediump vec2 center; 9 | uniform mediump float scale; 10 | 11 | varying mediump vec2 vCoord0; 12 | varying mediump vec2 vCoord1; 13 | varying mediump vec2 vCoord2; 14 | varying mediump vec2 vCoord3; 15 | varying mediump vec2 vCoord4; 16 | 17 | varying mediump vec2 v0c; 18 | 19 | void main(void) 20 | { 21 | vCoord0 = TexCoord0; 22 | v0c = (vCoord0 - center); 23 | vCoord1 = (1.0 + scale) * v0c + center; 24 | vCoord2 = (1.0 + 2.0*scale) * v0c + center; 25 | vCoord3 = (1.0 + 3.0*scale) * v0c + center; 26 | vCoord4 = (1.0 + 4.0*scale) * v0c + center; 27 | 28 | gl_Position = WorldViewProjectionMatrix * Vertex; 29 | } 30 | -------------------------------------------------------------------------------- /source/reimpl/mem.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2021 Andy Nguyen 3 | * Copyright (C) 2022 Rinnegatamante 4 | * Copyright (C) 2022-2023 Volodymyr Atamanenko 5 | * 6 | * This software may be modified and distributed under the terms 7 | * of the MIT license. See the LICENSE file for details. 8 | */ 9 | 10 | /** 11 | * @file mem.h 12 | * @brief Implementations and wrappers for memory-related functions. 13 | */ 14 | 15 | #ifndef SOLOADER_MEM_H 16 | #define SOLOADER_MEM_H 17 | 18 | #ifdef __cplusplus 19 | extern "C" { 20 | #endif 21 | 22 | #include 23 | 24 | #define MAP_FAILED (void*)-1 25 | 26 | void *sceClibMemclr(void *dst, size_t len); 27 | 28 | void *mmap(void *addr, size_t length, int prot, int flags, int fd, off_t offs); 29 | 30 | int munmap(void *addr, size_t length); 31 | 32 | #ifdef __cplusplus 33 | }; 34 | #endif 35 | 36 | #endif // SOLOADER_MEM_H 37 | -------------------------------------------------------------------------------- /shaders/common/common_shader_4.cg: -------------------------------------------------------------------------------- 1 | // profile sce_vp_psp2 2 | 3 | #define TEXTURE_1D 0 4 | #define TEXTURE_2D 1 5 | #define TEXTURE_3D 2 6 | #define TEXTURE_CUBE_MAP 3 7 | #define TEXTURE_RECT 4 8 | 9 | #ifndef TEXTURE_TYPE 10 | #define TEXTURE_TYPE TEXTURE_2D 11 | #endif 12 | 13 | #if TEXTURE_TYPE == TEXTURE_3D 14 | #undef TEXTURE_TYPE 15 | #define TEXTURE_TYPE TEXTURE_2D 16 | #elif TEXTURE_TYPE == TEXTURE_RECT 17 | #undef TEXTURE_TYPE 18 | #define TEXTURE_TYPE TEXTURE_2D 19 | #endif 20 | 21 | void main( 22 | float4 Vertex, 23 | #if TEXTURE_TYPE == TEXTURE_CUBE_MAP 24 | float3 TexCoord0, 25 | float3 out vCoord0 : TEXCOORD0, 26 | #else 27 | float2 TexCoord0, 28 | float2 out vCoord0 : TEXCOORD0, 29 | #endif 30 | float4 out gl_Position : POSITION, 31 | float out gl_PointSize : PSIZE 32 | ) { 33 | gl_PointSize = 1.0f; 34 | vCoord0 = TexCoord0; 35 | gl_Position = Vertex; 36 | } 37 | -------------------------------------------------------------------------------- /source/utils/glutil.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2021 Andy Nguyen 3 | * Copyright (C) 2021 Rinnegatamante 4 | * Copyright (C) 2022-2023 Volodymyr Atamanenko 5 | * 6 | * This software may be modified and distributed under the terms 7 | * of the MIT license. See the LICENSE file for details. 8 | */ 9 | 10 | /** 11 | * @file glutil.h 12 | * @brief OpenGL API initializer, related functions. 13 | */ 14 | 15 | #ifndef SOLOADER_GLUTIL_H 16 | #define SOLOADER_GLUTIL_H 17 | 18 | #include 19 | 20 | #ifdef __cplusplus 21 | extern "C" { 22 | #endif 23 | 24 | void gl_init(); 25 | 26 | void gl_preload(); 27 | 28 | void gl_swap(); 29 | 30 | void glCompileShader_soloader(GLuint shader); 31 | 32 | void glShaderSource_soloader(GLuint shader, GLsizei count, 33 | const GLchar **string, const GLint *_length); 34 | 35 | #ifdef __cplusplus 36 | }; 37 | #endif 38 | 39 | #endif // SOLOADER_GLUTIL_H 40 | -------------------------------------------------------------------------------- /shaders/cg/73720BD1506ACB2FE9EAF75BE77F6B9A01D96091.cg: -------------------------------------------------------------------------------- 1 | // profile sce_fp_psp2 2 | 3 | #define GLITCH_OPENGLES_2 4 | 5 | uniform sampler2D texture0; 6 | uniform sampler2D depthTexture; 7 | 8 | uniform float focus; 9 | uniform float scale; 10 | 11 | void main( 12 | float2 vCoord0 : TEXCOORD0, 13 | float2 vCoord1 : TEXCOORD1, 14 | float2 vCoord2 : TEXCOORD2, 15 | float2 vCoord3 : TEXCOORD3, 16 | float2 vCoord4 : TEXCOORD4, 17 | float4 out gl_FragColor : COLOR 18 | ) { 19 | float depth = tex2D(depthTexture, vCoord0).r; 20 | float z = abs(depth - focus) * scale; 21 | 22 | float w1 = 0.2 * z; 23 | float w0 = (1.0 - 4.0 * w1); 24 | 25 | float4 color = w0 * tex2D(texture0, vCoord0); 26 | color += w1 * tex2D(texture0, vCoord1); 27 | color += w1 * tex2D(texture0, vCoord2); 28 | color += w1 * tex2D(texture0, vCoord3); 29 | color += w1 * tex2D(texture0, vCoord4); 30 | 31 | gl_FragColor = color; 32 | } 33 | -------------------------------------------------------------------------------- /shaders/cg/D6400621E30A0C5FAFC1BDA85B8066D4430027F4.cg: -------------------------------------------------------------------------------- 1 | // profile sce_vp_psp2 2 | 3 | #define GLITCH_OPENGLES_2 4 | 5 | uniform float4x4 WorldViewProjectionMatrix; 6 | 7 | uniform float2 center; 8 | uniform float scale; 9 | 10 | void main( 11 | float4 Vertex, 12 | float2 TexCoord0, 13 | float2 out vCoord0 : TEXCOORD0, 14 | float2 out vCoord1 : TEXCOORD1, 15 | float2 out vCoord2 : TEXCOORD2, 16 | float2 out vCoord3 : TEXCOORD3, 17 | float2 out vCoord4 : TEXCOORD4, 18 | float4 out gl_Position : POSITION, 19 | float out gl_PointSize : PSIZE 20 | ) { 21 | gl_PointSize = 1.0f; 22 | vCoord0 = TexCoord0; 23 | float2 v0c = (vCoord0 - center); 24 | vCoord1 = (1.0 + scale) * v0c + center; 25 | vCoord2 = (1.0 + 2.0*scale) * v0c + center; 26 | vCoord3 = (1.0 + 3.0*scale) * v0c + center; 27 | vCoord4 = (1.0 + 4.0*scale) * v0c + center; 28 | 29 | gl_Position = mul(Vertex, WorldViewProjectionMatrix); 30 | } 31 | -------------------------------------------------------------------------------- /shaders/cg/FC3467DD308D91CD0EE31632B4E536471B64F520.cg: -------------------------------------------------------------------------------- 1 | // profile sce_vp_psp2 2 | 3 | #define GLITCH_OPENGLES_2 4 | 5 | uniform float4x4 WorldViewProjectionMatrix; 6 | uniform float blurOffsetX; 7 | uniform float blurOffsetY; 8 | 9 | void main( 10 | float4 Vertex, 11 | float2 TexCoord0, 12 | float2 out vCoord0 : TEXCOORD0, 13 | float2 out vCoord1 : TEXCOORD1, 14 | float2 out vCoord2 : TEXCOORD2, 15 | float2 out vCoord3 : TEXCOORD3, 16 | float2 out vCoord4 : TEXCOORD4, 17 | float4 out gl_Position : POSITION, 18 | float out gl_PointSize : PSIZE 19 | ) { 20 | gl_PointSize = 1.0f; 21 | float2 uv = TexCoord0; 22 | vCoord0 = uv; 23 | vCoord1 = uv + float2(blurOffsetX, blurOffsetY); 24 | vCoord2 = uv + float2(blurOffsetX, -blurOffsetY); 25 | vCoord3 = uv + float2(-blurOffsetX, blurOffsetY); 26 | vCoord4 = uv + float2(-blurOffsetX, -blurOffsetY); 27 | gl_Position = mul(Vertex, WorldViewProjectionMatrix); 28 | } 29 | -------------------------------------------------------------------------------- /source/utils/dialog.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2021 Andy Nguyen 3 | * Copyright (C) 2021 fgsfds 4 | * Copyright (C) 2022-2023 Volodymyr Atamanenko 5 | * 6 | * This software may be modified and distributed under the terms 7 | * of the MIT license. See the LICENSE file for details. 8 | */ 9 | 10 | /** 11 | * @file dialog.h 12 | * @brief Common dialog for error messages and cheats input. 13 | */ 14 | 15 | #ifndef SOLOADER_DIALOG_H 16 | #define SOLOADER_DIALOG_H 17 | 18 | #ifdef __cplusplus 19 | extern "C" { 20 | #endif 21 | 22 | int init_ime_dialog(const char *title, const char *initial_text); 23 | 24 | char *get_ime_dialog_result(void); 25 | 26 | int init_msg_dialog(const char *msg); 27 | 28 | int get_msg_dialog_result(void); 29 | 30 | void fatal_error(const char *fmt, ...) __attribute__((noreturn)); 31 | 32 | void warning(const char *msg); 33 | 34 | #ifdef __cplusplus 35 | }; 36 | #endif 37 | 38 | #endif // SOLOADER_DIALOG_H 39 | -------------------------------------------------------------------------------- /shaders/glsl/624CCEA9649A4C00413095FB70AC8E056421DFD5.glsl: -------------------------------------------------------------------------------- 1 | #define GLITCH_OPENGLES_2 2 | 3 | attribute highp vec4 Position; 4 | attribute lowp vec4 Color0; 5 | attribute mediump vec2 TexCoord0; 6 | 7 | uniform mediump mat4 TextureMatrix0; 8 | uniform highp mat4 WorldViewProjectionMatrix; 9 | uniform mediump vec4 DiffuseColor; 10 | 11 | #ifdef CG_FOG 12 | uniform highp mat4 WorldViewT; 13 | varying lowp float fogFactor; 14 | uniform mediump vec2 fogstartend; 15 | #endif //CG_FOG 16 | 17 | varying mediump vec2 vTexCoord0; 18 | varying lowp vec4 vColor0; 19 | 20 | void main(void) 21 | { 22 | gl_Position = WorldViewProjectionMatrix * Position; 23 | vTexCoord0 = (TextureMatrix0 * vec4(TexCoord0, 1, 0)).xy; 24 | vColor0 = Color0; 25 | 26 | #ifdef CG_FOG 27 | float depth = dot(WorldViewT[2], Position); 28 | fogFactor = clamp((-depth - fogstartend[0])/(fogstartend[1] - fogstartend[0]), 0.0, 1.0); 29 | #endif //CG_FOG 30 | 31 | } 32 | -------------------------------------------------------------------------------- /shaders/cg/0D0FA314FC42DB4CEFAE7289ED85306E60F72E7C.cg: -------------------------------------------------------------------------------- 1 | // profile sce_vp_psp2 2 | 3 | #define GLITCH_OPENGLES_2 4 | 5 | uniform float4x4 WorldViewProjectionMatrix; 6 | uniform float blurOffsetX; 7 | uniform float blurOffsetY; 8 | 9 | void main( 10 | float4 Vertex, 11 | float2 TexCoord0, 12 | float2 out vCoord0 : TEXCOORD0, 13 | float2 out vCoord1 : TEXCOORD1, 14 | float2 out vCoord2 : TEXCOORD2, 15 | float2 out vCoord3 : TEXCOORD3, 16 | float2 out vCoord4 : TEXCOORD4, 17 | float4 out gl_Position : POSITION, 18 | float out gl_PointSize : PSIZE 19 | ) { 20 | gl_PointSize = 1.0f; 21 | float2 uv = TexCoord0; 22 | vCoord0 = uv; 23 | vCoord1 = uv + 1.0 * float2(blurOffsetX, blurOffsetY); 24 | vCoord2 = uv + 2.0 * float2(blurOffsetX, blurOffsetY); 25 | vCoord3 = uv + 3.0 * float2(blurOffsetX, blurOffsetY); 26 | vCoord4 = uv + 4.0 * float2(blurOffsetX, blurOffsetY); 27 | gl_Position = mul(Vertex, WorldViewProjectionMatrix); 28 | } 29 | -------------------------------------------------------------------------------- /shaders/cg/E920196A0695563A56F98225FA768B76BF11FD54.cg: -------------------------------------------------------------------------------- 1 | // profile sce_vp_psp2 2 | 3 | #define GLITCH_OPENGLES_2 4 | 5 | uniform float4x4 WorldViewProjectionMatrix; 6 | 7 | uniform float2 center; 8 | uniform float scale; 9 | 10 | void main( 11 | float4 Vertex, 12 | float2 TexCoord0, 13 | float2 out vCoord0 : TEXCOORD0, 14 | float2 out vCoord1 : TEXCOORD1, 15 | float2 out vCoord2 : TEXCOORD2, 16 | float2 out vCoord3 : TEXCOORD3, 17 | float2 out vCoord4 : TEXCOORD4, 18 | float2 out v0c : COLOR0, 19 | float4 out gl_Position : POSITION, 20 | float out gl_PointSize : PSIZE 21 | ) { 22 | gl_PointSize = 1.0f; 23 | vCoord0 = TexCoord0; 24 | v0c = (vCoord0 - center); 25 | vCoord1 = (1.0 + scale) * v0c + center; 26 | vCoord2 = (1.0 + 2.0*scale) * v0c + center; 27 | vCoord3 = (1.0 + 3.0*scale) * v0c + center; 28 | vCoord4 = (1.0 + 4.0*scale) * v0c + center; 29 | 30 | gl_Position = mul(Vertex, WorldViewProjectionMatrix); 31 | } 32 | -------------------------------------------------------------------------------- /shaders/cg/520BB5DD777BD816155B4C699E4C3E0D24A2C6DE.cg: -------------------------------------------------------------------------------- 1 | // profile sce_fp_psp2 2 | 3 | #define GLITCH_OPENGLES_2 4 | 5 | uniform sampler2D texture0; 6 | 7 | uniform float2 center; 8 | uniform float circleRayIn; 9 | uniform float circleRayOut; 10 | 11 | void main( 12 | float2 vCoord0 : TEXCOORD0, 13 | float2 vCoord1 : TEXCOORD1, 14 | float2 vCoord2 : TEXCOORD2, 15 | float2 vCoord3 : TEXCOORD3, 16 | float2 vCoord4 : TEXCOORD4, 17 | float2 v0c : COLOR0, 18 | float4 out gl_FragColor : COLOR 19 | ) { 20 | float distanceFromCenter = length(v0c); 21 | float w1 = 0.2 * smoothstep(circleRayIn, circleRayOut, distanceFromCenter); 22 | float w0 = (1.0 - 4.0 * w1); 23 | 24 | float4 color = w0 * tex2D(texture0, vCoord0); 25 | color += w1 * tex2D(texture0, vCoord1); 26 | color += w1 * tex2D(texture0, vCoord2); 27 | color += w1 * tex2D(texture0, vCoord3); 28 | color += w1 * tex2D(texture0, vCoord4); 29 | 30 | gl_FragColor = color; 31 | } 32 | -------------------------------------------------------------------------------- /shaders/glsl/common/common_shader_16.glsl: -------------------------------------------------------------------------------- 1 | uniform lowp sampler2D DiffuseMapSampler; 2 | 3 | #ifdef CG_FOG 4 | uniform lowp vec4 fogcolor; 5 | varying lowp float fogFactor; 6 | #endif //CG_FOG 7 | 8 | varying lowp vec4 vColor0; 9 | varying mediump vec2 vTexCoord0; 10 | 11 | uniform lowp vec3 sunFactorA; 12 | 13 | #define USE_ALPHA_TEXTURE 14 | #ifdef USE_ALPHA_TEXTURE 15 | uniform lowp sampler2D DiffuseMapSampler_alpha; 16 | #endif 17 | 18 | void main() 19 | { 20 | lowp vec4 color = vColor0; 21 | #ifdef USE_ALPHA_TEXTURE 22 | color *= vec4(texture2D(DiffuseMapSampler, vTexCoord0).rgb, 23 | texture2D(DiffuseMapSampler_alpha, vTexCoord0).g); 24 | #else 25 | color *= texture2D(DiffuseMapSampler, vTexCoord0); 26 | #endif 27 | 28 | #ifdef CG_FOG 29 | color.xyz = mix(color.xyz, fogcolor.xyz, fogFactor); 30 | #endif //CG_FOG 31 | 32 | color.rgb += sunFactorA; 33 | 34 | gl_FragColor = color; 35 | } 36 | -------------------------------------------------------------------------------- /shaders/cg/624CCEA9649A4C00413095FB70AC8E056421DFD5.cg: -------------------------------------------------------------------------------- 1 | // profile sce_vp_psp2 2 | 3 | #define GLITCH_OPENGLES_2 4 | 5 | uniform float4x4 TextureMatrix0; 6 | uniform float4x4 WorldViewProjectionMatrix; 7 | uniform float4 DiffuseColor; 8 | 9 | #ifdef CG_FOG 10 | uniform float4x4 WorldViewT; 11 | uniform float2 fogstartend; 12 | #endif //CG_FOG 13 | 14 | void main( 15 | float4 Position, 16 | float4 Color0, 17 | float2 TexCoord0, 18 | float out fogFactor : TEXCOORD9, 19 | float2 out vTexCoord0 : TEXCOORD0, 20 | float4 out vColor0 : COLOR0, 21 | float4 out gl_Position : POSITION 22 | ) { 23 | gl_Position = mul(Position, WorldViewProjectionMatrix); 24 | vTexCoord0 = mul(float4(TexCoord0, 1, 0), TextureMatrix0).xy; 25 | vColor0 = Color0; 26 | 27 | #ifdef CG_FOG 28 | float depth = dot(WorldViewT[2], Position); 29 | fogFactor = clamp((-depth - fogstartend[0])/(fogstartend[1] - fogstartend[0]), 0.0, 1.0); 30 | #endif //CG_FOG 31 | 32 | } 33 | -------------------------------------------------------------------------------- /shaders/glsl/73720BD1506ACB2FE9EAF75BE77F6B9A01D96091.glsl: -------------------------------------------------------------------------------- 1 | #define GLITCH_OPENGLES_2 2 | 3 | uniform lowp sampler2D texture0; 4 | uniform lowp sampler2D depthTexture; 5 | 6 | varying mediump vec2 vCoord0; 7 | varying mediump vec2 vCoord1; 8 | varying mediump vec2 vCoord2; 9 | varying mediump vec2 vCoord3; 10 | varying mediump vec2 vCoord4; 11 | 12 | uniform mediump float focus; 13 | uniform mediump float scale; 14 | 15 | void main() 16 | { 17 | mediump float depth = texture2D(depthTexture, vCoord0).r; 18 | mediump float z = abs(depth - focus) * scale; 19 | 20 | mediump float w1 = 0.2 * z; 21 | mediump float w0 = (1.0 - 4.0 * w1); 22 | 23 | mediump vec4 color = w0 * texture2D(texture0, vCoord0); 24 | color += w1 * texture2D(texture0, vCoord1); 25 | color += w1 * texture2D(texture0, vCoord2); 26 | color += w1 * texture2D(texture0, vCoord3); 27 | color += w1 * texture2D(texture0, vCoord4); 28 | 29 | gl_FragColor = color; 30 | } 31 | -------------------------------------------------------------------------------- /shaders/common/common_shader_16.cg: -------------------------------------------------------------------------------- 1 | // profile sce_fp_psp2 2 | 3 | uniform sampler2D DiffuseMapSampler; 4 | 5 | #ifdef CG_FOG 6 | uniform float4 fogcolor; 7 | #endif //CG_FOG 8 | 9 | uniform float3 sunFactorA; 10 | 11 | #define USE_ALPHA_TEXTURE 12 | #ifdef USE_ALPHA_TEXTURE 13 | uniform sampler2D DiffuseMapSampler_alpha; 14 | #endif 15 | 16 | void main( 17 | float fogFactor : TEXCOORD9, 18 | float4 vColor0 : COLOR0, 19 | float2 vTexCoord0 : TEXCOORD0, 20 | float4 out gl_FragColor : COLOR 21 | ) { 22 | float4 color = vColor0; 23 | #ifdef USE_ALPHA_TEXTURE 24 | color *= float4(tex2D(DiffuseMapSampler, vTexCoord0).rgb, 25 | tex2D(DiffuseMapSampler_alpha, vTexCoord0).g); 26 | #else 27 | color *= tex2D(DiffuseMapSampler, vTexCoord0); 28 | #endif 29 | 30 | #ifdef CG_FOG 31 | color.xyz = lerp(color.xyz, fogcolor.xyz, fogFactor); 32 | #endif //CG_FOG 33 | 34 | color.rgb += sunFactorA; 35 | 36 | gl_FragColor = color; 37 | } 38 | -------------------------------------------------------------------------------- /source/reimpl/errno.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2023-2024 Volodymyr Atamanenko 3 | * 4 | * This software may be modified and distributed under the terms 5 | * of the MIT license. See the LICENSE file for details. 6 | */ 7 | 8 | /** 9 | * @file errno.h 10 | * @brief Error code translation between newlib (Vita) and bionic (Android) 11 | * 12 | * Provides wrappers for errno-related functions that translate the underlying 13 | * error numbers and their corresponding descriptions into Bionic (Android) 14 | * format, so that the target can perform its error checking normally. 15 | */ 16 | 17 | #ifndef SOLOADER_ERRNO_H 18 | #define SOLOADER_ERRNO_H 19 | 20 | #ifdef __cplusplus 21 | extern "C" { 22 | #endif 23 | 24 | #include 25 | 26 | int *__errno_soloader(void); 27 | 28 | char *strerror_soloader(int error_number); 29 | 30 | int strerror_r_soloader(int error_number, char *buf, size_t buf_len); 31 | 32 | #ifdef __cplusplus 33 | }; 34 | #endif 35 | 36 | #endif // SOLOADER_ERRNO_H 37 | -------------------------------------------------------------------------------- /extras/meminfo: -------------------------------------------------------------------------------- 1 | MemTotal: 350868 kB 2 | MemFree: 300080 kB 3 | Buffers: 0 kB 4 | Cached: 0 kB 5 | SwapCached: 0 kB 6 | Active: 92052 kB 7 | Inactive: 79816 kB 8 | Active(anon): 57792 kB 9 | Inactive(anon): 0 kB 10 | Active(file): 34260 kB 11 | Inactive(file): 79816 kB 12 | Unevictable: 0 kB 13 | Mlocked: 0 kB 14 | SwapTotal: 0 kB 15 | SwapFree: 0 kB 16 | Dirty: 0 kB 17 | Writeback: 0 kB 18 | AnonPages: 143580 kB 19 | Mapped: 67584 kB 20 | Slab: 6736 kB 21 | SReclaimable: 2104 kB 22 | SUnreclaim: 4632 kB 23 | PageTables: 4008 kB 24 | NFS_Unstable: 0 kB 25 | Bounce: 0 kB 26 | WritebackTmp: 0 kB 27 | CommitLimit: 420432 kB 28 | Committed_AS: 1606616 kB 29 | VmallocTotal: 122880 kB 30 | VmallocUsed: 20588 kB 31 | VmallocChunk: 77828 kB 32 | -------------------------------------------------------------------------------- /shaders/glsl/520BB5DD777BD816155B4C699E4C3E0D24A2C6DE.glsl: -------------------------------------------------------------------------------- 1 | #define GLITCH_OPENGLES_2 2 | 3 | uniform lowp sampler2D texture0; 4 | 5 | uniform mediump vec2 center; 6 | uniform mediump float circleRayIn; 7 | uniform mediump float circleRayOut; 8 | 9 | varying mediump vec2 vCoord0; 10 | varying mediump vec2 vCoord1; 11 | varying mediump vec2 vCoord2; 12 | varying mediump vec2 vCoord3; 13 | varying mediump vec2 vCoord4; 14 | 15 | varying mediump vec2 v0c; 16 | 17 | void main() 18 | { 19 | mediump float distanceFromCenter = length(v0c); 20 | mediump float w1 = 0.2 * smoothstep(circleRayIn, circleRayOut, distanceFromCenter); 21 | mediump float w0 = (1.0 - 4.0 * w1); 22 | 23 | mediump vec4 color = w0 * texture2D(texture0, vCoord0); 24 | color += w1 * texture2D(texture0, vCoord1); 25 | color += w1 * texture2D(texture0, vCoord2); 26 | color += w1 * texture2D(texture0, vCoord3); 27 | color += w1 * texture2D(texture0, vCoord4); 28 | 29 | gl_FragColor = color; 30 | } 31 | 32 | -------------------------------------------------------------------------------- /source/reimpl/mem.c: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2021 Andy Nguyen 3 | * Copyright (C) 2022 Rinnegatamante 4 | * Copyright (C) 2022-2023 Volodymyr Atamanenko 5 | * 6 | * This software may be modified and distributed under the terms 7 | * of the MIT license. See the LICENSE file for details. 8 | */ 9 | 10 | #include "reimpl/mem.h" 11 | #include "utils/logger.h" 12 | 13 | #include 14 | #include 15 | #include 16 | 17 | void *sceClibMemclr(void *dst, size_t len) { 18 | return sceClibMemset(dst, 0, len); 19 | } 20 | 21 | void *mmap(void *addr, size_t length, int prot, int flags, int fd, off_t offs) { 22 | l_warn("mmap(%p, %i, %i, %i, %i, %li)", addr, length, prot, flags, fd, offs); 23 | 24 | if (length <= 0) { 25 | return MAP_FAILED; 26 | } 27 | void* ret= malloc(length); 28 | memset(ret, 0, length); 29 | return ret; 30 | } 31 | 32 | int munmap(void *addr, size_t length) { 33 | if (addr) free(addr); 34 | return 0; 35 | } 36 | -------------------------------------------------------------------------------- /shaders/cg/E3CBD9CA76BE36C4B55C282AAEDB22ABA569A67A.cg: -------------------------------------------------------------------------------- 1 | // profile sce_fp_psp2 2 | 3 | #define GLITCH_OPENGLES_2 4 | 5 | uniform sampler2D texture0; 6 | uniform float scale; 7 | 8 | void main( 9 | float2 vCoord0 : TEXCOORD0, 10 | float2 vCoord1 : TEXCOORD1, 11 | float2 vCoord2 : TEXCOORD2, 12 | float2 vCoord3 : TEXCOORD3, 13 | float2 vCoord4 : TEXCOORD4, 14 | float4 out gl_FragColor : COLOR 15 | ) { 16 | float4 c0 = tex2D(texture0, vCoord0); 17 | float4 c1 = tex2D(texture0, vCoord1); 18 | float4 c2 = tex2D(texture0, vCoord2); 19 | float4 c3 = tex2D(texture0, vCoord3); 20 | float4 c4 = tex2D(texture0, vCoord4); 21 | 22 | float ca = (c0.a + c1.a + c2.a + c3.a + c4.a); 23 | float invca = 1.0 / ca; 24 | 25 | float4 color; 26 | color.xyz = c0.a * c0.xyz; 27 | color.xyz += c1.a * c1.xyz; 28 | color.xyz += c2.a * c2.xyz; 29 | color.xyz += c3.a * c3.xyz; 30 | color.xyz += c4.a * c4.xyz; 31 | 32 | color.xyz *= invca; 33 | 34 | color.a = 0.2 * ca; 35 | 36 | gl_FragColor = color; 37 | } 38 | -------------------------------------------------------------------------------- /shaders/glsl/E3CBD9CA76BE36C4B55C282AAEDB22ABA569A67A.glsl: -------------------------------------------------------------------------------- 1 | #define GLITCH_OPENGLES_2 2 | 3 | uniform lowp sampler2D texture0; 4 | uniform lowp float scale; 5 | 6 | varying mediump vec2 vCoord0; 7 | varying mediump vec2 vCoord1; 8 | varying mediump vec2 vCoord2; 9 | varying mediump vec2 vCoord3; 10 | varying mediump vec2 vCoord4; 11 | 12 | void main() 13 | { 14 | mediump vec4 c0 = texture2D(texture0, vCoord0); 15 | mediump vec4 c1 = texture2D(texture0, vCoord1); 16 | mediump vec4 c2 = texture2D(texture0, vCoord2); 17 | mediump vec4 c3 = texture2D(texture0, vCoord3); 18 | mediump vec4 c4 = texture2D(texture0, vCoord4); 19 | 20 | mediump float ca = (c0.a + c1.a + c2.a + c3.a + c4.a); 21 | mediump float invca = 1.0 / ca; 22 | 23 | mediump vec4 color; 24 | color.xyz = c0.a * c0.xyz; 25 | color.xyz += c1.a * c1.xyz; 26 | color.xyz += c2.a * c2.xyz; 27 | color.xyz += c3.a * c3.xyz; 28 | color.xyz += c4.a * c4.xyz; 29 | 30 | color.xyz *= invca; 31 | 32 | color.a = 0.2 * ca; 33 | 34 | gl_FragColor = color; 35 | } 36 | -------------------------------------------------------------------------------- /shaders/glsl/common/common_shader_4.glsl: -------------------------------------------------------------------------------- 1 | #define TEXTURE_1D 0 2 | #define TEXTURE_2D 1 3 | #define TEXTURE_3D 2 4 | #define TEXTURE_CUBE_MAP 3 5 | #define TEXTURE_RECT 4 6 | 7 | #ifndef TEXTURE_TYPE 8 | # define TEXTURE_TYPE TEXTURE_2D 9 | #endif 10 | 11 | #if GL_ES 12 | # if TEXTURE_TYPE == TEXTURE_3D && !defined(GL_OES_texture_3D) 13 | # undef TEXTURE_TYPE 14 | # define TEXTURE_TYPE TEXTURE_2D 15 | # elif TEXTURE_TYPE == TEXTURE_RECT 16 | # undef TEXTURE_TYPE 17 | # define TEXTURE_TYPE TEXTURE_2D 18 | # endif 19 | #endif 20 | 21 | attribute highp vec4 Vertex; 22 | #if TEXTURE_TYPE == TEXTURE_3D || TEXTURE_TYPE == TEXTURE_CUBE_MAP 23 | attribute mediump vec3 TexCoord0; 24 | #else 25 | attribute mediump vec2 TexCoord0; 26 | #endif 27 | 28 | #if TEXTURE_TYPE == TEXTURE_3D || TEXTURE_TYPE == TEXTURE_CUBE_MAP 29 | varying mediump vec3 vCoord0; 30 | #else 31 | varying mediump vec2 vCoord0; 32 | #endif 33 | 34 | void main(void) 35 | { 36 | vCoord0 = TexCoord0; 37 | gl_Position = Vertex; 38 | } 39 | -------------------------------------------------------------------------------- /shaders/cg/E72E9D4CF0255BD41962A8EDB5AA60BAD2B97D18.cg: -------------------------------------------------------------------------------- 1 | // profile sce_fp_psp2 2 | 3 | #define GLITCH_OPENGLES_2 4 | 5 | uniform sampler2D texture0; 6 | 7 | uniform float3 additiveColor; 8 | uniform float3 multiplyColor; 9 | 10 | uniform float desaturation; 11 | 12 | void main( 13 | float2 vCoord0 : TEXCOORD0, 14 | float2 vCoord1 : TEXCOORD1, 15 | float2 vCoord2 : TEXCOORD2, 16 | float2 vCoord3 : TEXCOORD3, 17 | float2 vCoord4 : TEXCOORD4, 18 | float4 out gl_FragColor : COLOR 19 | ) { 20 | // radial blur 21 | float4 color = 0.2 * tex2D(texture0, vCoord0); 22 | color += 0.2 * tex2D(texture0, vCoord1); 23 | color += 0.2 * tex2D(texture0, vCoord2); 24 | color += 0.2 * tex2D(texture0, vCoord3); 25 | color += 0.2 * tex2D(texture0, vCoord4); 26 | 27 | // desaturate 28 | float average = 0.33 * (color.r + color.g + color.b); 29 | color.rgb = lerp(color.rgb, float3(average,average,average), desaturation); 30 | 31 | // adjust colors 32 | color.rgb *= multiplyColor; 33 | color.rgb += additiveColor; 34 | 35 | gl_FragColor = color; 36 | } 37 | 38 | -------------------------------------------------------------------------------- /shaders/glsl/E72E9D4CF0255BD41962A8EDB5AA60BAD2B97D18.glsl: -------------------------------------------------------------------------------- 1 | #define GLITCH_OPENGLES_2 2 | 3 | uniform lowp sampler2D texture0; 4 | 5 | varying mediump vec2 vCoord0; 6 | varying mediump vec2 vCoord1; 7 | varying mediump vec2 vCoord2; 8 | varying mediump vec2 vCoord3; 9 | varying mediump vec2 vCoord4; 10 | 11 | uniform lowp vec3 additiveColor; 12 | uniform lowp vec3 multiplyColor; 13 | 14 | uniform mediump float desaturation; 15 | 16 | void main() 17 | { 18 | // radial blur 19 | lowp vec4 color = 0.2 * texture2D(texture0, vCoord0); 20 | color += 0.2 * texture2D(texture0, vCoord1); 21 | color += 0.2 * texture2D(texture0, vCoord2); 22 | color += 0.2 * texture2D(texture0, vCoord3); 23 | color += 0.2 * texture2D(texture0, vCoord4); 24 | 25 | // desaturate 26 | mediump float average = 0.33 * (color.r + color.g + color.b); 27 | color.rgb = mix(color.rgb, vec3(average,average,average), desaturation); 28 | 29 | // adjust colors 30 | color.rgb *= multiplyColor; 31 | color.rgb += additiveColor; 32 | 33 | // 34 | gl_FragColor = color; 35 | } 36 | 37 | -------------------------------------------------------------------------------- /shaders/glsl/E592F65D1F59E1ED6F9501DE9059CD9A72072E2F.glsl: -------------------------------------------------------------------------------- 1 | #define GLITCH_OPENGLES_2 2 | 3 | attribute highp vec4 Vertex; 4 | attribute mediump vec2 TexCoord0; 5 | attribute mediump vec2 TexCoord1; 6 | 7 | uniform highp mat4 WorldViewProjectionMatrix; 8 | uniform mediump vec2 texelSize; 9 | uniform mediump vec2 decimatedTexelSize; 10 | 11 | varying mediump vec2 vCoordSource; 12 | varying mediump vec2 vCoordDecimated; 13 | varying mediump vec2 vCoordBlur0; 14 | varying mediump vec2 vCoordBlur1; 15 | varying mediump vec2 vCoordBlur2; 16 | varying mediump vec2 vCoordBlur3; 17 | 18 | void main(void) 19 | { 20 | vCoordSource = TexCoord0 + vec2(0.5 * texelSize.x,0.5 * texelSize.x); 21 | mediump vec2 uv = TexCoord1; 22 | vCoordDecimated = uv; 23 | mediump vec2 offset = 0.5 * decimatedTexelSize; 24 | vCoordBlur0 = uv + vec2( offset.x, offset.y); 25 | vCoordBlur1 = uv + vec2(-offset.x, offset.y); 26 | vCoordBlur2 = uv + vec2( offset.x, -offset.y); 27 | vCoordBlur3 = uv + vec2(-offset.x, -offset.y); 28 | 29 | gl_Position = WorldViewProjectionMatrix * Vertex; 30 | } 31 | -------------------------------------------------------------------------------- /extras/icons/trigger-right.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /source/utils/player.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2023 Rinnegatamante 3 | * Copyright (C) 2024 Volodymyr Atamanenko 4 | * 5 | * This software may be modified and distributed under the terms 6 | * of the MIT license. See the LICENSE file for details. 7 | */ 8 | 9 | /** 10 | * @file player.h 11 | * @brief Provides methods to work with SceAvPlayer 12 | */ 13 | 14 | #ifndef _PLAYER_H 15 | #define _PLAYER_H 16 | 17 | #ifdef __cplusplus 18 | extern "C" { 19 | #endif 20 | 21 | #include 22 | 23 | enum { 24 | PLAYER_INACTIVE, 25 | PLAYER_ACTIVE, 26 | PLAYER_PAUSED, 27 | }; 28 | 29 | extern int player_state; 30 | 31 | void video_open(const char *path, const char * lang); 32 | GLuint video_get_frame(int *width, int *height); 33 | uint32_t video_get_current_time(); 34 | void video_close(); 35 | void video_pause(); 36 | void video_resume(); 37 | void video_set_volume(float vol); 38 | void video_jump_to_time(uint64_t time); 39 | 40 | void setup_2d_draw(float x, float y, float x2, float y2); 41 | void draw_2d_frame(); 42 | 43 | #ifdef __cplusplus 44 | } 45 | #endif 46 | 47 | #endif 48 | -------------------------------------------------------------------------------- /shaders/common/common_shader_2.cg: -------------------------------------------------------------------------------- 1 | // profile sce_fp_psp2 2 | 3 | #define TEXTURE_1D 0 4 | #define TEXTURE_2D 1 5 | #define TEXTURE_3D 2 6 | #define TEXTURE_CUBE_MAP 3 7 | #define TEXTURE_RECT 4 8 | 9 | #ifndef TEXTURE_TYPE 10 | #define TEXTURE_TYPE TEXTURE_2D 11 | #endif 12 | 13 | #if TEXTURE_TYPE == TEXTURE_3D 14 | #undef TEXTURE_TYPE 15 | #define TEXTURE_TYPE TEXTURE_2D 16 | #elif TEXTURE_TYPE == TEXTURE_RECT 17 | #undef TEXTURE_TYPE 18 | #define TEXTURE_TYPE TEXTURE_2D 19 | #elif TEXTURE_TYPE == TEXTURE_1D 20 | #undef TEXTURE_TYPE 21 | #define TEXTURE_TYPE TEXTURE_2D 22 | #endif 23 | 24 | #if TEXTURE_TYPE == TEXTURE_CUBE_MAP 25 | uniform samplerCUBE glitch_texture; 26 | #else 27 | uniform sampler2D glitch_texture; 28 | #endif 29 | 30 | void main( 31 | #if TEXTURE_TYPE == TEXTURE_CUBE_MAP 32 | float3 vCoord0 : TEXCOORD0, 33 | #else 34 | float2 vCoord0 : TEXCOORD0, 35 | #endif 36 | float4 out gl_FragColor : COLOR 37 | ) { 38 | #if TEXTURE_TYPE == TEXTURE_CUBE_MAP 39 | gl_FragColor = texCUBE(glitch_texture, vCoord0); 40 | #else 41 | gl_FragColor = tex2D(glitch_texture, vCoord0); 42 | #endif 43 | } 44 | -------------------------------------------------------------------------------- /shaders/cg/E592F65D1F59E1ED6F9501DE9059CD9A72072E2F.cg: -------------------------------------------------------------------------------- 1 | // profile sce_vp_psp2 2 | 3 | #define GLITCH_OPENGLES_2 4 | 5 | uniform float4x4 WorldViewProjectionMatrix; 6 | uniform float2 texelSize; 7 | uniform float2 decimatedTexelSize; 8 | 9 | void main( 10 | float4 Vertex, 11 | float2 TexCoord0, 12 | float2 TexCoord1, 13 | float2 out vCoordSource : TEXCOORD5, 14 | float2 out vCoordDecimated : TEXCOORD4, 15 | float2 out vCoordBlur0 : TEXCOORD0, 16 | float2 out vCoordBlur1 : TEXCOORD1, 17 | float2 out vCoordBlur2 : TEXCOORD2, 18 | float2 out vCoordBlur3 : TEXCOORD3, 19 | float4 out gl_Position : POSITION, 20 | float out gl_PointSize : PSIZE 21 | ) { 22 | gl_PointSize = 1.0f; 23 | vCoordSource = TexCoord0 + float2(0.5 * texelSize.x,0.5 * texelSize.x); 24 | float2 uv = TexCoord1; 25 | vCoordDecimated = uv; 26 | float2 offset = 0.5 * decimatedTexelSize; 27 | vCoordBlur0 = uv + float2( offset.x, offset.y); 28 | vCoordBlur1 = uv + float2(-offset.x, offset.y); 29 | vCoordBlur2 = uv + float2( offset.x, -offset.y); 30 | vCoordBlur3 = uv + float2(-offset.x, -offset.y); 31 | 32 | gl_Position = mul(Vertex, WorldViewProjectionMatrix); 33 | } 34 | -------------------------------------------------------------------------------- /shaders/common/common_shader_3.cg: -------------------------------------------------------------------------------- 1 | // profile sce_fp_psp2 2 | 3 | #define TEXTURE_2D 0 4 | #define TEXTURE_3D 1 5 | #define TEXTURE_CUBE_MAP 2 6 | #define TEXTURE_RECT 3 7 | 8 | #ifndef TEXTURE_TYPE 9 | #define TEXTURE_TYPE TEXTURE_2D 10 | #endif 11 | 12 | #if TEXTURE_TYPE == TEXTURE_3D 13 | #undef TEXTURE_TYPE 14 | #define TEXTURE_TYPE TEXTURE_2D 15 | #elif TEXTURE_TYPE == TEXTURE_RECT 16 | #error texture rectangle not supported with GLES2 17 | #endif 18 | 19 | #if TEXTURE_TYPE == TEXTURE_CUBE_MAP 20 | uniform samplerCUBE glitch_texture; 21 | #else 22 | uniform sampler2D glitch_texture; 23 | uniform sampler2D texture_alpha; 24 | #endif 25 | 26 | 27 | 28 | void main( 29 | #if TEXTURE_TYPE == TEXTURE_CUBE_MAP 30 | float3 vCoord0 : TEXCOORD0, 31 | #else 32 | float2 vCoord0 : TEXCOORD0, 33 | #endif 34 | float4 vColor0 : COLOR0, 35 | float4 out gl_FragColor : COLOR 36 | ) { 37 | #if TEXTURE_TYPE == TEXTURE_CUBE_MAP 38 | gl_FragColor = texCUBE(glitch_texture, vCoord0) * vColor0; 39 | #else 40 | gl_FragColor = float4(tex2D(glitch_texture, vCoord0).rgb, 41 | tex2D(texture_alpha, vCoord0).g) * vColor0; 42 | #endif 43 | } 44 | -------------------------------------------------------------------------------- /shaders/cg/A7F7F58D7E0420D99A9D20E69F409A69FB3B7C0E.cg: -------------------------------------------------------------------------------- 1 | // profile sce_fp_psp2 2 | 3 | #define GLITCH_OPENGLES_2 4 | 5 | uniform sampler2D texture0; 6 | 7 | uniform float offset; 8 | uniform float3 weight0; 9 | uniform float3 weight1; 10 | uniform float3 weight2; 11 | 12 | void main( 13 | float2 vCoord00 : TEXCOORD0, 14 | float2 vCoord01 : TEXCOORD1, 15 | float2 vCoord02 : TEXCOORD2, 16 | float2 vCoord10 : TEXCOORD3, 17 | float2 vCoord11 : TEXCOORD4, 18 | float2 vCoord12 : TEXCOORD5, 19 | float2 vCoord20 : TEXCOORD6, 20 | float2 vCoord21 : TEXCOORD7, 21 | float2 vCoord22 : TEXCOORD8, 22 | float4 out gl_FragColor : COLOR 23 | ) { 24 | float4 color = weight0.x * tex2D(texture0, vCoord00); 25 | color += weight0.y * tex2D(texture0, vCoord01); 26 | color += weight0.z * tex2D(texture0, vCoord02); 27 | 28 | color += weight1.x * tex2D(texture0, vCoord10); 29 | color += weight1.y * tex2D(texture0, vCoord11); 30 | color += weight1.z * tex2D(texture0, vCoord12); 31 | 32 | color += weight2.x * tex2D(texture0, vCoord20); 33 | color += weight2.y * tex2D(texture0, vCoord21); 34 | color += weight2.z * tex2D(texture0, vCoord22); 35 | 36 | gl_FragColor = color + offset; 37 | } 38 | -------------------------------------------------------------------------------- /shaders/glsl/B7252A5FD06CE55199B1647175A7CA19A5A10FBB.glsl: -------------------------------------------------------------------------------- 1 | #define GLITCH_OPENGLES_2 2 | 3 | attribute highp vec4 Vertex; 4 | attribute mediump vec2 TexCoord0; 5 | 6 | uniform highp mat4 WorldViewProjectionMatrix; 7 | 8 | uniform highp float offsetX; 9 | uniform highp float offsetY; 10 | 11 | varying mediump vec2 vCoord00; 12 | varying mediump vec2 vCoord01; 13 | varying mediump vec2 vCoord02; 14 | varying mediump vec2 vCoord10; 15 | varying mediump vec2 vCoord11; 16 | varying mediump vec2 vCoord12; 17 | varying mediump vec2 vCoord20; 18 | varying mediump vec2 vCoord21; 19 | varying mediump vec2 vCoord22; 20 | 21 | void main(void) 22 | { 23 | vCoord11 = TexCoord0; 24 | 25 | vCoord00 = vCoord11 + vec2(-offsetX,-offsetY); 26 | vCoord01 = vCoord11 + vec2(0,-offsetY); 27 | vCoord02 = vCoord11 + vec2(offsetX,-offsetY); 28 | 29 | vCoord10 = vCoord11 + vec2(-offsetX,0); 30 | //vCoord11 = vCoord11 + vec2(0,0); 31 | vCoord12 = vCoord11 + vec2(offsetX,0); 32 | 33 | vCoord20 = vCoord11 + vec2(-offsetX,offsetY); 34 | vCoord21 = vCoord11 + vec2(0,offsetY); 35 | vCoord22 = vCoord11 + vec2(offsetX,offsetY); 36 | 37 | gl_Position = WorldViewProjectionMatrix * Vertex; 38 | } 39 | -------------------------------------------------------------------------------- /shaders/common/common_shader_8.cg: -------------------------------------------------------------------------------- 1 | // profile sce_vp_psp2 2 | 3 | #define TEXTURE_2D 0 4 | #define TEXTURE_3D 1 5 | #define TEXTURE_CUBE_MAP 2 6 | #define TEXTURE_RECT 3 7 | 8 | #ifndef TEXTURE_TYPE 9 | #define TEXTURE_TYPE TEXTURE_2D 10 | #endif 11 | 12 | uniform float4x4 WorldViewProjectionMatrix; 13 | 14 | #ifdef TEXTURE_MATRIX 15 | uniform float4x4 TextureMatrix; 16 | #endif 17 | 18 | void main( 19 | float4 Vertex, 20 | float4 Color0, 21 | #if TEXTURE_TYPE == TEXTURE_3D || TEXTURE_TYPE == TEXTURE_CUBE_MAP 22 | float3 TexCoord0, 23 | float3 out vCoord0 : TEXCOORD0, 24 | #else 25 | float2 TexCoord0, 26 | float2 out vCoord0 : TEXCOORD0, 27 | #endif 28 | float4 out vColor0 : COLOR0, 29 | float4 out gl_Position : POSITION, 30 | float out gl_PointSize : PSIZE 31 | ) { 32 | gl_PointSize = 1.0f; 33 | #ifdef TEXTURE_MATRIX 34 | #if TEXTURE_TYPE == TEXTURE_3D || TEXTURE_TYPE == TEXTURE_CUBE_MAP 35 | vCoord0 = mul(float4(TexCoord0, 1.0), TextureMatrix).xyz; 36 | #else 37 | vCoord0 = mul(float4(TexCoord0, 0.0, 1.0), TextureMatrix).xy; 38 | #endif 39 | #else 40 | vCoord0 = TexCoord0; 41 | #endif 42 | vColor0 = Color0; 43 | gl_Position = mul(Vertex, WorldViewProjectionMatrix); 44 | } 45 | -------------------------------------------------------------------------------- /shaders/glsl/A7F7F58D7E0420D99A9D20E69F409A69FB3B7C0E.glsl: -------------------------------------------------------------------------------- 1 | #define GLITCH_OPENGLES_2 2 | 3 | uniform lowp sampler2D texture0; 4 | 5 | varying mediump vec2 vCoord00; 6 | varying mediump vec2 vCoord01; 7 | varying mediump vec2 vCoord02; 8 | varying mediump vec2 vCoord10; 9 | varying mediump vec2 vCoord11; 10 | varying mediump vec2 vCoord12; 11 | varying mediump vec2 vCoord20; 12 | varying mediump vec2 vCoord21; 13 | varying mediump vec2 vCoord22; 14 | 15 | uniform lowp float offset; 16 | uniform lowp vec3 weight0; 17 | uniform lowp vec3 weight1; 18 | uniform lowp vec3 weight2; 19 | 20 | void main() 21 | { 22 | lowp vec4 color = weight0.x * texture2D(texture0, vCoord00); 23 | color += weight0.y * texture2D(texture0, vCoord01); 24 | color += weight0.z * texture2D(texture0, vCoord02); 25 | 26 | color += weight1.x * texture2D(texture0, vCoord10); 27 | color += weight1.y * texture2D(texture0, vCoord11); 28 | color += weight1.z * texture2D(texture0, vCoord12); 29 | 30 | color += weight2.x * texture2D(texture0, vCoord20); 31 | color += weight2.y * texture2D(texture0, vCoord21); 32 | color += weight2.z * texture2D(texture0, vCoord22); 33 | 34 | gl_FragColor = color + offset; 35 | } 36 | 37 | -------------------------------------------------------------------------------- /shaders/common/common_shader_14.cg: -------------------------------------------------------------------------------- 1 | // profile sce_vp_psp2 2 | 3 | 4 | uniform float3 light0position; 5 | uniform float4x4 WorldViewProjectionMatrix; 6 | uniform float4x4 matWorldIT; 7 | uniform float4x4 matworldviewit; 8 | uniform float4x4 WorldViewT; 9 | 10 | uniform float threshWidth; 11 | 12 | uniform float4x4 matWorldT; 13 | uniform float2 fogstartend; 14 | 15 | void main( 16 | float4 Vertex, 17 | float3 Color, 18 | float2 TexCoord0, 19 | float2 TexCoord1, 20 | float2 out vCoord0 : TEXCOORD0, 21 | float2 out vBlendEdges : TEXCOORD3, 22 | float out vBlend : TEXCOORD2, 23 | float2 out vCoord1 : TEXCOORD1, 24 | float out fogFactor : TEXCOORD9, 25 | float4 out gl_Position : POSITION 26 | ) { 27 | gl_Position = mul(Vertex, WorldViewProjectionMatrix); 28 | vCoord0 = TexCoord0; 29 | 30 | #ifdef LIGHTMAP 31 | vCoord1 = TexCoord1; 32 | #endif 33 | 34 | #ifdef BLENDMAP 35 | vBlendEdges.x = Color.r - threshWidth*0.5; 36 | vBlendEdges.y = 1.0 / threshWidth; 37 | #else 38 | vBlend = Color.r; 39 | #endif 40 | 41 | #ifdef CG_FOG 42 | float depth = dot(WorldViewT[2], Vertex); 43 | fogFactor = clamp((-depth - fogstartend[0])/(fogstartend[1] - fogstartend[0]), 0.0, 1.0); 44 | #endif 45 | } 46 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright (C) 2021 Andy Nguyen 4 | Copyright (C) 2021-2022 Rinnegatamante 5 | Copyright (C) 2022-2024 Volodymyr Atamanenko 6 | 7 | Permission is hereby granted, free of charge, to any person obtaining a copy 8 | of this software and associated documentation files (the "Software"), to deal 9 | in the Software without restriction, including without limitation the rights 10 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 11 | copies of the Software, and to permit persons to whom the Software is 12 | furnished to do so, subject to the following conditions: 13 | 14 | The above copyright notice and this permission notice shall be included in all 15 | copies or substantial portions of the Software. 16 | 17 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 18 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 19 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 20 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 21 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 22 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 23 | SOFTWARE. 24 | -------------------------------------------------------------------------------- /shaders/glsl/common/common_shader_14.glsl: -------------------------------------------------------------------------------- 1 | attribute highp vec4 Vertex; 2 | attribute mediump vec3 Color; 3 | attribute mediump vec2 TexCoord0; 4 | attribute mediump vec2 TexCoord1; 5 | 6 | uniform highp vec3 light0position; 7 | uniform highp mat4 WorldViewProjectionMatrix; 8 | uniform highp mat4 matWorldIT; 9 | uniform highp mat4 matworldviewit; 10 | uniform highp mat4 WorldViewT; 11 | 12 | 13 | varying mediump vec2 vCoord0; 14 | varying mediump vec2 vBlendEdges; 15 | uniform mediump float threshWidth; 16 | varying mediump float vBlend; 17 | 18 | varying mediump vec2 vCoord1; 19 | 20 | uniform highp mat4 matWorldT; 21 | varying lowp float fogFactor; 22 | uniform mediump vec2 fogstartend; 23 | 24 | void main() 25 | { 26 | gl_Position = WorldViewProjectionMatrix * Vertex; 27 | vCoord0 = TexCoord0; 28 | 29 | #ifdef LIGHTMAP 30 | vCoord1 = TexCoord1; 31 | #endif 32 | 33 | #ifdef BLENDMAP 34 | vBlendEdges.x = Color.r - threshWidth*0.5; 35 | vBlendEdges.y = 1.0 / threshWidth; 36 | #else 37 | vBlend = Color.r; 38 | #endif 39 | 40 | #ifdef CG_FOG 41 | float depth = dot(WorldViewT[2], Vertex); 42 | fogFactor = clamp((-depth - fogstartend[0])/(fogstartend[1] - fogstartend[0]), 0.0, 1.0); 43 | #endif 44 | } 45 | -------------------------------------------------------------------------------- /shaders/cg/B7252A5FD06CE55199B1647175A7CA19A5A10FBB.cg: -------------------------------------------------------------------------------- 1 | // profile sce_vp_psp2 2 | 3 | #define GLITCH_OPENGLES_2 4 | 5 | uniform float4x4 WorldViewProjectionMatrix; 6 | 7 | uniform float offsetX; 8 | uniform float offsetY; 9 | 10 | void main( 11 | float4 Vertex, 12 | float2 TexCoord0, 13 | float2 out vCoord00 : TEXCOORD0, 14 | float2 out vCoord01 : TEXCOORD1, 15 | float2 out vCoord02 : TEXCOORD2, 16 | float2 out vCoord10 : TEXCOORD3, 17 | float2 out vCoord11 : TEXCOORD4, 18 | float2 out vCoord12 : TEXCOORD5, 19 | float2 out vCoord20 : TEXCOORD6, 20 | float2 out vCoord21 : TEXCOORD7, 21 | float2 out vCoord22 : TEXCOORD8, 22 | float4 out gl_Position : POSITION, 23 | float out gl_PointSize : PSIZE 24 | ) { 25 | gl_PointSize = 1.0f; 26 | vCoord11 = TexCoord0; 27 | 28 | vCoord00 = vCoord11 + float2(-offsetX,-offsetY); 29 | vCoord01 = vCoord11 + float2(0,-offsetY); 30 | vCoord02 = vCoord11 + float2(offsetX,-offsetY); 31 | 32 | vCoord10 = vCoord11 + float2(-offsetX,0); 33 | vCoord12 = vCoord11 + float2(offsetX,0); 34 | 35 | vCoord20 = vCoord11 + float2(-offsetX,offsetY); 36 | vCoord21 = vCoord11 + float2(0,offsetY); 37 | vCoord22 = vCoord11 + float2(offsetX,offsetY); 38 | 39 | gl_Position = mul(Vertex, WorldViewProjectionMatrix); 40 | } 41 | -------------------------------------------------------------------------------- /shaders/glsl/common/common_shader_8.glsl: -------------------------------------------------------------------------------- 1 | #define TEXTURE_2D 0 2 | #define TEXTURE_3D 1 3 | #define TEXTURE_CUBE_MAP 2 4 | #define TEXTURE_RECT 3 5 | 6 | #ifndef TEXTURE_TYPE 7 | # define TEXTURE_TYPE TEXTURE_2D 8 | #endif 9 | 10 | attribute highp vec4 Vertex; 11 | #if TEXTURE_TYPE == TEXTURE_3D || TEXTURE_TYPE == TEXTURE_CUBE_MAP 12 | attribute mediump vec3 TexCoord0; 13 | #else 14 | attribute mediump vec2 TexCoord0; 15 | #endif 16 | attribute lowp vec4 Color0; 17 | 18 | uniform highp mat4 WorldViewProjectionMatrix; 19 | 20 | #if TEXTURE_TYPE == TEXTURE_3D || TEXTURE_TYPE == TEXTURE_CUBE_MAP 21 | varying mediump vec3 vCoord0; 22 | #else 23 | varying mediump vec2 vCoord0; 24 | #endif 25 | varying lowp vec4 vColor0; 26 | 27 | #ifdef TEXTURE_MATRIX 28 | uniform mediump mat4 TextureMatrix; 29 | #endif 30 | 31 | void main(void) 32 | { 33 | #ifdef TEXTURE_MATRIX 34 | # if TEXTURE_TYPE == TEXTURE_3D || TEXTURE_TYPE == TEXTURE_CUBE_MAP 35 | vCoord0 = (TextureMatrix * vec4(TexCoord0, 1.0)).xyz; 36 | # else 37 | vCoord0 = (TextureMatrix * vec4(TexCoord0, 0.0, 1.0)).xy; 38 | # endif 39 | #else 40 | vCoord0 = TexCoord0; 41 | #endif 42 | vColor0 = Color0; 43 | gl_Position = WorldViewProjectionMatrix * Vertex; 44 | } 45 | -------------------------------------------------------------------------------- /shaders/common/common_shader_21.cg: -------------------------------------------------------------------------------- 1 | // profile sce_vp_psp2 2 | 3 | uniform float4x4 WorldViewProjectionMatrix; 4 | 5 | uniform float4x4 matWorldT; 6 | uniform float4x4 matWorldI; 7 | uniform float4x4 matWorldIT; 8 | uniform float4x4 matViewI; 9 | 10 | uniform float4x4 WorldViewT; 11 | uniform float2 fogstartend; 12 | 13 | void main( 14 | float4 Vertex, 15 | #ifdef CUBE 16 | float3 Normal, 17 | #endif 18 | float2 TexCoord0, 19 | float2 TexCoord1, 20 | float2 out vCoord0 : TEXCOORD0, 21 | float2 out vCoord1 : TEXCOORD1, 22 | float3 out vReflection : TEXCOORD7, 23 | float out fogFactor : TEXCOORD9, 24 | float4 out gl_Position : POSITION 25 | ) { 26 | gl_Position = mul(Vertex, WorldViewProjectionMatrix); 27 | vCoord0 = TexCoord0; 28 | vCoord1 = TexCoord1; 29 | 30 | #ifdef CUBE 31 | // Eye direction 32 | float4 eyePosition = mul(matViewI[3], matWorldI); 33 | float3 eyeDirection = normalize(eyePosition.xyz - Vertex.xyz); 34 | eyeDirection = mul(float4(eyeDirection,0), matWorldIT).xyz; 35 | 36 | // Reflection 37 | vReflection = normalize(reflect(eyeDirection, Normal)); 38 | #endif 39 | 40 | #ifdef CG_FOG 41 | float depth = dot(WorldViewT[2], Vertex); 42 | fogFactor = clamp((depth - fogstartend[0])/(fogstartend[1] - fogstartend[0]), 0.0, 1.0); 43 | #endif 44 | } 45 | -------------------------------------------------------------------------------- /shaders/glsl/common/common_shader_21.glsl: -------------------------------------------------------------------------------- 1 | 2 | attribute highp vec4 Vertex; 3 | 4 | #ifdef CUBE 5 | attribute highp vec3 Normal; 6 | #endif 7 | 8 | attribute mediump vec2 TexCoord0; 9 | attribute mediump vec2 TexCoord1; 10 | 11 | uniform highp mat4 WorldViewProjectionMatrix; 12 | 13 | varying mediump vec2 vCoord0; 14 | varying mediump vec2 vCoord1; 15 | varying highp vec3 vReflection; 16 | 17 | uniform highp mat4 matWorldT; 18 | uniform highp mat4 matWorldI; 19 | uniform highp mat4 matWorldIT; 20 | uniform highp mat4 matViewI; 21 | 22 | uniform highp mat4 WorldViewT; 23 | varying lowp float fogFactor; 24 | uniform mediump vec2 fogstartend; 25 | 26 | void main() 27 | { 28 | gl_Position = WorldViewProjectionMatrix * Vertex; 29 | vCoord0 = TexCoord0; 30 | vCoord1 = TexCoord1; 31 | 32 | #ifdef CUBE 33 | // Eye direction 34 | highp vec4 eyePosition = matWorldI * matViewI[3]; 35 | highp vec3 eyeDirection = normalize(eyePosition.xyz - Vertex.xyz); 36 | eyeDirection = (matWorldIT * vec4(eyeDirection,0)).xyz; 37 | 38 | // Reflection 39 | vReflection = normalize(reflect(eyeDirection, Normal)); 40 | #endif 41 | 42 | 43 | #ifdef FOG 44 | float depth = dot(WorldViewT[2], Vertex); 45 | fogFactor = clamp((depth - fogstartend[0])/(fogstartend[1] - fogstartend[0]), 0.0, 1.0); 46 | #endif 47 | 48 | } 49 | -------------------------------------------------------------------------------- /shaders/common/common_shader_5.cg: -------------------------------------------------------------------------------- 1 | // profile sce_fp_psp2 2 | 3 | uniform sampler2D texture0; 4 | uniform sampler2D texture1; 5 | uniform float threshold; 6 | uniform float bloomFactor; 7 | 8 | uniform float2 texelSize; 9 | uniform float2 invert; 10 | 11 | uniform float random; 12 | 13 | uniform float effectFactor; 14 | 15 | float4 screen(float4 a, float4 b) 16 | { 17 | return b + (a * (1.0-b)); 18 | } 19 | 20 | void main( 21 | float2 vCoordSource : TEXCOORD5, 22 | float2 vCoordBlur0 : TEXCOORD0, 23 | float2 vCoordBlur1 : TEXCOORD1, 24 | float2 vCoordBlur2 : TEXCOORD2, 25 | float2 vCoordBlur3 : TEXCOORD3, 26 | float vBlurFactor : TEXCOORD9, 27 | float vGammaFactor : TEXCOORD7, 28 | float4 vFlashColor : COLOR0, 29 | float4 out gl_FragColor : COLOR 30 | ) { 31 | float4 color = tex2D(texture0, vCoordSource); 32 | #ifdef BLUR 33 | float4 blur = float4(0.0); 34 | blur += 0.25 * tex2D(texture1, vCoordBlur0); 35 | blur += 0.25 * tex2D(texture1, vCoordBlur1); 36 | blur += 0.25 * tex2D(texture1, vCoordBlur2); 37 | blur += 0.25 * tex2D(texture1, vCoordBlur3); 38 | 39 | // Initial level 40 | color = lerp(color, blur, vBlurFactor); 41 | #endif 42 | 43 | float4 highColor = color*color; 44 | highColor *= highColor; 45 | highColor *= highColor; 46 | 47 | color = vFlashColor + lerp(color, highColor, vGammaFactor); 48 | 49 | gl_FragColor = color; 50 | } 51 | -------------------------------------------------------------------------------- /source/utils/logger.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2022-2024 Volodymyr Atamanenko 3 | * 4 | * This software may be modified and distributed under the terms 5 | * of the MIT license. See the LICENSE file for details. 6 | */ 7 | 8 | /** 9 | * @file logger.h 10 | * @brief Logging utilities. 11 | */ 12 | 13 | #ifndef SOLOADER_LOGGER_H 14 | #define SOLOADER_LOGGER_H 15 | 16 | #ifdef __cplusplus 17 | extern "C" { 18 | #endif 19 | 20 | #define LT_DEBUG 0 21 | #define LT_INFO 1 22 | #define LT_WARN 2 23 | #define LT_ERROR 3 24 | #define LT_FATAL 4 25 | #define LT_SUCCESS 5 26 | #define LT_WAIT 6 27 | 28 | #ifdef DEBUG_SOLOADER 29 | #define l_debug(...) _log_print(LT_DEBUG, __VA_ARGS__) 30 | #define l_info(...) _log_print(LT_INFO, __VA_ARGS__) 31 | #define l_warn(...) _log_print(LT_WARN, __VA_ARGS__) 32 | #define l_success(...) _log_print(LT_SUCCESS, __VA_ARGS__) 33 | #define l_wait(...) _log_print(LT_WAIT, __VA_ARGS__) 34 | #else 35 | #define l_debug(...) 36 | #define l_info(...) 37 | #define l_warn(...) 38 | #define l_success(...) 39 | #define l_wait(...) 40 | #endif 41 | 42 | #define l_error(...) _log_print(LT_ERROR, __VA_ARGS__) 43 | #define l_fatal(...) _log_print(LT_FATAL, __VA_ARGS__) 44 | 45 | void _log_print(int t, const char* fmt, ...) 46 | __attribute__ ((format (printf, 2, 3))); 47 | 48 | #ifdef __cplusplus 49 | }; 50 | #endif 51 | 52 | #endif // SOLOADER_LOGGER_H 53 | -------------------------------------------------------------------------------- /extras/icons/joystick-right.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /shaders/compile.py: -------------------------------------------------------------------------------- 1 | import glob 2 | import subprocess 3 | from pathlib import Path 4 | import os 5 | 6 | sce_vp_psp2 = [] 7 | sce_fp_psp2 = [] 8 | 9 | def gettargetname(file): 10 | res = file.replace("cg/", "gxp/") 11 | res = file.replace("glsl_out/", "gxp/") 12 | res = file.replace("cg_processed/", "gxp/") 13 | res = res.replace("cg\\", "gxp\\") 14 | res = res.replace("glsl_out\\", "gxp\\") 15 | res = res.replace("cg_processed\\", "gxp\\") 16 | res = res.replace(".cg", ".gxp") 17 | return res 18 | 19 | for file in glob.glob("cg_processed/*.cg"): 20 | with open(file) as f: 21 | first_line = f.readline() 22 | if "sce_fp_psp2" in first_line: 23 | sce_fp_psp2.append(file) 24 | elif "sce_vp_psp2" in first_line: 25 | sce_vp_psp2.append(file) 26 | else: 27 | print("Malformed cg shader: no profile header found\n") 28 | 29 | for shader in sce_vp_psp2: 30 | Path(os.path.dirname(gettargetname(shader))).mkdir(parents=True, exist_ok=True) 31 | subprocess.run(["psp2cgc.exe", "-profile", "sce_vp_psp2", shader, "-cache", "-W4", "-Wperf", "-fastprecision", "-O4", "-o", gettargetname(shader)]) 32 | 33 | for shader in sce_fp_psp2: 34 | Path(os.path.dirname(gettargetname(shader))).mkdir(parents=True, exist_ok=True) 35 | subprocess.run(["psp2cgc.exe", "-profile", "sce_fp_psp2", shader, "-cache", "-W4", "-Wperf", "-fastprecision", "-O4", "-o", gettargetname(shader)]) 36 | -------------------------------------------------------------------------------- /lib/sha1/sha1.h: -------------------------------------------------------------------------------- 1 | /********************************************************************* 2 | * Filename: sha1.h 3 | * Author: Brad Conte (brad AT bradconte.com) 4 | * Copyright: 5 | * Disclaimer: This code is presented "as is" without any guarantees. 6 | * Details: Defines the API for the corresponding SHA1 implementation. 7 | *********************************************************************/ 8 | 9 | #ifndef SHA1_H 10 | #define SHA1_H 11 | 12 | #ifdef __cplusplus 13 | extern "C" { 14 | #endif 15 | 16 | /*************************** HEADER FILES ***************************/ 17 | #include 18 | 19 | /****************************** MACROS ******************************/ 20 | #define SHA1_BLOCK_SIZE 20 // SHA1 outputs a 20 byte digest 21 | 22 | /**************************** DATA TYPES ****************************/ 23 | typedef unsigned char BYTE; // 8-bit byte 24 | typedef unsigned int WORD; // 32-bit word, change to "long" for 16-bit machines 25 | 26 | typedef struct { 27 | BYTE data[64]; 28 | WORD datalen; 29 | unsigned long long bitlen; 30 | WORD state[5]; 31 | WORD k[4]; 32 | } SHA1_CTX; 33 | 34 | /*********************** FUNCTION DECLARATIONS **********************/ 35 | void sha1_init(SHA1_CTX *ctx); 36 | void sha1_update(SHA1_CTX *ctx, const BYTE data[], size_t len); 37 | void sha1_final(SHA1_CTX *ctx, BYTE hash[]); 38 | 39 | #ifdef __cplusplus 40 | }; 41 | #endif 42 | 43 | #endif // SHA1_H 44 | -------------------------------------------------------------------------------- /source/utils/settings.c: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2021 Andy Nguyen 3 | * Copyright (C) 2022-2023 Volodymyr Atamanenko 4 | * 5 | * This software may be modified and distributed under the terms 6 | * of the MIT license. See the LICENSE file for details. 7 | */ 8 | 9 | #include 10 | #include 11 | #include "settings.h" 12 | 13 | #define CONFIG_FILE_PATH DATA_PATH"config.txt" 14 | 15 | int setting_sampleSetting; 16 | bool setting_sampleSetting2; 17 | 18 | void settings_reset() { 19 | setting_sampleSetting = 1; 20 | setting_sampleSetting2 = true; 21 | } 22 | 23 | void settings_load() { 24 | settings_reset(); 25 | 26 | char buffer[30]; 27 | int value; 28 | 29 | FILE *config = fopen(CONFIG_FILE_PATH, "r"); 30 | 31 | if (config) { 32 | while (EOF != fscanf(config, "%[^ ] %d\n", buffer, &value)) { 33 | if (strcmp("setting_sampleSetting", buffer) == 0) setting_sampleSetting = (int)value; 34 | else if (strcmp("setting_sampleSetting2", buffer) == 0) setting_sampleSetting2 = (bool)value; 35 | } 36 | fclose(config); 37 | } 38 | } 39 | 40 | void settings_save() { 41 | FILE *config = fopen(CONFIG_FILE_PATH, "w+"); 42 | 43 | if (config) { 44 | fprintf(config, "%s %d\n", "setting_sampleSetting", (int)(setting_sampleSetting)); 45 | fprintf(config, "%s %d\n", "setting_sampleSetting2", (int)(setting_sampleSetting2)); 46 | fclose(config); 47 | } 48 | } 49 | -------------------------------------------------------------------------------- /shaders/cg/FCECDB104D2D2EC5CA663A40B98C3C5089226572.cg: -------------------------------------------------------------------------------- 1 | // profile sce_vp_psp2 2 | 3 | #define GLITCH_OPENGLES_2 4 | 5 | uniform float4x4 WorldViewProjectionMatrix; 6 | uniform float2 texelSize; 7 | uniform float2 decimatedTexelSize; 8 | 9 | uniform float effectFactor; 10 | 11 | void main( 12 | float4 Vertex, 13 | float2 TexCoord0, 14 | float2 TexCoord1, 15 | float2 out vCoordSource : TEXCOORD5, 16 | float2 out vCoordBlur0 : TEXCOORD0, 17 | float2 out vCoordBlur1 : TEXCOORD1, 18 | float2 out vCoordBlur2 : TEXCOORD2, 19 | float2 out vCoordBlur3 : TEXCOORD3, 20 | float out vBlurFactor : TEXCOORD9, 21 | float out vGammaFactor : TEXCOORD7, 22 | float4 out vFlashColor : COLOR0, 23 | float4 out gl_Position : POSITION, 24 | float out gl_PointSize : PSIZE 25 | ) { 26 | gl_PointSize = 1.0f; 27 | vCoordSource = TexCoord0 + float2(0.5 * texelSize.x,0.5 * texelSize.x); 28 | float2 uv = TexCoord1; 29 | //vCoordDecimated = uv; 30 | float2 offset = decimatedTexelSize; 31 | vCoordBlur0 = uv + float2( offset.x, offset.y); 32 | vCoordBlur1 = uv + float2(-offset.x, offset.y); 33 | vCoordBlur2 = uv + float2( offset.x, -offset.y); 34 | vCoordBlur3 = uv + float2(-offset.x, -offset.y); 35 | 36 | vBlurFactor = pow(effectFactor,0.4); 37 | vGammaFactor = pow(effectFactor,1.0); 38 | float flashFactor = pow(effectFactor,3.0); 39 | 40 | vFlashColor = float4(1.2,1.1,1.0,1.0) * flashFactor; 41 | 42 | gl_Position = mul(Vertex, WorldViewProjectionMatrix); 43 | } 44 | -------------------------------------------------------------------------------- /shaders/preprocess.py: -------------------------------------------------------------------------------- 1 | import os 2 | 3 | def process_cg_file(input_path, output_path): 4 | with open(input_path, 'r') as infile: 5 | content = infile.readlines() 6 | 7 | processed_content = [] 8 | for line in content: 9 | if line.startswith("##include"): 10 | include_file = line.split('"')[1] # Extract the file name from the include directive 11 | include_path = os.path.join("common", include_file) 12 | 13 | if os.path.exists(include_path): 14 | with open(include_path, 'r') as include_file_content: 15 | processed_content.extend(include_file_content.readlines()) 16 | else: 17 | print(f"Warning: {include_path} not found.") 18 | 19 | else: 20 | processed_content.append(line) 21 | 22 | with open(output_path, 'w') as outfile: 23 | outfile.writelines(processed_content) 24 | 25 | def process_folder(input_folder, output_folder): 26 | if not os.path.exists(output_folder): 27 | os.makedirs(output_folder) 28 | 29 | for filename in os.listdir(input_folder): 30 | if filename.endswith(".cg"): 31 | input_path = os.path.join(input_folder, filename) 32 | output_path = os.path.join(output_folder, filename) 33 | process_cg_file(input_path, output_path) 34 | 35 | if __name__ == "__main__": 36 | input_folder = "cg" 37 | output_folder = "cg_processed" 38 | 39 | process_folder(input_folder, output_folder) 40 | -------------------------------------------------------------------------------- /shaders/glsl/FCECDB104D2D2EC5CA663A40B98C3C5089226572.glsl: -------------------------------------------------------------------------------- 1 | #define GLITCH_OPENGLES_2 2 | 3 | attribute highp vec4 Vertex; 4 | attribute mediump vec2 TexCoord0; 5 | attribute mediump vec2 TexCoord1; 6 | 7 | uniform highp mat4 WorldViewProjectionMatrix; 8 | uniform mediump vec2 texelSize; 9 | uniform mediump vec2 decimatedTexelSize; 10 | 11 | varying mediump vec2 vCoordSource; 12 | //varying mediump vec2 vCoordDecimated; 13 | varying mediump vec2 vCoordBlur0; 14 | varying mediump vec2 vCoordBlur1; 15 | varying mediump vec2 vCoordBlur2; 16 | varying mediump vec2 vCoordBlur3; 17 | 18 | uniform lowp float effectFactor; 19 | varying lowp float vBlurFactor; 20 | //varying lowp float vFlashFactor; 21 | varying lowp float vGammaFactor; 22 | //varying lowp float vInvFlashFactor; 23 | varying lowp vec4 vFlashColor; 24 | 25 | 26 | void main(void) 27 | { 28 | vCoordSource = TexCoord0 + vec2(0.5 * texelSize.x,0.5 * texelSize.x); 29 | mediump vec2 uv = TexCoord1; 30 | //vCoordDecimated = uv; 31 | mediump vec2 offset = decimatedTexelSize; 32 | vCoordBlur0 = uv + vec2( offset.x, offset.y); 33 | vCoordBlur1 = uv + vec2(-offset.x, offset.y); 34 | vCoordBlur2 = uv + vec2( offset.x, -offset.y); 35 | vCoordBlur3 = uv + vec2(-offset.x, -offset.y); 36 | 37 | vBlurFactor = pow(effectFactor,0.4); 38 | vGammaFactor = pow(effectFactor,1.0); 39 | lowp float flashFactor = pow(effectFactor,3.0); 40 | 41 | vFlashColor = vec4(1.2,1.1,1.0,1.0) * flashFactor; 42 | 43 | gl_Position = WorldViewProjectionMatrix * Vertex; 44 | } 45 | -------------------------------------------------------------------------------- /source/reimpl/sys.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2021 Andy Nguyen 3 | * Copyright (C) 2022 Rinnegatamante 4 | * Copyright (C) 2022-2023 Volodymyr Atamanenko 5 | * 6 | * This software may be modified and distributed under the terms 7 | * of the MIT license. See the LICENSE file for details. 8 | */ 9 | 10 | /** 11 | * @file sys.h 12 | * @brief Implementations and wrappers for misc. system functions. 13 | */ 14 | 15 | #ifndef SOLOADER_SYS_H 16 | #define SOLOADER_SYS_H 17 | 18 | #ifdef __cplusplus 19 | extern "C" { 20 | #endif 21 | 22 | #include 23 | 24 | #define PAGE_SIZE 4096 25 | 26 | clock_t clock_soloader(void); 27 | 28 | int clock_gettime_soloader(clockid_t clock_id, struct timespec * tp); 29 | 30 | int clock_getres_soloader(clockid_t clock_id, struct timespec * res); 31 | 32 | int __system_property_get_soloader(const char *name, char *value); 33 | 34 | void assert2(const char *f, int l, const char *func, const char *msg); 35 | 36 | void syscall(int c); 37 | 38 | void __stack_chk_fail_soloader(); 39 | 40 | void abort_soloader(); 41 | 42 | void exit_soloader(int status); 43 | 44 | int __atomic_dec(volatile int *ptr); 45 | 46 | int __atomic_inc(volatile int *ptr); 47 | 48 | int __atomic_swap(int new_value, volatile int *ptr); 49 | 50 | int __atomic_cmpxchg(int old_value, int new_value, volatile int* ptr); 51 | 52 | char * getenv_soloader(const char * name); 53 | 54 | int setenv_soloader(const char * name, const char * value, int overwrite); 55 | 56 | int getpagesize(void); 57 | 58 | #ifdef __cplusplus 59 | }; 60 | #endif 61 | 62 | #endif // SOLOADER_SYS_H 63 | -------------------------------------------------------------------------------- /shaders/common/common_shader_11.cg: -------------------------------------------------------------------------------- 1 | // profile sce_fp_psp2 2 | 3 | #if defined(LIGHTMAP) || defined(CG_FOG) 4 | #define DIFFUSE 5 | #endif 6 | 7 | uniform sampler2D DiffuseMapSampler; 8 | uniform samplerCUBE CubeMapSampler; 9 | uniform sampler2D LightMapSampler; 10 | uniform sampler2D NormalMapSampler; 11 | uniform sampler2D ReflectionMapSampler; 12 | 13 | uniform float4 fogcolor; 14 | 15 | uniform float4 lightmapFactor; 16 | uniform float3 sunFactorA; 17 | 18 | void main( 19 | float2 vCoordDiffuse : TEXCOORD1, 20 | float2 vCoordLightMap : TEXCOORD2, 21 | float2 vCoordReflectionMap : TEXCOORD3, 22 | float4 vDebug : TEXCOORD4, 23 | float3 vReflection : TEXCOORD7, 24 | float3 vReflectionAmount : TEXCOORD8, 25 | float fogFactor : TEXCOORD9, 26 | float4 out gl_FragColor : COLOR 27 | ) { 28 | float4 color = float4(0,0,0,0); 29 | 30 | #ifdef DIFFUSE 31 | color = tex2D(DiffuseMapSampler, vCoordDiffuse); 32 | #endif 33 | 34 | #ifdef LIGHTMAP 35 | float4 lightmap = tex2D(LightMapSampler, vCoordLightMap); 36 | lightmap *= (2.0 - lightmap.a); 37 | color *= lightmap * lightmapFactor; 38 | #endif 39 | 40 | float4 reflectedColor = texCUBE(CubeMapSampler, vReflection); 41 | reflectedColor.rgb *= vReflectionAmount; 42 | 43 | #ifdef REFLECTIONMAP 44 | float4 reflectionMap = tex2D(ReflectionMapSampler, vCoordReflectionMap); 45 | reflectedColor.rgb *= reflectionMap.r; 46 | #endif 47 | 48 | color += reflectedColor; 49 | 50 | 51 | #ifdef CG_FOG 52 | color.xyz = lerp(color.xyz, fogcolor.xyz, fogFactor); 53 | #endif 54 | 55 | #ifdef DIFFUSE 56 | color.rgb += sunFactorA; 57 | #endif 58 | 59 | gl_FragColor = color; 60 | } 61 | -------------------------------------------------------------------------------- /shaders/common/common_shader_15.cg: -------------------------------------------------------------------------------- 1 | // profile sce_fp_psp2 2 | 3 | uniform sampler2D DiffuseMapSampler; 4 | uniform sampler2D Diffuse2MapSampler; 5 | 6 | uniform sampler2D LightMapSampler; 7 | uniform float4 lightmapFactor; 8 | 9 | uniform sampler2D BlendMapSampler; 10 | uniform float threshWidth; 11 | 12 | uniform float4 fogcolor; 13 | 14 | uniform float3 sunFactorA; 15 | 16 | void main( 17 | float2 vCoord0 : TEXCOORD0, 18 | float2 vBlendEdges : TEXCOORD3, 19 | float vBlend : TEXCOORD2, 20 | float2 vCoord1 : TEXCOORD1, 21 | float fogFactor : TEXCOORD9, 22 | float4 out gl_FragColor : COLOR 23 | ) { 24 | float4 color = tex2D(DiffuseMapSampler, vCoord0); 25 | float4 color2 = tex2D(Diffuse2MapSampler, vCoord0); 26 | 27 | #ifdef BLENDMAP 28 | float blendMap = tex2D(BlendMapSampler, vCoord0).r; 29 | 30 | float blend = clamp((blendMap - vBlendEdges.x) * vBlendEdges.y, 0.0, 1.0); 31 | color.rgb = lerp(color2.rgb, color.rgb, blend); 32 | 33 | #elif defined(STEP) 34 | float blendMap = tex2D(BlendMapSampler, vCoord0).r; 35 | float blend = clamp((blendMap - vBlend) * 1000.0, 0.0, 1.0); 36 | //float blend = step(blendMap, vBlend); 37 | color.rgb = lerp(color.rgb, color2.rgb, blend); 38 | #else 39 | color.rgb = lerp(color.rgb, color2.rgb, vBlend); 40 | #endif 41 | 42 | #ifdef LIGHTMAP 43 | float4 lightmap = tex2D(LightMapSampler, vCoord1); 44 | color *= lightmap * lightmapFactor; 45 | #endif 46 | 47 | #ifdef CG_FOG 48 | color.rgb = lerp(color.rgb, fogcolor.rgb, fogFactor); 49 | #endif 50 | 51 | #ifdef GAMMA 52 | color.rgb *= color.rgb; 53 | #endif 54 | 55 | color.rgb += sunFactorA; 56 | 57 | gl_FragColor = color; 58 | } 59 | -------------------------------------------------------------------------------- /shaders/glsl/common/common_shader_5.glsl: -------------------------------------------------------------------------------- 1 | uniform lowp sampler2D texture0; 2 | uniform lowp sampler2D texture1; 3 | uniform lowp float threshold; 4 | uniform lowp float bloomFactor; 5 | 6 | 7 | varying mediump vec2 vCoordSource; 8 | //varying mediump vec2 vCoordDecimated; 9 | 10 | varying mediump vec2 vCoordBlur0; 11 | varying mediump vec2 vCoordBlur1; 12 | varying mediump vec2 vCoordBlur2; 13 | varying mediump vec2 vCoordBlur3; 14 | 15 | uniform mediump vec2 texelSize; 16 | uniform mediump vec2 invert; 17 | //uniform mediump float decimatedTexelSize; 18 | 19 | uniform mediump float random; 20 | 21 | uniform lowp float effectFactor; 22 | varying lowp float vBlurFactor; 23 | //varying lowp float vFlashFactor; 24 | varying lowp float vGammaFactor; 25 | //varying lowp float vInvFlashFactor; 26 | varying lowp vec4 vFlashColor; 27 | 28 | lowp vec4 screen(lowp vec4 a, lowp vec4 b) 29 | { 30 | return b + (a * (1.0-b)); 31 | } 32 | 33 | void main() 34 | { 35 | lowp vec4 color = texture2D(texture0, vCoordSource); 36 | #ifdef BLUR 37 | lowp vec4 blur = vec4(0.0); 38 | blur += 0.25 * texture2D(texture1, vCoordBlur0); 39 | blur += 0.25 * texture2D(texture1, vCoordBlur1); 40 | blur += 0.25 * texture2D(texture1, vCoordBlur2); 41 | blur += 0.25 * texture2D(texture1, vCoordBlur3); 42 | 43 | // Initial level 44 | color = mix(color, blur, vBlurFactor); 45 | #endif 46 | 47 | lowp vec4 highColor = color*color; 48 | highColor *= highColor; 49 | highColor *= highColor; 50 | 51 | color = vFlashColor + mix(color, highColor, vGammaFactor); 52 | 53 | 54 | 55 | gl_FragColor = color;//mix(color, highColor, effectFactor); 56 | } 57 | -------------------------------------------------------------------------------- /shaders/glsl/common/common_shader_11.glsl: -------------------------------------------------------------------------------- 1 | #if defined(LIGHTMAP) || defined(CG_FOG) 2 | #define DIFFUSE 3 | #endif 4 | 5 | uniform sampler2D DiffuseMapSampler; 6 | uniform samplerCube CubeMapSampler; 7 | uniform sampler2D LightMapSampler; 8 | uniform sampler2D NormalMapSampler; 9 | uniform sampler2D ReflectionMapSampler; 10 | 11 | varying mediump vec2 vCoordDiffuse; 12 | varying mediump vec2 vCoordLightMap; 13 | varying mediump vec2 vCoordReflectionMap; 14 | varying mediump vec4 vDebug; 15 | 16 | varying highp vec3 vReflection; 17 | varying lowp vec3 vReflectionAmount; 18 | 19 | uniform lowp vec4 fogcolor; 20 | varying lowp float fogFactor; 21 | 22 | uniform lowp vec4 lightmapFactor; 23 | uniform lowp vec3 sunFactorA; 24 | 25 | void main() 26 | { 27 | lowp vec4 color = vec4(0,0,0,0); 28 | 29 | #ifdef DIFFUSE 30 | color = texture2D(DiffuseMapSampler, vCoordDiffuse); 31 | #endif 32 | 33 | #ifdef LIGHTMAP 34 | lowp vec4 lightmap = texture2D(LightMapSampler, vCoordLightMap); 35 | lightmap *= (2.0 - lightmap.a); 36 | color *= lightmap * lightmapFactor; 37 | #endif 38 | 39 | 40 | lowp vec4 reflectedColor = textureCube(CubeMapSampler, vReflection); 41 | reflectedColor.rgb *= vReflectionAmount; 42 | 43 | #ifdef REFLECTIONMAP 44 | lowp vec4 reflectionMap = texture2D(ReflectionMapSampler, vCoordReflectionMap); 45 | reflectedColor.rgb *= reflectionMap.r; 46 | #endif 47 | 48 | 49 | color += reflectedColor; 50 | 51 | 52 | #ifdef CG_FOG 53 | color.xyz = mix(color.xyz, fogcolor.xyz, fogFactor); 54 | #endif 55 | 56 | #ifdef DIFFUSE 57 | color.rgb += sunFactorA; 58 | #endif 59 | 60 | gl_FragColor = color; 61 | } 62 | -------------------------------------------------------------------------------- /shaders/glsl/common/common_shader_3.glsl: -------------------------------------------------------------------------------- 1 | #define TEXTURE_2D 0 2 | #define TEXTURE_3D 1 3 | #define TEXTURE_CUBE_MAP 2 4 | #define TEXTURE_RECT 3 5 | 6 | #ifndef TEXTURE_TYPE 7 | # define TEXTURE_TYPE TEXTURE_2D 8 | #endif 9 | 10 | #if GL_ES && TEXTURE_TYPE == TEXTURE_3D && !defined(GL_OES_texture_3D) 11 | # undef TEXTURE_TYPE 12 | # define TEXTURE_TYPE TEXTURE_2D 13 | #elif GL_ES && TEXTURE_TYPE == TEXTURE_3D 14 | # extension GL_OES_texture_3D : enable 15 | #elif GL_ES && TEXTURE_TYPE == TEXTURE_RECT 16 | # error texture rectangle not supported with GLES2 17 | #elif TEXTURE_TYPE == TEXTURE_RECT 18 | # extension GL_ARB_texture_rectangle : enable 19 | #endif 20 | 21 | #if TEXTURE_TYPE == TEXTURE_3D 22 | uniform lowp sampler3D texture; 23 | #elif TEXTURE_TYPE == TEXTURE_CUBE_MAP 24 | uniform lowp samplerCube texture; 25 | #elif TEXTURE_TYPE == TEXTURE_RECT 26 | uniform lowp sampler2DRect texture; 27 | #else 28 | uniform lowp sampler2D texture; 29 | uniform lowp sampler2D texture_alpha; 30 | #endif 31 | 32 | #if TEXTURE_TYPE == TEXTURE_3D || TEXTURE_TYPE == TEXTURE_CUBE_MAP 33 | varying mediump vec3 vCoord0; 34 | #else 35 | varying mediump vec2 vCoord0; 36 | #endif 37 | varying lowp vec4 vColor0; 38 | 39 | void main() 40 | { 41 | #if TEXTURE_TYPE == TEXTURE_3D 42 | gl_FragColor = texture3D(texture, vCoord0) * vColor0; 43 | #elif TEXTURE_TYPE == TEXTURE_CUBE_MAP 44 | gl_FragColor = textureCube(texture, vCoord0) * vColor0; 45 | #elif TEXTURE_TYPE == TEXTURE_RECT 46 | gl_FragColor = texture2DRect(texture, vCoord0) * vColor0; 47 | #else 48 | gl_FragColor = vec4(texture2D(texture, vCoord0).rgb, 49 | texture2D(texture_alpha, vCoord0).g) * vColor0; 50 | #endif 51 | } 52 | -------------------------------------------------------------------------------- /shaders/glsl/common/common_shader_15.glsl: -------------------------------------------------------------------------------- 1 | uniform sampler2D DiffuseMapSampler; 2 | uniform sampler2D Diffuse2MapSampler; 3 | 4 | uniform sampler2D LightMapSampler; 5 | uniform lowp vec4 lightmapFactor; 6 | 7 | uniform sampler2D BlendMapSampler; 8 | uniform lowp float threshWidth; 9 | 10 | varying mediump vec2 vCoord0; 11 | varying mediump vec2 vBlendEdges; 12 | varying mediump float vBlend; 13 | 14 | varying mediump vec2 vCoord1; 15 | uniform lowp vec4 fogcolor; 16 | varying lowp float fogFactor; 17 | 18 | uniform lowp vec3 sunFactorA; 19 | 20 | void main() 21 | { 22 | lowp vec4 color = texture2D(DiffuseMapSampler, vCoord0); 23 | lowp vec4 color2 = texture2D(Diffuse2MapSampler, vCoord0); 24 | 25 | #ifdef BLENDMAP 26 | lowp float blendMap = texture2D(BlendMapSampler, vCoord0).r; 27 | // lowp float blend = 1.0-smoothstep(vBlendEdges.x,vBlendEdges.y,blendMap); 28 | 29 | lowp float blend = clamp((blendMap - vBlendEdges.x) * vBlendEdges.y, 0.0, 1.0); 30 | color.rgb = mix(color2.rgb, color.rgb, blend); 31 | 32 | #elif defined(STEP) 33 | lowp float blendMap = texture2D(BlendMapSampler, vCoord0).r; 34 | lowp float blend = clamp((blendMap - vBlend) * 1000.0, 0.0, 1.0); 35 | //lowp float blend = step(blendMap, vBlend); 36 | color.rgb = mix(color.rgb, color2.rgb, blend); 37 | #else 38 | color.rgb = mix(color.rgb, color2.rgb, vBlend); 39 | #endif 40 | 41 | 42 | 43 | #ifdef LIGHTMAP 44 | lowp vec4 lightmap = texture2D(LightMapSampler, vCoord1); 45 | color *= lightmap * lightmapFactor; 46 | #endif 47 | 48 | #ifdef CG_FOG 49 | color.rgb = mix(color.rgb, fogcolor.rgb, fogFactor); 50 | #endif 51 | 52 | #ifdef GAMMA 53 | color.rgb *= color.rgb; 54 | #endif 55 | 56 | color.rgb += sunFactorA; 57 | 58 | gl_FragColor = color; 59 | } 60 | -------------------------------------------------------------------------------- /shaders/glsl/common/common_shader_2.glsl: -------------------------------------------------------------------------------- 1 | #define TEXTURE_1D 0 2 | #define TEXTURE_2D 1 3 | #define TEXTURE_3D 2 4 | #define TEXTURE_CUBE_MAP 3 5 | #define TEXTURE_RECT 4 6 | 7 | #ifndef TEXTURE_TYPE 8 | # define TEXTURE_TYPE TEXTURE_2D 9 | #endif 10 | 11 | #if GL_ES && TEXTURE_TYPE == TEXTURE_3D && !defined(GL_OES_texture_3D) 12 | # undef TEXTURE_TYPE 13 | # define TEXTURE_TYPE TEXTURE_2D 14 | #elif GL_ES && TEXTURE_TYPE == TEXTURE_3D 15 | # extension GL_OES_texture_3D : enable 16 | #elif GL_ES && TEXTURE_TYPE == TEXTURE_RECT 17 | # undef TEXTURE_TYPE 18 | # define TEXTURE_TYPE TEXTURE_2D 19 | #elif TEXTURE_TYPE == TEXTURE_RECT 20 | # extension GL_ARB_texture_rectangle : enable 21 | #elif GL_ES && TEXTURE_TYPE == TEXTURE_1D 22 | # undef TEXTURE_TYPE 23 | # define TEXTURE_TYPE TEXTURE_2D 24 | #endif 25 | 26 | #if TEXTURE_TYPE == TEXTURE_3D 27 | uniform lowp sampler3D texture; 28 | #elif TEXTURE_TYPE == TEXTURE_CUBE_MAP 29 | uniform lowp samplerCube texture; 30 | #elif TEXTURE_TYPE == TEXTURE_RECT 31 | uniform lowp sampler2DRect texture; 32 | #elif TEXTURE_TYPE == TEXTURE_1D 33 | uniform lowp sampler1D texture; 34 | #else 35 | uniform lowp sampler2D texture; 36 | #endif 37 | 38 | #if TEXTURE_TYPE == TEXTURE_3D || TEXTURE_TYPE == TEXTURE_CUBE_MAP 39 | varying mediump vec3 vCoord0; 40 | #else 41 | varying mediump vec2 vCoord0; 42 | #endif 43 | 44 | void main() 45 | { 46 | #if TEXTURE_TYPE == TEXTURE_3D 47 | gl_FragColor = texture3D(texture, vCoord0); 48 | #elif TEXTURE_TYPE == TEXTURE_CUBE_MAP 49 | gl_FragColor = textureCube(texture, vCoord0); 50 | #elif TEXTURE_TYPE == TEXTURE_RECT 51 | gl_FragColor = texture2DRect(texture, vCoord0); 52 | #elif TEXTURE_TYPE == TEXTURE_1D 53 | gl_FragColor = texture1D(texture, vCoord0.x); 54 | #else 55 | gl_FragColor = texture2D(texture, vCoord0); 56 | #endif 57 | } 58 | -------------------------------------------------------------------------------- /shaders/common/common_shader_19.cg: -------------------------------------------------------------------------------- 1 | // profile sce_fp_psp2 2 | 3 | uniform samplerCUBE CubeMapSampler; 4 | uniform sampler2D GeneratedWaterNormals; 5 | 6 | 7 | 8 | uniform float4 fogcolor; 9 | 10 | uniform float3 sunFactorA; 11 | 12 | uniform float3 downColor; 13 | uniform float3 horizonColor; 14 | 15 | void main( 16 | float2 vCoord : TEXCOORD0, 17 | float4 vDebug : TEXCOORD4, 18 | float3 vEyeDirection : TEXCOORD6, 19 | float vFogFactor : TEXCOORD9, 20 | float4 vPosition : TEXCOORD2, 21 | float4 vEyePosition : TEXCOORD5, 22 | float4 vBaseColor : TEXCOORD3, 23 | float4 out gl_FragColor : COLOR 24 | ) { 25 | float3 eyeDirection = vEyeDirection;//normalize(vEyePosition.xyz - vPosition.xyz); 26 | 27 | float4 color = vBaseColor; 28 | 29 | //normal.z=-normal.z; 30 | #ifdef LOW_WATER 31 | float3 normal = tex2D(GeneratedWaterNormals, vCoord*1.6).xzy * float3(2.0,2.0,-2.0) - float3(1.0,1.0,-1.0); 32 | 33 | float3 reflection = eyeDirection - normal; 34 | 35 | float reflectionAmount = normal.x + normal.y + normal.z; 36 | float d = max(0.7,normal.x + normal.y + normal.z); 37 | float4 reflectedColor = float4(float3(d*0.8,d*0.9,d),1.0); 38 | 39 | color *= reflectedColor; 40 | #else 41 | float3 normal = tex2D(GeneratedWaterNormals, vCoord).xzy * float3(2.0,2.0,-2.0) - float3(1.0,1.0,-1.0); 42 | float3 reflection = reflect(eyeDirection, normal); 43 | 44 | float reflectionAmount = min(1.0 - dot(eyeDirection, normal), 0.90); 45 | reflectionAmount *= reflectionAmount; 46 | reflectionAmount *= reflectionAmount; 47 | float4 reflectedColor = texCUBE(CubeMapSampler, reflection); 48 | reflectedColor *= reflectionAmount; 49 | color += reflectedColor; 50 | #endif 51 | 52 | #ifdef CG_FOG 53 | color.xyz = lerp(color.xyz, fogcolor.xyz, vFogFactor); 54 | #endif 55 | 56 | color.rgb += sunFactorA; 57 | 58 | gl_FragColor = color; 59 | } 60 | -------------------------------------------------------------------------------- /shaders/common/common_shader_1.cg: -------------------------------------------------------------------------------- 1 | // profile sce_fp_psp2 2 | 3 | uniform sampler2D texture0; 4 | uniform sampler2D texture1; 5 | uniform float threshold; 6 | uniform float bloomFactor; 7 | 8 | uniform float2 texelSize; 9 | uniform float2 invert; 10 | uniform float infraLinesFactor; 11 | 12 | uniform float random; 13 | 14 | float4 screen(float4 a, float4 b) { 15 | return b + (a * (1.0-b)); 16 | } 17 | 18 | void main( 19 | float2 vCoordSource : TEXCOORD5, 20 | float2 vCoordDecimated : TEXCOORD4, 21 | float2 vCoordBlur0 : TEXCOORD0, 22 | float2 vCoordBlur1 : TEXCOORD1, 23 | float2 vCoordBlur2 : TEXCOORD2, 24 | float2 vCoordBlur3 : TEXCOORD3, 25 | float4 gl_FragCoord : WPOS, 26 | float4 out gl_FragColor : COLOR 27 | ) { 28 | float color = tex2D(texture0, vCoordSource).r; 29 | 30 | float blur = 0.0; 31 | #ifdef BLUR 32 | float4 b = float4(tex2D(texture1, vCoordBlur0).g, 33 | tex2D(texture1, vCoordBlur1).g, 34 | tex2D(texture1, vCoordBlur2).g, 35 | tex2D(texture1, vCoordBlur3).g); 36 | 37 | blur = dot(float4(0.25),b); 38 | 39 | float line = 0.5; 40 | #else 41 | float line = 1.0; 42 | #endif 43 | 44 | // Horizontal lines in screen 45 | #ifdef LINES 46 | line = min(0.5,fmod(gl_FragCoord.x,2.0)*0.5+infraLinesFactor); 47 | #endif 48 | 49 | // Initial level 50 | float level = blur + color * line; 51 | 52 | // Noise 53 | #ifdef NOISE 54 | float2 co = vCoordSource; 55 | float r = random; 56 | float2 seed = co+r; 57 | float2 d = float2(12.9898,78.233); 58 | float rand = frac(sin(dot(seed ,d)) * 43758.5453); 59 | float noise = rand * 0.14 - 0.07; 60 | level += noise; 61 | #endif 62 | 63 | // Negative 64 | //level = invert.x + invert.y * clamp(level, 0.0,1.1); 65 | #ifdef INVERTED 66 | level = 1.0 - level; 67 | #endif 68 | 69 | #ifdef TINT 70 | float4 tint = float4(0.90, 1.00, 0.96,1.0); // Tint 71 | 72 | gl_FragColor = level * tint; 73 | #else 74 | gl_FragColor = float4(level); 75 | #endif 76 | } 77 | -------------------------------------------------------------------------------- /shaders/glsl/common/common_shader_19.glsl: -------------------------------------------------------------------------------- 1 | uniform samplerCube CubeMapSampler; 2 | uniform sampler2D GeneratedWaterNormals; 3 | 4 | 5 | varying mediump vec2 vCoord; 6 | varying mediump vec4 vDebug; 7 | varying highp vec3 vEyeDirection; 8 | 9 | uniform lowp vec4 fogcolor; 10 | varying lowp float vFogFactor; 11 | 12 | uniform lowp vec3 sunFactorA; 13 | 14 | uniform lowp vec3 downColor; 15 | uniform lowp vec3 horizonColor; 16 | varying highp vec4 vPosition; 17 | varying highp vec4 vEyePosition; 18 | varying lowp vec4 vBaseColor; 19 | 20 | void main() 21 | { 22 | highp vec3 eyeDirection = vEyeDirection;//normalize(vEyePosition.xyz - vPosition.xyz); 23 | 24 | lowp vec4 color = vBaseColor; 25 | 26 | //normal.z=-normal.z; 27 | #ifdef LOW_WATER 28 | mediump vec3 normal = texture2D(GeneratedWaterNormals, vCoord*1.6).xzy * vec3(2.0,2.0,-2.0) - vec3(1.0,1.0,-1.0); 29 | 30 | mediump vec3 reflection = eyeDirection - normal; 31 | 32 | mediump float reflectionAmount = normal.x + normal.y + normal.z; 33 | mediump float d = max(0.7,normal.x + normal.y + normal.z); 34 | lowp vec4 reflectedColor = vec4(vec3(d*0.8,d*0.9,d),1.0); 35 | 36 | color *= reflectedColor; 37 | #else 38 | mediump vec3 normal = texture2D(GeneratedWaterNormals, vCoord).xzy * vec3(2.0,2.0,-2.0) - vec3(1.0,1.0,-1.0); 39 | mediump vec3 reflection = reflect(eyeDirection, normal); 40 | 41 | mediump float reflectionAmount = min(1.0 - dot(eyeDirection, normal), 0.90); 42 | reflectionAmount *= reflectionAmount; 43 | reflectionAmount *= reflectionAmount; 44 | lowp vec4 reflectedColor = textureCube(CubeMapSampler, reflection); 45 | reflectedColor *= reflectionAmount; 46 | color += reflectedColor; 47 | #endif 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | #ifdef FOG 56 | color.xyz = mix(color.xyz, fogcolor.xyz, vFogFactor); 57 | #endif 58 | 59 | color.rgb += sunFactorA; 60 | 61 | gl_FragColor = color; 62 | } 63 | -------------------------------------------------------------------------------- /source/reimpl/time64_config.h: -------------------------------------------------------------------------------- 1 | /* Debugging 2 | TIME_64_DEBUG 3 | Define if you want debugging messages 4 | */ 5 | /* #define TIME_64_DEBUG */ 6 | 7 | 8 | /* INT_64_T 9 | A 64 bit integer type to use to store time and others. 10 | Must be defined. 11 | */ 12 | #define INT_64_T long long 13 | 14 | 15 | /* USE_TM64 16 | Should we use a 64 bit safe replacement for tm? This will 17 | let you go past year 2 billion but the struct will be incompatible 18 | with tm. Conversion functions will be provided. 19 | */ 20 | /* #define USE_TM64 */ 21 | 22 | 23 | /* Availability of system functions. 24 | 25 | HAS_GMTIME_R 26 | Define if your system has gmtime_r() 27 | 28 | HAS_LOCALTIME_R 29 | Define if your system has localtime_r() 30 | 31 | HAS_TIMEGM 32 | Define if your system has timegm(), a GNU extension. 33 | */ 34 | #define HAS_GMTIME_R 35 | #define HAS_LOCALTIME_R 36 | #define HAS_TIMEGM 37 | 38 | 39 | /* Details of non-standard tm struct elements. 40 | 41 | HAS_TM_TM_GMTOFF 42 | True if your tm struct has a "tm_gmtoff" element. 43 | A BSD extension. 44 | 45 | HAS_TM_TM_ZONE 46 | True if your tm struct has a "tm_zone" element. 47 | A BSD extension. 48 | */ 49 | //#define HAS_TM_TM_GMTOFF 50 | //#define HAS_TM_TM_ZONE 51 | 52 | 53 | /* USE_SYSTEM_LOCALTIME 54 | USE_SYSTEM_GMTIME 55 | Should we use the system functions if the time is inside their range? 56 | Your system localtime() is probably more accurate, but our gmtime() is 57 | fast and safe. 58 | */ 59 | #define USE_SYSTEM_LOCALTIME 60 | /* #define USE_SYSTEM_GMTIME */ 61 | 62 | 63 | /* SYSTEM_LOCALTIME_MAX 64 | SYSTEM_LOCALTIME_MIN 65 | SYSTEM_GMTIME_MAX 66 | SYSTEM_GMTIME_MIN 67 | Maximum and minimum values your system's gmtime() and localtime() 68 | can handle. We will use your system functions if the time falls 69 | inside these ranges. 70 | */ 71 | #define SYSTEM_LOCALTIME_MAX 2147483647 72 | #define SYSTEM_LOCALTIME_MIN -2147483647 73 | #define SYSTEM_GMTIME_MAX 2147483647 74 | #define SYSTEM_GMTIME_MIN -2147483647 75 | 76 | --------------------------------------------------------------------------------