0 4H…Ò0²ÚÿÍu§ðp8·d%qy)6o;]ÉAŠösï÷ôôô”°ÂVl†3>>?????????????ƒ  PPPPP___TTUUUUUVUVVVVWWWWWXXXX08:=??????????????????????????„   p PQTUVUVVVVVVWWWXWYZZY[\Z\]]^^^ @$@"A$5772*++),$'+ - +        ÿúŒðPQðüàààÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÀÀÀÀ°°Œ &%$######$$$$%%%%%&&&&'''((()                A ` !" # $&&'()*++,-///////////////p !" # $&&'()*++,-///////////////„p‚ `" ##$$%&''(())*****+++++,,-`P // / /(////////////////////¿lB B B b BB BBB B B B B b BB B B B B B B b BB BBB B B B B b BBBb B B b¬B€Q B B b BB BBB B B B B b BB B B B B B B b BB BBB B B B B b BBBb B B bøDˆQDddj D DDDDDj D DDDddj D DDDDDj D DDDddj D DDDDDj D DDDddj D DDDDDj D DDÅÅŁÅÅÅŁÅÅÅÅŁÅÅÅŁÅÅÅÅŁÅÅÅŁÅÅÅÅŁÅÅÅŁÅÅDDddj D DDDDDj D DDDddj D DDDDDj D DDDddj D DDDDDj D DDDddj D DjjjjjDÅÅŁÅÅÅŁÅÅÅÅŁÅÅÅŁÅÅÅÅŁÅÅÅŁÅÅÅÅŁÅŁÄƒƒƒƒc c c ccc cccc c c cc cƒpe `c€ƒƒƒcƒƒ cc cc ccc c c*%ƒƒƒ Žkkk k k k kkkk kKkÔGGGG GGGGGG GGGG tYkkk k k k kkkk kKkdGGGG GGGGGG GGGGŠDDDŠddDDDDDDDDDDDjdddDDDDD D D D D D DŠddDDŠDD D DDDŠ„dd d dŠŠDÅŁÅÅÅÅÅÅŁÅÅÅÅÅÅŁÅÅŁÅÅŁÅŁhB€QBBb BBBBBbBBBb BBBBBbBBBb BBBBBb"""BBBBBBbšB€PBBb BBBBBbBBBb BBBBBbBBBb BBBBBb"""BBBBBBbøDDddj D DDDDDj D DDDddj D D D DDDj D DDDddj D D D DDDj DD$$DDjDD D DDDj D Dž‹ E‹pe@ `‹ ‹‹‹‹ kk k k k kkk‹kk k k k kkk K K K K K K k Kk LLLLL L L L L LLLlllll l l l l lllŒ Œ l l k k kkk k(%bbb b b b b b b b  k k kkk kHB€PBBbBB B B b BBBBBbB BBbBB B0ˆB€PBBb BBBBBBbBBBb BBBBBbˆB€QBBbBB B B b BBBBBbB BBbBB BøDDddj D DDDDDj D DDDddj D D D DDDj D D D D dj D D D D Dj D D D D DjDjjjjjkK K K K K K KBB B B K K K K K K BBB B BÛK€Q K K K K K KBB B B K K K K K K BBB B BôDDDdDdJDDDDDDDdDdJDDDDDDDdDdJDDDDDDDdDdJDDDDDÅÅÅÅŁÅÅÅÅÅÅÅÅŁÅÅÅÅÅÅÅÅŁÅÅÅÅÅÅÅÅŁÅÅÅÅÔ‘‘ q q q‘‘ ‘惃ƒ ƒ ƒ ƒ Eƒ @ƒƒƒƒc ccccƒƒc cƒ‹‹‹‹‹‹‹‹‹‹‹‹‹‹‹‹‹‹‹‹‹‹‹‹‹‹‹‹‹‹‹‹‹‹‹‹‹ ‹0K0P‡0ˆ0‡0ˆP‰²0‰²0óó‘ó’óUօeօeڅeڅeچeچe‡eZ‡e¹?ˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆ°« ˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆ»ªˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆ°« ˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆ»ªˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆ» ˆˆˆˆˆ  ˆˆˆˆˆˆˆˆˆˆº»ˆˆˆˆˆ ª ˆˆÀÌ ˆˆˆˆˆˆˆ°ˆ » ˆˆˆˆˆ ª ˆˆ Àˆˆˆˆˆˆˆ»ˆ°»ˆˆˆˆˆ ª ˆˆ pwLjˆˆˆˆˆˆ°«ˆ» ˆ ˆˆˆˆ ª ˆˆÀ ÀŒˆˆˆˆˆˆ»ªˆ°»°ˆ ˆˆˆˆ ª ˆˆÌẍˆˆˆˆˆ°« ˆ» »ˆˆˆˆˆªº ˆˆÌpẍˆˆˆˆˆ»ªˆ°»°«ˆˆˆˆ ˆ ° ˆˆÌwˆÌwˆˆˆˆˆˆ°« ˆ»»ªˆˆˆˆ ˆ °ˆˆÌẅÀwÈÌ Ì ˆˆˆˆˆ»ªˆ°« ˆˆˆˆˆ ˆˆÀ wÀ ˆ wÀŒÌÀ À ÀÌ ˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆŒwˆÈˆÌˆÌˆÌ̌ÈÌÌÌnj‡|ÌȌÌ̌ˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆÈ‡ˆŒẍ̈̇ÌÈ|‡ˆÇ|‡xÌxẅȈˆˆˆˆÈÌ̈ˆÌ̈ˆˆˆˆˆˆˆˆ°« » ˆ»ªˆˆˆˆˆ ˆˆÇÌ pÈ|À|À|Ç ÌwÇ|ÌÌ|Ç|ẅÀ ÌÀ ˆÌˆˆ»ª°»ˆ°« ˆˆˆˆˆ  ˆˆpˆ|ÀwÀ|À|ÈÌÌÌwÌ|̈À|wÌÀÌÌ̈ˆ°« » ˆ»ªˆˆˆˆˆ °ˆˆpwˆÀÇpÇ|Ç|‡wpwÀŒÌÌ wÀÌ À|ẇwˆˆ»ª°»ˆ°« ˆˆˆˆˆ ˆˆˆÌpÌÌÌp‡pwwwÀÌ wÌÌw È À|ÌÇ|wÌwˆˆ« »ˆ»ªˆˆˆˆˆ   ˆˆÈ Ìppp‡xwÌwÇ È|ÌÌÌÌÌ ˆˆª°ˆ°« ˆˆˆˆˆ°°™ ˆˆˆÀÌ|wwwˆxwÀÌwÌÌ|pwp‡wˆ°ˆ ˆ»ªˆˆˆˆˆ ° ™ ˆˆˆpwˆˆwÀ|ÇÌwwwwwˆ»ˆˆ« ˆˆˆˆˆ  š ˆˆ°»ˆ»{w°»ˆˆpwÌÌLjˆ°»ˆˆªˆˆˆˆˆ ª ˆˆ° ˆ»°° ˆˆp‡pwˆˆ»ºˆ°ˆ ˆˆˆˆˆ ª ˆˆ°ûûˆ»¿°ûûˆˆwwpˆˆ°« ˆ »ˆˆˆˆˆˆª ˆˆ° ˆ°»°»¿ˆˆˆˆ»ªˆ»°«ˆˆˆªˆˆ ˆ ˆˆð»¿ˆ°»û »¿ˆˆˆˆ°« ˆ» »ªˆˆˆªªˆˆ ˆˆˆ»°¿»ûûð»°ÿøˆˆˆˆ°ªˆ°»°« ˆˆªªˆˆˆˆˆ° ÿ»»°ÿ¿ ÿž»»» ˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆªªˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆž‹ûž‹»¿»žÿø»»»»»ˆˆˆˆˆˆˆˆ‹»»ˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆªªˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆ»¿»¿ûûžû‹»ûÿ¿¿»ˆˆˆˆˆˆˆž»»»ˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆ»»ªˆˆªª ˆˆˆˆˆˆ»¿»¿ûû°ûûˆÿÿ¿ÿ»ˆ°»û» ˆˆˆ°« ˆˆªª  ˆˆˆˆˆˆ°ûûžû»¿»¿ˆÿû°ûˆ»¿ÿ» ˆˆˆ»ªˆˆªª Šˆˆˆˆˆ»°žû° »¿ˆ°»»»°û»°»»»¿¿ ˆˆˆ°« ˆˆª ‹ˆˆˆˆˆ°û»‹ð»¿»°ÿðž»»»»»ð¿»»»»° ûø»ÿˆˆˆ»ªˆˆ°šˆˆˆˆˆ° »ûð»°»¿ÿð» 𿻻𿻻°»û° ûž»ðˆˆˆ°« ˆˆ šˆˆˆˆˆ°û»û»¿»¿ð»ðÿ¿¿»ÿ°»ûÿ»û°» » ÿˆˆˆ°ªˆˆ šˆˆˆˆˆ°û»û»¿»¿ð»ÿ°°»ÿ°ûûÿðÿ¿»»»ðÿˆˆˆ ˆˆ°šˆˆˆˆˆ°û»û»¿»¿ð»û°»»ÿ°ûûÿ¿»»‹ÿˆˆˆˆˆ°Šˆˆˆˆˆ»¿û°û»¿ðˆ»»»»ûû»¿»¿ÿÿˆˆˆˆˆ ‹ˆˆˆˆˆ»¿û°û»¿ðˆ¿»»»ÿ¿»¿»¿ÿˆˆˆˆˆ °ˆˆˆˆˆˆ»»ø°» ûðˆÿÿÿÿ¿‹ûð° ûøˆˆˆˆˆ °ˆ™ˆˆˆˆˆ»»ø°» ûðˆðÿÿÿ°‹ûð° ûøˆˆˆˆˆ ˆ™™ˆˆˆˆˆ»ûÿ°»¿ˆ°û °û ˆˆˆˆˆ° š™ˆˆˆˆˆ»ûÿ°»ûˆ°» °»ˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆžˆª™ˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆÿˆˆøÿøˆˆˆˆˆˆˆˆˆˆøˆˆˆøˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆªšˆˆˆˆˆˆˆˆˆˆÿˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆÿˆˆøÿˆˆˆˆˆˆˆˆˆˆøÿˆˆˆøÿˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆªšˆˆˆˆˆˆˆˆˆˆˆ»»»»ˆˆˆªªˆˆˆˆˆ»ˆˆˆˆˆˆ»»»»»ˆˆˆªªˆˆˆˆˆ« ˆˆˆˆˆˆ»»»»»»ˆˆˆªˆˆˆˆˆªˆˆˆˆˆˆ»»»»»»»ˆˆˆˆˆˆˆ°ˆ ˆˆˆˆˆˆ»»»»»»»»ˆˆˆˆˆˆˆ»ˆˆˆˆˆˆˆ»»»»»»»»Ìˆˆˆˆˆˆ°«ˆˆˆˆˆˆˆ»»»»»»»»Ì̈ˆˆˆˆˆ»»ˆˆˆˆˆˆˆ»»»»»»»»ÌÌ̈ˆˆˆˆˆ°«»ˆˆˆˆˆˆˆ»»»»»»»»ÌÌÌ̈ˆˆˆˆˆ»ª°ˆˆˆˆˆˆˆ»»»»»»»»ÌÌÌÌ̈ˆˆˆˆˆ°« ˆ ˆˆˆˆˆˆ»»»»»»»»ÌÌÌÌÌ̈ˆˆˆˆˆ»ªˆ»°«ˆˆˆˆˆˆ»»»»»»»»ÌÌÌÌÌÌ̈ˆˆˆˆˆ°« ˆ» »ªˆˆˆˆˆˆ»»»»»»»»ÌÌÌÌÌÌÌ̈ˆˆˆˆˆ»ªˆ°»°« ˆˆˆˆˆˆÌ»»»»»»»ÌÌÌÌÌÌÌÌ»ˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆÌÌ»»»»»»ÌÌÌÌÌÌÌÌ»»ˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆÌÌÌ»»»»»ÌÌÌÌÌÌÌÌ»»»ˆˆˆˆˆ°« ˆ»ªˆˆˆˆˆˆÌÌÌÌ»»»»ÌÌÌÌÌÌÌÌ»»»»ˆˆˆˆˆ»»ˆ°« ˆˆˆˆˆˆÌÌÌÌÌ»»»ÌÌÌÌÌÌÌÌ»»»»»ˆˆˆˆˆ«» ˆ»ªˆˆˆˆˆˆÌÌÌÌÌÌ»»ÌÌÌÌÌÌÌÌ»»»»»»ˆˆˆˆˆª°»ˆ°« ˆˆˆˆˆˆÌÌÌÌÌÌÌ»ÌÌÌÌÌÌÌÌ»»»»»»»ˆˆˆˆ°ˆ » ˆ»ªˆˆˆˆˆˆÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌ»»»»»»»»ˆˆˆˆ»ˆ°»ˆ« ˆˆˆˆˆˆÌÌÌÌÌÌÌÌ»ÌÌÌÌÌÌÌ»»»»»»»»Ìˆˆˆ°«ˆ» ˆªˆˆˆˆˆˆÌÌÌÌÌÌÌÌ»»ÌÌÌÌÌÌ»»»»»»»»Ì̈ˆˆ»ªˆ°»°ˆ ˆˆˆˆˆˆÌÌÌÌÌÌÌÌ»»»ÌÌÌÌÌ»»»»»»»»ÌÌ̈ˆˆ°« ˆ» »ˆˆˆˆˆˆˆÌÌÌÌÌÌÌÌ»»»»ÌÌÌÌ»»»»»»»»ÌÌÌ̈ˆˆ»ªˆ°»«ˆˆˆˆˆˆˆÌÌÌÌÌÌÌÌ»»»»»ÌÌÌ»»»»»»»»ÌÌÌÌ̈ˆˆ°« ˆ»ªˆˆˆˆˆˆˆÌÌÌÌÌÌÌÌ»»»»»»ÌÌ»»»»»»»»ÌÌÌÌÌ̈ˆˆ»»ˆ°« ˆˆˆˆˆˆˆÌÌÌÌÌÌÌÌ»»»»»»»Ì»»»»»»»»ÌÌÌÌÌÌ̈ˆˆ°«» ˆ»ªˆˆˆˆˆˆˆÌÌÌÌÌÌÌÌ»»»»»»»»»»»»»»»»ÌÌÌÌÌÌÌ̈© ˆˆ»ª°»ˆ°« ˆˆˆˆˆˆˆªÌÌÌÌÌÌÌ»»»»»»»»Ì»»»»»»»ÌÌÌÌÌÌÌÌ»ˆ ªª€ˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆªªÌÌÌÌÌÌ»»»»»»»»ÌÌ»»»»»»ÌÌÌÌÌÌÌÌ» ‰ªš ˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆªªªÌÌÌÌÌ»»»»»»»»ÌÌÌ»»»»»ÌÌÌÌÌÌÌÌ» ªšŠšˆˆ« »ˆ»ªˆˆˆˆˆˆˆª™ªªÌÌÌÌ»»»»»»»»ÌÌÌÌ»»»»ÌÌÌÌÌÌÌÌ» ªªªªˆˆ °ˆ°« ˆˆˆˆˆˆˆª™™ªªÌÌÌ»»»»»»»»ÌÌÌÌÌ»»»ÌÌÌÌÌÌÌÌ»ªªªª ˆˆˆ »ªˆˆˆˆˆˆˆª™™™ªªÌÌ»»»»»»»»ÌÌÌÌÌÌ»»ÌÌÌÌÌÌÌÌ»™ªªª ˆˆˆ»« ˆˆˆˆˆˆˆª™™™ªªªÌ»»»»»»»»ÌÌÌÌÌÌÌ»ÌÌÌÌÌÌÌÌ š™™ª™ ˆˆˆ»ªˆˆˆˆˆˆˆª™™™ª™ªª»»»»»»»»ÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌ š™™™™©°ˆˆˆ« ˆˆˆˆˆˆ  ˆª™™™ª™™ªª»»»»»»»ÌÌÌÌÌÌÌÌ»ÌÌÌÌÌÌ ª ™™™™© ̈ˆªˆˆˆˆˆˆ ª ˆªª™™ª™™™ªª»»»»»»ÌÌÌÌÌÌÌÌ»»ÌÌÌÌÌ ª ™™™™©ªÀ̈°ˆ ˆˆˆˆˆˆ ª ˆªªª™ª™™™ªªª»»»»»ÌÌÌÌÌÌÌÌ»»»ÌÌÌÌ̐€˜ ™™ ªÀÌ̈»ˆˆˆˆˆˆˆ ª ˆª™ªªª™™™ª™ªª»»»»ÌÌÌÌÌÌÌÌ»»»»ÌÌÌÌ ˆˆ°™ ÌÌÌ̈«ˆˆˆˆˆˆˆª ˆª™™ªª™™™ª™™ªª»»»ÌÌÌÌÌÌÌÌ»»»»»ÌÌ̀ˆ»€˜°°ÌÌÌÌ̈ ˆˆˆˆˆˆ ˆ ˆª™™™ªª™™ª™™™ªª»»ÌÌÌÌÌÌÌÌ»»»»»»ÌÌ °»€ˆ»ÌÌÌÌÌ̈ˆˆˆˆˆˆ ªˆ ˆª™™™ªªª™ª™™™ªªª»ÌÌÌÌÌÌÌÌ»»»»»»»Ì»»»» ˆˆ°ÌÌÌÌÌÌ̈ˆˆˆˆˆˆ ª ˆ ˆª™™™ª™ªªª™™™ª™ªªÌÌÌÌÌÌÌÌ»»»»»»»»»»»»»»ÌÌÌÌÌÌÌ̈ˆˆˆˆˆˆ  ˆ°ˆª™™™ª™™ªª™™™ª™™ªªÌÌÌÌÌÌÌ»»»»»»»»Ì»»»»»»»ÌÌÌÌÌÌÌÌ»ˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆªª™™ª™™™ªª™™ª™™™ªªÌÌÌÌÌÌ»»»»»»»»ÌÌ»»»»»»ÌÌÌÌÌÌÌÌ»»ˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆªªª™ª™™™ªªª™ª™™™ªªªÌÌÌÌÌ»»»»»»»»ÌÌÌ»»»»»ÌÌÌÌÌÌÌÌ»»»ˆˆˆˆˆˆ°ˆ ˆª™ªªª™™™ª™ªªª™™™ª™ªªÌÌÌÌ»»»»»»»»ÌÌÌÌ»»»»ÌÌÌÌÌÌÌÌ»»»»ˆˆˆˆˆˆ ˆ ˆª™™ªª™™™ª™™ªª™™™ª™™ªªÌÌÌ»»»»»»»»ÌÌÌÌÌ»»»ÌÌÌÌÌÌÌÌ»»»»»ˆˆˆˆˆˆ ˆ ˆª™™™ªª™™ª™™™ªª™™ª™™™ªªÌÌ»»»»»»»»ÌÌÌÌÌÌ»»ÌÌÌÌÌÌÌÌ»»»»»»ˆˆˆˆˆˆ ˆ°ˆª™™™ªªª™ª™™™ªªª™ª™™™ªªªÌ»»»»»»»»ÌÌÌÌÌÌÌ»ÌÌÌÌÌÌÌÌ»»»»»»»ˆˆˆˆˆˆ ˆ ˆª™™™ª™ªªª™™™ª™ªªª™™™ª™ªª»»»»»»»»ÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌ»»»»»»»»ˆˆˆˆˆˆ ˆ  ˆª™™™ª™™ªª™™™ª™™ªª™™™ª™™ªª»»»»»»»ÌÌÌÌÌÌÌÌ»ÌÌÌÌÌÌÌ»»»»»»»»Ìˆˆˆˆˆ°ˆ°™ ˆªª™™ª™™™ªª™™ª™™™ªª™™ª™™™ªª»»»»»»ÌÌÌÌÌÌÌÌ»»ÌÌÌÌÌÌ»»»»»»»»Ì̈ˆˆˆˆˆ° ™ ˆªªª™ª™™™ªªª™ª™™™ªªª™ª™™™ªªª»»»»»ÌÌÌÌÌÌÌÌ»»»ÌÌÌÌÌ»»»»»»»»ÌÌ̈ˆˆˆˆˆ š ˆª™ªªª™™™ª™ªªª™™™ª™ªªª™™™ª™ªª»»»»ÌÌÌÌÌÌÌÌ»»»»ÌÌÌÌ»»»»»»»»ÌÌÌ̈ˆˆˆˆˆª ˆª™™ªª™™™ª™™ªª™™™ª™™ªª™™™ª™™ªª»»»ÌÌÌÌÌÌÌÌ»»»»»ÌÌÌ»»»»»»»»ÌÌÌÌ̈ˆˆˆˆ ˆ ˆª™™™ªª™™ª™™™ªª™™ª™™™ªª™™ª™™™ªª»»ÌÌÌÌÌÌÌÌ»»»»»»ÌÌ»»»»»»»»ÌÌÌÌÌ̈ˆˆˆˆ ªˆˆª™™™ªªª™ª™™™ªªª™ª™™™ªªª™ª™™™ªªª»ÌÌÌÌÌÌÌÌ»»»»»»»Ì»»»»»»»»ÌÌÌÌÌÌ̈ˆˆˆˆ ª ˆˆª™™™ª™ªªª™™™ª™ªªª™™™ª™ªªª™™™ª™ªªÌÌÌÌÌÌÌÌ»»»»»»»»»»»»»»»»ÌÌÌÌÌÌÌ̈ˆˆˆˆ  ˆˆª™™™ª™™ªª™™™ª™™ªª™™™ª™™ªª™™™ª™™ªªÌÌÌÌÌÌÌ»»»»»»»»Ì»»»»»»»ÌÌÌÌÌÌÌÌ»ˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆªª™™ª™™™ªª™™ª™™™ªª™™ª™™™ªª™™ª™™™ªªÌÌÌÌÌÌ»»»»»»»»ÌÌ»»»»»»ÌÌÌÌÌÌÌÌ»»ˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆªªª™ª™™™ªªª™ª™™™ªªª™ª™™™ªªª™ª™™™ªªªÌÌÌÌÌ»»»»»»»»ÌÌÌ»»»»»ÌÌÌÌÌÌÌÌ»»»ˆˆˆˆˆˆª™ªªª™™™ª™ªªª™™™ª™ªªª™™™ª™ªªª™™™ª™ªªÌÌÌÌ»»»»»»»»ÌÌÌÌ»»»»ÌÌÌÌÌÌÌÌ»»»»ˆˆˆˆˆˆª™™ªª™™™ª™™ªª™™™ª™™ªª™™™ª™™ªª™™™ª™™ªªÌÌÌ»»»»»»»»ÌÌÌÌÌ»»»ÌÌÌÌÌÌÌÌ»»»»»ˆˆˆˆˆˆª™™™ªª™™ª™™™ªª™™ª™™™ªª™™ª™™™ªª™™ª™™™ªªÌÌ»»»»»»»»ÌÌÌÌÌÌ»»ÌÌÌÌÌÌÌÌ»»»»»»ˆˆˆˆˆˆª™™™ªªª™ª™™™ªªª™ª™™™ªªª™ª™™™ªªª™ª™™™ªªªÌ»»»»»»»»ÌÌÌÌÌÌÌ»ÌÌÌÌÌÌÌÌ»»»»»»»ˆˆˆˆˆˆª™™™ª™ªªª™™™ª™ªªª™™™ª™ªªª™™™ª™ªªª™™™ª™ªª»»»»»»»»ÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌ»»»»»»»»ˆˆˆˆˆˆª™™™ª™™ªª™™™ª™™ªª™™™ª™™ªª™™™ª™™ªª™™™ª™™ªª»»»»»»»ÌÌÌÌÌÌÌÌ»ÌÌÌÌÌÌÌ»»»»»»»»Ìˆˆˆˆˆªª™™ª™™™ªª™™ª™™™ªª™™ª™™™ªª™™ª™™™ªª™™ª™™™ªª»»»»»»ÌÌÌÌÌÌÌÌ»»ÌÌÌÌÌÌ»»»»»»»»Ì̈ˆˆˆˆªªª™ª™™™ªªª™ª™™™ªªª™ª™™™ªªª™ª™™™ªªª™ª™™™ªªª»»»»»ÌÌÌÌÌÌÌÌ»»»ÌÌÌÌÌ»»»»»»»»ÌÌ̈ˆˆˆˆª™ªªª™™™ª™ªªª™™™ª™ªªª™™™ª™ªªª™™™ª™ªªª™™™ª™ªª»»»»ÌÌÌÌÌÌÌÌ»»»»ÌÌÌÌ»»»»»»»»ÌÌÌ̈ˆˆˆˆª™™ªª™™™ª™™ªª™™™ª™™ªª™™™ª™™ªª™™™ª™™ªª™™™ª™™ªª»»»ÌÌÌÌÌÌÌÌ»»»»»ÌÌÌ»»»»»»»»ÌÌÌÌ̈ˆˆˆˆª™™™ªª™™ª™™™ªª™™ª™™™ªª™™ª™™™ªª™™ª™™™ªª™™ª™™™ªª»»ÌÌÌÌÌÌÌÌ»»»»»»ÌÌ»»»»»»»»ÌÌÌÌÌ̈ˆˆˆˆª™™™ªªª™ª™™™ªªª™ª™™™ªªª™ª™™™ªªª™ª™™™ªªª™ª™™™ªªª»ÌÌÌÌÌÌÌÌ»»»»»»»Ì»»»»»»»»ÌÌÌÌÌÌ̈ˆˆˆˆª™™™ª™ªªª™™™ª™ªªª™™™ª™ªªª™™™ª™ªªª™™™ª™ªªª™™™ª™ªªÌÌÌÌÌÌÌÌ»»»»»»»»»»»»»»»»ÌÌÌÌÌÌÌ̈ˆˆˆˆö:-- title: Cyberapace warp V1.3.1 -- author: SRB2er -- desc: A platformer originally made for GBJam 11 -- script: lua -- irrelevant lore: idiot child (you) falls into -- cyberspace, and must get home -- before dinner time -- no enemies because metatables are confusing lmao -- .. thats it -- game idea, coding, art -- and music by SRB2er B poke(0x3ffc, 4) --for the 2bit graphics cls() gamestate="title" plyr={ x=24, --24 X y=24, --24 Y vx=0, vy=0, acc=0.2, maxVx=1, maxVy=3, grav=0.1, fric=0.88, jf=1.9, --jump force sn=512, --sprite number w=8, h=8, flp=0, anim=0, ctrl=true, --can ctrl player onGrnd=true, --on ground jumped=false, fall=false, skid=false, walk=true, idle=true, climb=false, ded=false, dt=0, --ded timer sldt=0, --slowdown timer swt=0, --swap color blocks cooldown } --stuff scrX=0 scrY=0 saveX=plyr.x saveY=plyr.y deaths=0 --timers tsct=0 --title screen tine gamt=0 --gameT --debug debug=false --print outline function printOut(txt,x,y,thk,c,c2,scale) scale = scale or 1 for i=-thk,thk do for j=-thk,thk do print(txt,x+i,y+j,c2,0,scale) end end print(txt,x,y,c,0,scale) end function debugger() if debug==true and time()%600>300 then printOut("scrX=" .. scrX,1,1,1,2,0) printOut("scrY=" .. scrY,1,9,1,2,0) printOut("plyr.vx=" .. plyr.vx,1,17,1,2,0) printOut("plyr.vy=" .. plyr.vy,1,25,1,2,0) printOut("plyr.jumped=" .. tostring(plyr.jumped),1,33,1,2,0) printOut("plyr.fall=" .. tostring(plyr.fall),1,41,1,2,0) printOut("plyr.skid=" .. tostring(plyr.skid),1,49,1,2,0) printOut("plyr.walk=" .. tostring(plyr.walk),1,57,1,2,0) printOut("plyr.climb=" .. tostring(plyr.climb),1,65,1,2,0) printOut("plyr.ded=" .. tostring(plyr.ded),1,73,1,2,0) end end function editSpd(trac,val) local temAddr=0x13E64+trac*51+50 poke(temAddr,val) end function camera() if not plyr.ded then scrX=plyr.x//160 scrY=plyr.y//136 end if (mget(plyr.x/8,plyr.y/8)==10 or mget(plyr.x/8+1,plyr.y/8)==10) then saveX=plyr.x saveY=plyr.y end map(scrX*20,scrY*17,20,17,0,0,0) end spawnT=0 colBlockOn=true function swapColBlock() colBlockOn=not colBlockOn for x=0,239 do for y=0,135 do if mget(x,y)==23 then mset(x,y,24) elseif mget(x,y)==24 then mset(x,y,23) end end end end function plyrUpdDrw() -- this function is long, -- so hang in there -- i guess --physics if not plyr.climb or plyr.ded then plyr.vx=(plyr.vx-plyr.vx%0.01)*plyr.fric end plyr.vy=(plyr.vy-plyr.vy%0.01)+plyr.grav --plyr.y=plyr.y+plyr.vy if plyr.vx>=plyr.maxVx then plyr.vx=plyr.maxVx end if plyr.vx<=-plyr.maxVx then plyr.vx=-plyr.maxVx end if plyr.vy>=plyr.maxVy then plyr.vy=plyr.maxVy end if plyr.vy<=-plyr.maxVy then plyr.vy=-plyr.maxVy end if plyr.vx<-0.0706 and plyr.vx>-0.0703 then plyr.walk=false plyr.idle=true end --for some reason letting go of left --causes u to slide forever until --hitting a wall --doesnt happen with letting go of right --this (should) fix that if plyr.vx==-0.0704 then plyr.vx=0 end if plyr.ctrl==true then if btn(2) and not plyr.climb then plyr.vx=plyr.vx-plyr.acc plyr.flp=1 plyr.skid=false plyr.idle=false plyr.walk=true elseif btn(3) and not plyr.clinb then plyr.vx=plyr.vx+plyr.acc plyr.flp=0 plyr.skid=false plyr.idle=false plyr.walk=true elseif btn(0) and plyr.climb then plyr.vy=-1.25 plyr.vx=0 elseif btn(1) and plyr.climb then plyr.vy=1 plyr.vx=0 elseif not plyr.walk and not btnp(3) and not btnp(2) and plyr.vx<0.5 and plyr.vx>-0.5 and not plyr.idle and not plyr.climb and not plyr.ded then plyr.skid=true plyr.walk=false end --button swap if getTile(plyr.x,plyr.y,25) then if scrX==6 and scrY==3 then printOut("B",(plyr.x%240)+2,(plyr.y%136)-9,1,3,1) end if btnp(5) and plyr.swt<=0 then swapColBlock() sfx(18,"A-5",90,1) plyr.swt=30 end end if plyr.swt>0 then plyr.swt=plyr.swt-1 end if getTile(plyr.x,plyr.y,9) and btn(0) then plyr.climb=true plyr.walk=false plyr.jumped=false plyr.fall=false plyr.skid=false elseif not ( getTile(plyr.x,plyr.y,9)and plyr.climb ) or not btn(0) then plyr.climb=false plyr.fall=true end if btnp(4) and plyr.onGrnd then plyr.vy=plyr.vy-plyr.jf plyr.onGrnd=false plyr.jumped=true plyr.skid=false sfx(0,"C-4",30,1) plyr.climb=false end end if getTile(plyr.x,plyr.y,18) then plyr.grav=0.035 elseif getTile(plyr.x,plyr.y,19) then plyr.grav=0.1 end if getTile(plyr.x,plyr.y,16) then plyr.y=plyr.y-40 sfx(14, "G#4",90,2) elseif getTile(plyr.x,plyr.y,17) then plyr.y=plyr.y+40 sfx(15, "C-5",90,2) end --... wait OH N- --cOLliSiON stUFf --aka what makes this function so l o n g local solid={1,2,3,24} local usolid={20} --upwards solid local rsolid={22} --rightwards solid local dsolid={26} --downwards solid local hurt={4,5,6,7,21} --ow if plyr.vy>0 then plyr.onGrnd=false --on ground plyr.fall=true plyr.jumped=false for i=1,#solid do if mapColl(plyr,"d",solid[i]) or mapColl(plyr,"d",usolid[i]) then plyr.onGrnd=true plyr.vy=0 plyr.y=plyr.y-(plyr.y-plyr.h)%8 plyr.sn=512 plyr.jumped=false plyr.fall=false end end for i=1,#hurt do if (mapColl(plyr,"d",hurt[i]) or (btnp(5,30,1) and btnp(1,30,1))) and not plyr.ded then plyr.onGrnd=true plyr.vy=-1 plyr.vx=0 sfx(9,"F#4",90,1) plyr.y=plyr.y-(plyr.y-plyr.h)%8 plyr.y=plyr.y-2 plyr.ded=true plyr.dt=60 deaths=deaths+1 if colBlockOn==false then swapColBlock() end end end if mapColl(plyr,"d",8) and not plyr.ded then plyr.vy=-plyr.vy sfx(6,"C-4",30,1) end elseif plyr.vy<0 then plyr.jumped=true plyr.fall=false for i=1,#solid do if mapColl(plyr,"u",solid[i]) or mapColl(plyr,"u",dsolid[i]) then plyr.vy=0 end end for i=1,#hurt do if mapColl(plyr,"u",hurt[i]) and not plyr.ded then plyr.onGrnd=true plyr.vy=-1 plyr.vx=0 sfx(9,"F#4",90,1) plyr.y=plyr.y-(plyr.y-plyr.h)%8 plyr.y=plyr.y+2 plyr.ded=true plyr.dt=60 deaths=deaths+1 if colBlockOn==false then swapColBlock() end end end end if plyr.vx<0 then plyr.walk=true for i=1,#solid do if mapColl(plyr,"l",solid[i]) then plyr.vx=0 plyr.idle=true plyr.walk=false end end for i=1,#hurt do if mapColl(plyr,"l",hurt[i]) and not plyr.ded then plyr.onGrnd=true plyr.vy=-1 plyr.vx=0 sfx(9,"F#4",90,1) plyr.y=plyr.y-(plyr.y-plyr.h)%8 plyr.x=plyr.x+2 plyr.ded=true plyr.dt=60 deaths=deaths+1 if colBlockOn==false then swapColBlock() end end end elseif plyr.vx>0 then plyr.walk=true for i=1,#solid do if mapColl(plyr,"r",solid[i]) or mapColl(plyr,"r",rsolid[i])then plyr.vx=0 plyr.idle=true plyr.walk=false end end for i=1,#hurt do if mapColl(plyr,"r",hurt[i]) and not plyr.ded then plyr.onGrnd=true plyr.vy=-1 plyr.vx=0 sfx(9,"F#4",90,1) plyr.y=plyr.y-(plyr.y-plyr.h)%8 plyr.x=plyr.x-2 plyr.ded=true plyr.dt=60 deaths=deaths+1 if colBlockOn==false then swapColBlock() end end end elseif plyr.vx<0.5 and plyr.vx>-0.5 then plyr.walk=false plyr.idle=true end --animations!!!!11!!!1!! if plyr.ded and plyr.dt>0 then plyr.sn=518 --rect(0,-136+plyr.dt*4,160,136,0) plyr.ctrl=false plyr.dt=plyr.dt-1 plyr.grav=0.1 if plyr.dt<=0 then plyr.ded=false plyr.idle=true plyr.x=saveX plyr.y=saveY plyr.ctrl=true end elseif plyr.climb then editSpd(0,0) plyr.sldt=0 local sprAnim={519,520} if time()/100>0.1 then plyr.anim=math.floor(510+time()/100) plyr.anim=plyr.anim%2+1 plyr.sn=sprAnim[plyr.anim] end elseif plyr.jumped then plyr.sn=516 editSpd(0,0) plyr.sldt=0 elseif plyr.fall then plyr.sn=517 editSpd(0,0) plyr.sldt=0 elseif plyr.skid then plyr.sn=515 elseif plyr.walk then editSpd(0,0) plyr.sldt=0 local sprAnim={513,514} if time()/100>0.1 then plyr.anim=math.floor(511+time()/100) plyr.anim=plyr.anim%2+1 plyr.sn=sprAnim[plyr.anim] end elseif plyr.idle then plyr.sn=512 plyr.sldt=plyr.sldt+1 if plyr.sldt>=120 then editSpd(0,6) plyr.sldt=120 end end for i=0,3 do poke4(2*0x3ff0+i,0) end for i=-1,1 do for j=-1,1 do spr(plyr.sn,plyr.x%160+i,plyr.y%136+j-1,0,1,plyr.flp,0,plyr.w/8,plyr.h/8) end end for i=0,3 do poke4(2*0x3ff0+i,i) end spr(plyr.sn,plyr.x%160,plyr.y%136-1,0,1,plyr.flp,0,plyr.w/8,plyr.h/8) plyr.x=plyr.x+plyr.vx plyr.y=plyr.y+plyr.vy --print("plyr.vy=" .. plyr.vy,0,9,3) end function getTile(x,y,ti,adj) adj=adj or true if (mget(x/8,y/8)==ti or mget(plyr.x/8+1,plyr.y/8)==ti) and adj==true then return true elseif (mget(x/8,y/8)==ti and adj==false) then return true else return false end end function mapColl(obj,aim,id) local x,y,w,h =obj.x,obj.y,obj.w,obj.h local x1,y1,x2,y2=0,0,0,0 if aim=="l" then x1=x-1.5 y1=y x2=x y2=y+h-1 elseif aim=="r" then x1=x y1=y x2=x+w y2=y+h-2 elseif aim=="u" then x1=x+1 y1=y-1 x2=x+w-1 y2=y elseif aim=="d" then x1=x y1=y+h x2=x+w-2 y2=y+h end --rect(x1,y1,16,4,12) x1,y1,x2,y2=x1/8,y1/8,x2/8,y2/8 if mget(x1,y1)==id or mget(x2,y1)==id or mget(x1,y2)==id or mget(x2,y2)==id then return true else return false end end function animMap() for i=0,240 do for j=0,136 do if mget(i,j)==8 and (time()/120)%120<60 then mset(i,i,9) elseif mget(i,j)==8 and (time()/120)%120>60 then mset(i,i,8) end end end end function virtbg(spd1,spd2) bganim=bganim or 0 bganim=bganim-spd1 bganim=bganim%1 for i=1,10 do line(0, 100/(i+bganim)+70, 160, 100/(i+bganim)+70,1) line(0, -100/(i+bganim)+68, 160, -100/(i+bganim)+68,1) end --circ(80,68,15+5*math.sin(time()/(spd2)),1) --elli(80,68,15,18+15*math.sin(time()/spd2),1) --elli(80,68,18+-15*math.cos(time()/spd2),15,1) end mins=0 secs=0 endT=0 function maingame() cls() gamt=gamt+1 --printOut(mins .. " : "..secs,2,2,1,3,1) virtbg(0.05,120) camera() local topx=60 local topy=25 plyrUpdDrw() if (plyr.x%16058 then spawnT=120 end end if spawnT>0 then spawnT=spawnT-1 rect(0,spawnT*4-250,160,200,0) end debugger() local stopX=0 local stopY=3 if scrX==stopX and scrY==stopY and plyr.x%160<122 then rect(0,120,160,10,2) printOut("Thanks for playing v1.3.1! This time, i kinda just wanted you all to get another update. Also, if you stay idle for 2 secs, the music slows down! How cool is that?! Anyways, enjoy this mini playground! ",170-endT%1500,122,1,3,1,1) endT=endT+1.25 end if gamt%60==0 and not (scrX==stopX and scrY==stopY and plyr.x%160<108) then secs=secs+1 if secs==60 then mins=mins+1 secs=0 end end --printOut(scrX,0,24,1,3,1,1) --printOut(scrY,0,32,1,3,1,1) rectb(0,0,160,136,3) end --pmem stuff function titleScr() --music(0) tsct=tsct+2 cls() if tsct<140 then spr(544,tsct-94,38,0,2,0,0,4,4) spr(548,140-tsct,80,0,2,0,0,5,2) spr(548,220-tsct,80,0,2,1,0,5,2) spr(612,190-tsct,83,0,2,0,0,4,1) printOut("Game By",180-tsct,8,1,3,1,2) elseif tsct>=140 and tsct<300 then spr(544,46,38,0,2,0,0,4,4) spr(548,0,80,0,2,0,0,5,2) spr(548,80,80,0,2,1,0,5,2) spr(612,50,83,0,2,0,0,4,1) printOut("Game By",40,8,1,3,1,2) elseif tsct>=300 and tsct<400 then spr(544,46,38,0,2,0,0,4,4) spr(548,0,80,0,2,0,0,5,2) spr(548,80,80,0,2,1,0,5,2) spr(612,50,83,0,2,0,0,4,1) spr(616,114,85,0,2) if tsct==300 then sfx(12,"G#4",-1,1) end printOut("Game By",40,8,1,3,1,2) elseif tsct>=400 and tsct<600 then spr(544,46-(tsct-400),38,0,2,0,0,4,4) spr(548,0-(tsct-400),80,0,2,0,0,5,2) spr(548,80-(tsct-400),80,0,2,1,0,5,2) spr(612,50-(tsct-400),83,0,2,0,0,4,1) spr(616,114-(tsct-400),85,0,2) printOut("Game By",40-(tsct-400),8,1,3,1,2) end if btnp(4) and tsct<600 and tsct>60 then tsct=600 end if tsct>=600 then if tsct==602 then music(1) end if tsct>=600 and tsct<800 then clip(0,0,160,tsct*2-1200) elseif tsct>=800 then clip(0,0,160,136) end virtbg(0.01,300) for i=0,3 do poke4(2*0x3ff0+i,2) end --title art go here spr(672,60+2*math.sin(time()/160), 40+2*math.cos(time()/160),0,1,0,0,5,2) for i=0,3 do poke4(2*0x3ff0+i,i) end spr(672,60,40,0,1,0,0,5,2) spr(736,20+5*math.sin(time()/300),60,0,2,0,0,8,1) spr(768,20-5*math.sin(time()/300),76,0,2,0,0,8,1) local txt1="PRESS START" local txt2="B FOR ALT PALETTES" --the important bit local verNum="V1.3.1" --the less important bits if time()%300<150 then printOut(txt1,50,100,1,3,0) printOut(txt2,25,108,1,3,0) end printOut("Version: " .. verNum,2,120,1,3,1) if btnp(4) and tsct>=602 then music(0) gamestate="main" elseif btnp(5) and tsct>=602 then palInd=(palInd+1)%6 --oh nooooooooooooooooooooo if palInd==0 then loadPal(pal1) pmem(0, palInd) elseif palInd==1 then loadPal(pal2) pmem(0, palInd) elseif palInd==2 then loadPal(pal3) pmem(0, palInd) elseif palInd==3 then loadPal(pal4) pmem(0, palInd) elseif palInd==4 then loadPal(pal5) pmem(0, palInd) elseif palInd==5 then loadPal(pal6) pmem(0, palInd) end end end end palInd=pmem(0) -- all palettes besides -- pal1 are from lospec pal1="080c341448851c81d230b2da" --lava GB pal2="051f394a2480c53a9dff8e80" --Kirokaze Gameboy pal3="332c5046878f94e344e2f3e4" --retro vibes palette pal4="564756507dba5acca0e5f7d2" --lospec gb palette pal5="0000003828437c6d80c7c6c6" --eb gb mint flavour palette pal6="291f3e3b796164d0b8f4f2af" function loadPal(palette) for i=0,3 do r=tonumber(string.sub(palette,i*6+1,i*6+2),16) g=tonumber(string.sub(palette,i*6+3,i*6+4),16) b=tonumber(string.sub(palette,i*6+5,i*6+6),16) poke(0x3FC0+(i*3)+0,r) poke(0x3FC0+(i*3)+1,g) poke(0x3FC0+(i*3)+2,b) end end if palInd==0 then loadPal(pal1) pmem(0, palInd) elseif palInd==1 then loadPal(pal2) pmem(0, palInd) elseif palInd==2 then loadPal(pal3) pmem(0, palInd) elseif palInd==3 then loadPal(pal4) pmem(0, palInd) elseif palInd==4 then loadPal(pal5) pmem(0, palInd) elseif palInd==5 then loadPal(pal6) pmem(0, palInd) end function TIC() poke(0x3FFB,0) --hide cursor clip(0,0,160,144) if gamestate=="title" then titleScr() elseif gamestate=="main" then maingame() end end