From 822dea10c364838a782e49bb2ae6bffe71aa0054 Mon Sep 17 00:00:00 2001 From: HackDev <80620538+Hackx2@users.noreply.github.com> Date: Sat, 6 Apr 2024 17:26:27 +0100 Subject: [PATCH] nerdyy nerd --- Project.xml | 12 +- art/{ => Building}/build_html-debug.bat | 0 art/{ => Building}/build_html.bat | 0 art/{ => Building}/build_x32.bat | 0 art/{ => Building}/build_x64-debug.bat | 0 art/{ => Building}/build_x64.bat | 0 art/{ => astroshit}/psyshit/500.png | Bin art/{ => astroshit}/psyshit/500xOG.png | Bin art/{ => astroshit}/psyshit/512-modified.png | Bin art/{ => astroshit}/psyshit/512.png | Bin assets/preload/images/alphabetOld.png | Bin 90070 -> 0 bytes assets/preload/images/alphabetOld.xml | 601 ------------------ hmm.json | 4 +- source/game/options/BaseOptionsMenu.hx | 1 + .../options/{ => objects}/CheckboxThingie.hx | 2 +- source/game/states/AnimatedImageState.hx | 11 +- source/game/states/OutdatedState.hx | 32 +- source/game/states/TitleState.hx | 331 ++++------ .../substates/GameplayChangersSubstate.hx | 18 +- 19 files changed, 169 insertions(+), 843 deletions(-) rename art/{ => Building}/build_html-debug.bat (100%) rename art/{ => Building}/build_html.bat (100%) rename art/{ => Building}/build_x32.bat (100%) rename art/{ => Building}/build_x64-debug.bat (100%) rename art/{ => Building}/build_x64.bat (100%) rename art/{ => astroshit}/psyshit/500.png (100%) rename art/{ => astroshit}/psyshit/500xOG.png (100%) rename art/{ => astroshit}/psyshit/512-modified.png (100%) rename art/{ => astroshit}/psyshit/512.png (100%) delete mode 100644 assets/preload/images/alphabetOld.png delete mode 100644 assets/preload/images/alphabetOld.xml rename source/game/options/{ => objects}/CheckboxThingie.hx (98%) diff --git a/Project.xml b/Project.xml index d39a059c..f00fe471 100644 --- a/Project.xml +++ b/Project.xml @@ -52,16 +52,11 @@
-
-
- - -
@@ -128,12 +123,11 @@ - - - + + - + diff --git a/art/build_html-debug.bat b/art/Building/build_html-debug.bat similarity index 100% rename from art/build_html-debug.bat rename to art/Building/build_html-debug.bat diff --git a/art/build_html.bat b/art/Building/build_html.bat similarity index 100% rename from art/build_html.bat rename to art/Building/build_html.bat diff --git a/art/build_x32.bat b/art/Building/build_x32.bat similarity index 100% rename from art/build_x32.bat rename to art/Building/build_x32.bat diff --git a/art/build_x64-debug.bat b/art/Building/build_x64-debug.bat similarity index 100% rename from art/build_x64-debug.bat rename to art/Building/build_x64-debug.bat diff --git a/art/build_x64.bat b/art/Building/build_x64.bat similarity index 100% rename from art/build_x64.bat rename to art/Building/build_x64.bat diff --git a/art/psyshit/500.png b/art/astroshit/psyshit/500.png similarity index 100% rename from art/psyshit/500.png rename to art/astroshit/psyshit/500.png diff --git a/art/psyshit/500xOG.png b/art/astroshit/psyshit/500xOG.png similarity index 100% rename from art/psyshit/500xOG.png rename to art/astroshit/psyshit/500xOG.png diff --git a/art/psyshit/512-modified.png b/art/astroshit/psyshit/512-modified.png similarity index 100% rename from art/psyshit/512-modified.png rename to art/astroshit/psyshit/512-modified.png diff --git a/art/psyshit/512.png b/art/astroshit/psyshit/512.png similarity index 100% rename from art/psyshit/512.png rename to art/astroshit/psyshit/512.png diff --git a/assets/preload/images/alphabetOld.png b/assets/preload/images/alphabetOld.png deleted file mode 100644 index 419a6124a4604f172ce4f76f753aced6a7196c94..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 90070 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⩔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

TRE3V0mdOBaBWhywd^vHa4t3hXG-bnYSMSzqm5v zP%W%<(;uMBCbQ8}#7^?}Qi!S^_Y7P{0hl!0pa?~coH^y!_*$+X=wod=t2g-TjL}+fg1`)Bfb~(RwlHWFWC3Mq{UgrPMGKwy+6roRZ zn!zlNqCAmHP?QfXX1N!)k!^hW@$mHo0YdAGfNs;{@au%Y1AI*I14Bp-X&YS{69<@n za6~{5`HuqFzN?oH*WheGtQav;;iG7z%6I{YVYYsP@NAI|ZE*DD;QRiq=5h;R9)_01 zU;(}-&g(e8+$R9Ja98>3^}9SM5OxJh+cg;XQ;}k5=cCrrzfGcK^cPavQ@FKb{=+2~x{A~PLb@#m_nzS0TiZQF@YAQINaWTWxOA(e^K!_zqz z0{4Q*BCQmM!z1vIkDHKMl*Ak;)*&qA*vvR2Lj>v-9oGG^3QJ9f&Gpux6@jf^4fuu2 zl3yll$Mtte`e{s>``OwJEZ4O0!vl5eud6o=E40pb7sf|)Ik@#GJ;O!p{j)Ki=vkjrRn2LM>{`P}U@|Rb+P$`8 zZLIRDc`Pya*;`ysyr+IAu5Tmom$1vK12u#G8wvM#j!}@6b?5SZ$WUt$l*b*CFn()9 zSrk!P6$N6Yo z=`-wzWxq9?vY<5d3z>- ztW`Hp2P}?z)%biOcA#zDM|xlBVpL3X6U!~=+Uv#@Pz_V!0lE3@ddvF%cvO^D_YBp@ zpJp8m7ty+qp{QZ*nnGFjHrTn>oV{Jibr#2v`ZhGoJ66k(NNMKYWK25yAleT@=gTAL47`9}3``wFOsrN!yHdusP1Wi3 zJPBlK3GnK0NlR#nk{p$l6-uxA){n+epd`^w!hx2=CV~Tysv7q1;t0bH)joav&;64l zfhrn=e&;tWDaxenhn~=K3`vzu#qo5L=qry(EQHBms<%hkdkbnj!>7R(e~Pu6f#*Xo z$hniYllwz4^k-s{Pu(+z(Uy+)_tj2Tfx70xtn9;$>f@fTHdmLi#~A|TZoWr&LZ>Bb;_LGUSvDNIzC~8N3}O8glI_lca5M%2pI%U%Yn}y z4g;t!SKX10o^uvK}C*fUhuy?(*N5M=pXV$T@^d5QtT!I#cFh0YRXp*N1S ztI1X-mye@_hiS6^G$_$5VMkRwPher``%90&0BZkj@A|ADKi?-}z)LAun>f5CW&?y1 zq!tuqA_q`sqHh4`$B5~%vYZAf@)|7?04bnZ%txE5+h2;b^>(MWU$a>`o<# z_j%LEvME}O{S|7Y?B7H9rYh0ky?H)wYU6hK^0Qamd**Rg9m}eIkw?kNNT8n{b=pOSIHnl>KRT;@Gs6{KXSA4lr0S%uxUJWCbh* z*Jt_jD{W+-KF2o8D#aXlpUm5+x3WtWhjlMwmL{Zn>6*HYYJ2OvD#3AMPRHl|B+8kNe(6x>$GwHq{S@r3|j3vBILiASy5vFze3$gxuWGcC~!TSyT-S@9!2|R zyw(&Q>EPI)vMp2IEysyht^=<)b4yQtm*#?cUIOLPO_~N1<|BRxhdVise`|gw&Po`E zMu9fWIxWdRVk4pE2a*hC(PIww*msImOc~#Qo?KImpzNB|ebv+QEg~hW)8gt{6GiB%mN&UX79tAuRB&mGkeF@LYTTp6A-m zi*ZekQJW&%Bql6(c&^xF$MVF?c1eC2o;B3nA!2U28`L_>$I$ZNO`BR$`#Ub`_xCM! z;R|#C>@EfS2HNSTw-<2rzuuFs^?z?p`=EXHqO=gXbtC$V<^Zjpq@^P^V4A|luBefwTgr-5` z$WuYD{hGa_kHiK1cV1}X{*p+r4vDUH`fnIcTa2kYVf=%y{HTW1^JKs89pqI+_{}=0M3#BneN%2Q{<>$|gt7D)q$myf{?xi!V&u2Y`ct~N=0X)(Lr8HT+=+gVJ}JP$XX#Fi z$l&$-)5>Iqn8dt$mTxWLIkR1Fm=4-M2>ApH`TiGNyImO)uUo7VTKV7kz|7rU$Le39 z$z-&*-9GDoe2!n?cpVqH4nrbot zZ3s;bE7aLnF=g?})D3vLWzK39Xn&#Z!qR*ErJCxgXzQtdVTjsljpsg>vZ5WQw%X>m z3LGv`^-qe045-A^skN(tbYmjKE8A-OsjR6U?Zx`Vq_+3xbV!r>ns z`yPtjSx)v}G}BJKAE#N4jp>H7QQVC^#w|zR`}u^>&&QFfg;H;?C;V=u>E3?nrFxKH z!L-?ySd;b3+nevKaaURW{!gpxi9Zxl%Q&+~xhj(}Fn4~DJXR{9uzaNJ9HyN2%$blV zdp}z9y*Lwdc_~uqy@|Vd#?*x7DMtX+*vMkYb%kVSMqDpmmsNzCM*B12Y0i&|_iVWf zhVB*R3cT;0x4I23xQBGFtIvO$Op$(N!n)tM=ak1qd8%O&aon94ldT=Hs@fm>LP@S@ zgx!6hi@x;X>s_cxdY(DW)ptYeckh1aFB@?Pa||&_3b1N*>Sx8z7VjJ%WXe!~WLfUH zI;JPEEGFoBZ*684)+lA6(XZkzZ{TP*pm3u=4cVMH9}*)+uMbm+7Yt@;Fvzy9J zZl$TU*8K@@x(707=j|oGX~SWa`10S_<&1(iVu9RZ0W8U4b?cx8ziLhiFYA1@^hcOa z96$(Lh*jf}*XJzu-%xeEW&&e;LsvsR{`W8O{Uk?E27L~kNDIwzBVXZU2|73^nBSb? z#X{-s2>N#74@JM&xYLts_THb67&Uusc;@XN%1Fpw%~h6f+EW5+zGCze8xE8salbkP zmQZ>0B>LSpwXis9G%;wF0YJ2Q{S~qD%jjKuV6?ocJ?CHbg zm#&77P_P&Yo_l7jj0g7984FC(HIs1Z>ZkMdxtZzSt$gVE>n{`_9`Zx`Nl;Vhjtx$Y zT*I5UG32-u_JtiP@;lf#Z>2F&OUEH419<{r;baGu@&1V~XM&(XSCjf1g@;i}sQq%Q zz8T3m@+8H;@VAHhTGj;QUF}m`{&w5NLKu?$jBF*uG$VOMORJqhAsmUn$ek&)K(*tS zF#Z+CD8Ve0@Im%3Bd9+RQKY7fbVA!44?dO>mLBzXj2uv$J^RPA`H~(Y!JcokFDA^b z>X-HFaX4;G7tc_eJ{GVLG~yB+*7&!Xdfc#>cJ`|tH|Z@7E`U?+lMg5*S8#kq>uI7s zs8Sz)f#iII0caKFRA9ind1WT=u|!SLd*TB7)-m3)+1+#~Vl$q81r@h!_v59anGGqU ze)O)4&PCsb_gjJLT2jMtK<2G!97gybhjLJ)h9xKTxm{DaF?Kg&zixV9M3PggIRfXP zk$mBau*&m-zv~smJRdZaZ&nf)#4%l)FsyAq-5g4M0x8EQuZXaw{{>FOVsLAO?vFm; z0O5{_7pDs5V6Ex2P`X-L?f0j`mE`r|D{Nmutod^Zm2{Z!`xvndD~9lDul{=FbM3ETQ;;+@I_Kz`AX^Q1Ypaz`YK?9nF zR-KygJ~CNI^;?d7JaYNO96D?;Y+-REuZ{yIYH*4&#=gh<0*s@f^42ZoI{ch#f2=WzqJQM1?dvIKS$mPLHn0DRhX z%xg3-E2&v8+xerBsV(33%)B?Ycp+_??{+;SysZjtqVKk@SbmH-$0&3mXF#+7 zulN{zJ1c1#j4ubPU^Yhgx9~guuE+}gq!Sz}DvhR41_`0 zR>X{r7y+m*r;c9`0qW-fBWgYl4YUz5e5AG5m)+yp0CSihJmf3Qg-71+A)ng%wjj&D z(RpHO6~x3K^oJDcWRaoJkcFWoF(j-^>NpWNNc@K3->_d6NMtvyd%y35`OZHn2iO~@ zr1>uFT$TR4f%u1BB8igKl3MScc8IQ|O)9d(18_S75WK`w%KH8p3-?IKqf1yT%o@b} zxqOwL#iQR_&N7Yu$qq>PqxLl;-#Fv@S>PKK0`PcwJe%y^%a|m7p2czq1<_F9HG+kW z)c-~KYp>HIO%yJ*e`&wM10?*SLv1I0DT0FJ2(}%P6ikrKgu{6bdup8G=^;;<@<``? z5MoM@s&8vc%lRA}d?$=q3E2=4QB}FMd!>KfTsqs75k4+q3ZiZwSi?K1izRyA=&0 zpyK={w+*x?Y%dR%yG0+GUS?;AM_-3K3?HJL0GDshSW^Efn?3FGs|X;J&95$v*T*yf z3DSALoPeW$4~sgwy0nYJKKYf8{c`GqVLGA4l*O<#zYAPwI=U>6OB0LX`RKI*^K0zYhFviHi1f^@J&%YcLmzptoJgAreUPL0BQc6KiI%3^uE%1_jVV; zpUF~%&4@XAsdfs0YD_*E1mL{LezitupMU}$pA9qBTMjk)Oh5(L5MClyrH@W%+t=J2 z`bjvePO`FAj?iU>5xqW!KXaE7qXG_a%ayeKc^l#xrh|`T&j{;q0=46(4HJ9~B8fx85wqHXo zJ|&rbtTZzwvlp8IW9U)a15o|1hcC$rFaYhrzk!C!hW!3ubIP+e{8{(MHZn!FjR8V- zW+GLj*nl2oc(+3%vy`MzNX=EsHVT0f+t0SaEI8!Ung=p4nZePBkUEYz*b6m4UJD2_Dy&XbekCigzGrWKUgvDRCYSCy}0Vk`jio_x7ufPK)BY* zVwWL*t6cb$Da8-EEPU83xxyLH$Je!}n@E1g2Py>cC-ZvMSiWrJ5(}9s0@%b{gQvxS zu;~Qr$Fl4Xa%oH=%#QgK>HVKp;(~&xT*~}B*&D3Jf~O$i=qd7jwA|ayFPmUUlKtUd zyaZP)RKO_ah=wPURk>&f)Q@i2<$;-KIOG`ijjtdy5#6?f}j#UB@FMT8Q&8r;CZ4^u_W57%{8v1Ht}snehb%oYg;s>PUjI+OO<}I@5s(%h6?$Ro_ag~YRQKM5zMStu`OJ`Pe=+f5 z-a}bFCAfc`r{tb9p`e%Y=|CQeOMe;-i@#h`*0Q~lvG{@x?{2Bu2=09FTl6X@l z0AUR0=MTMg?ZiD*kX=sjEfWAFSKA~KAhrP;w*7A)jcMrq&HZ+ADvS^LjZDn%7JS%Q zC+N(@PkK!tE}&x6V;wTIp4zq8QfrO|@EKO>UYN4bc0svX0$cf4Z(i7W7uk3J&FYY! zJI0tl5j~LRkhHxfdm&-3AV-2v;Vpf%(n0+deu{(31~v18WzIy8y#0>L zyRK+TCw7Y#!5zO)e}h-z(%6ds1nkO#21HO0p+;KIrdfg^#wgy8gg`yIA+5{DrvlJJ z0UsNM40iw%8I6(rNi#G~ z{Gvij&p`w|TgZd|xj)eIlK%H!=k)eez-UCF6B&r_Y0pdS3BYrn5b2Qf6N21CSfpr0 zTIYti`j^TNZJ0&i75F0oVIMPJE%B2yx(sCTjv^4CJ*L;k2HD%xBVCoxm}CVBZ8q7JctorkhQ7E- zhRt)XC2=z8TRO0x4ayKBQboRvtt<+-NRIQPOxVvDQf|~ZUqSsE#bWiBb@6 zl;;~!hp7m7B3lVrK4h$iwq4|xj^F?h6VhVb!Q~-xQXi{De596rVC^&Oh)hZ?AIg@X zPtN_bjtA;&;6U6X(E<@I11z|NQQ0rhmo13q@Q*J5z<-3a3Jb9DOV$v%LhDqr+kUc} zMte8F!AU0$KIATQ0+b3ee}IHh-MhPE4=nv1BcZ;x+Q|?=uK#g|wY?4Gg1y40bX7wK z22@P`;iCbRadQ*Ed7ebs)eGL*RoIa1pHat!^s9zK!cz*eMl?gq>gcNTU~VxPo9UKZ#5;XOHG15~kbx4a1W~ z%k88=OOJJ%HYFLYOEm@QfB`nsS^#Ziq>iov0FbGq%+ZCOIYvxEDCciAPa}^` zR5DRcnAxly+BM*;r1_ALHr^zxGG1Uea;HV*5n!7UK03!(GsUMG0Zj`uCawY-1+O=InHW>u;hfnZ;A4Qj< zyMja@U&X64-Iok-uKFePA4xJjdgH$Kvp6iSRy|m&yTF5l5u3SVd<(#3pBqQRV&NbM z0T{sBHez{KAaU${Vc6y(%C9B{?pcFjpx?WT@&SOmfpxz4j~tL|xX_mM4OS^E071$) zeG+`*XNm5+o*en?UsjK5NYuug;rfew0tbgPai0eOx+SznJ;QZT*VNtek9saD8?77KnCO03HFG8$u$QNnk*)sKexkI3J* zdqVB*E(ECpjzXLX{J?0q*G=G(P-dLyU105#43_MFR~mpbEQ}Qv4&eCdm)qa~UoVYO z6m;NMpr2mYK&+zOiwL-OD9hw9&(CizBrt+iaW(H%k>`NZ$3v?WfCr{7K>abqxnXKc z$4A_11z8<1PcA9alAFspAYkAv5wnrVj@#3>&Vo~n zI1X~6D>t0#E&cfz!E^EWu(w5_95W7`ME}i4=dG9FXn%2S#iN2B@gp-XSP`%IeP%-$I&20mLs_8#Oz3hfarHxNN zPv5Zs1%qcv6x5!sqT;@{(sGHBjCoD2DRX~qQ^yl?5{GH|(hRn*D_B*_F)yER;ab_* z8lVJ=xZO@CT0*fwqt7k^T3EeTu#8Y~oo0(>(~W3KVV!$Si#e86cb}nvNoUY(fy!^)D3wXV#tn1MJ>JOB?99Q^>MuaV zy#^*eum?Rn!I{5tk&0o@U8T@fOyjaA6`cDG6FD9NtW9M%{5=I;Mtscp zyLQdEOlGp@GaTBLrxwFWpPlcOl;er>XvzRBJT3PJ#*v)*BeR5j%UPwl!Hk8yr`xR_ z-gi~`M?cc!t|lN{md*$zve!E8dd?@3@H32N97SG*{V`GYK+clc=}4_N$a+^nid*tu z`jqa4%Ipm88ocfxPkUW9Xj1vCN7f{-SHt@-QYPxM=%>u?B{B$LM(n(&t93v}LLUnCA!zm?2T5Hw^0G#l@tMpQo<0u^K;dpiG|RfebwF2F|S@HPn%2Z+89Y&q}S< z2nCFDIUmIun|MS)Ec7@ZBH&o-P~LLvJK+_ihK`6*Zxg!=x3uVg_cD{{9DRcCcBJ$p zq@sGx-mD)&5gP6L$L|~v=U|$Ua|!wo`vk@&)!>VHq-elF%!k9P^k5(eS-Zti7hcWk zE0}=QKtZUKG)K=@mFDA(1iZXAu(=vtl~JvK$N8e2 zja`Y@AUd#In~tlh5CwwxcObXXss?|Pgs^;?wieDjhsh^?T>*oH-$e`oH76`Dg$;`w zq?f)JK)<&uUkDwj|HB9c$csD6cOSTcLQK)amzhCQo%c06@QNUH_RDw3@N6nqEd z2r1ILh4Mw1kmW1QPJZULnn)|=pcaTp4Thai{2FE&PAzHVykSE=+!r|5W{;b>Lg30_UquL@DaE>k#cu%61rU`9J!l?k@)ltpM9+0XM&q4G&6pZUp)J~2R5jJn5Y z*`d!wqDTG4Ge6129?9<|1AW1Vf>5j<)BWzaSlrbigMh12J;}HmridO2s|ofEH8F&H zlY{Y@pML%8dVQIpY;5#O`|uca={MypB2fpQ6iVjw6LykLiUD8F^tT0AS|+fkov(GmK-wb@C-1iDX$cE-F3$`!$g06&_W3#Nb$sC?2|#EZuypXpJ3ET&hZc#oRwi4lI*J1S2cwAw-f&9^jFdGK_89~CL=xaVh z)x<%d2(&$yo`;FOIF72mM#@qtG52lvx|{d%v|ihw%?$noW;0``yk zIcoy;96(P={8jDYVWwS`u-!u%^Gy?`->o%M5oW}@;93g-s)B!Q1ouCxwQ+ErlFxVg z9#$JU;g1dNnrV$`UMm6^W%`a42MQSU3-IqqD7U+*`qZvU*baY3QEk-JLp>!uv|*N_ z=a>ChcN>|~@_E%{>8N~29W2oPxu!Lpr`j&33p}Al?&`0Ydsf{t-O*HT@ERZuKt|FL zGcp=vh7Iz4d=^jKg{h|j=#B4CEiTbIZcEmBP4@3Q2dSLbY3ZsfV4i(Yp!-#@92pI2 zvdTZYI7CsXty;KGio00r_S{A*@n6XwMfOQMs`;?`1*;%U<@myBAiM*spnuiPinSEH zpe3L5tl0`&AyECdX1Oz_xMGSG9>nAe@x*IkS*UbHsHM)k>+++swF#uAlJAm20Qv?ub)Vica>@Dspz3gZQw^aSCcrE_wWnE*fTFB3TYoI`k@Ui zLlsBefWyz9|NSLV_9nmSf-{qU=r~5E{rf9YI9n=LTTMrp$IabaT=}QEZWU z*0EcD6=LW2m+MlP!n*Krw+fky3_o8>J(zK}_j(Tx{149U4mh|3v=3s2DL>^3wyfdGq<86{Hh z;tt){g*xW;9{*$Oi1T(EDvJ8=$=pG0f{ul1w{N1~*~syraQ(EAnUmoC2~xP-zeh`Jdl+ANc1x0r0{&6 z>#1j0MoPW!#BW$-1eIr} zJkGW%QUTH+ePt_*R7jC5M7#Q8-9XJYh_gb2uNTs}5Z`hhE<%-7gm(U0z1~ou=f^pv zY#I3ARgTB{wY<8%>fgxl%RrVSnAV0h)T&Xs`8r+JK@T-(Hqgpvt^%ee+?fdm+Ntkv z5;5|(n(WQN{bDu$#en3xt)YR~_Pp`31@BGhT13jwM^#WK=3KtEnS%nU44otQ& zih=17TP_lp1^v=iKQ=1sF2#0Zp*6i1@uosjd=O4Nt!<`yED8d;CN z&(nx>#cd(xJ#9&FisUUr2B$2|eURM9r8lw6EU*1f{duGe78htxz9`1aHlOe)FpRlu zED}CHP-o-w`V%&rkS^J;|NU&=9m-_u5xrXfqD>oVb#qiL`&ek?uh zoOJMNc>Q;Jl?957>^|qs`_6XF!V3=~N=Ba&K2{#mDE{@+fq+t5FIqrO)P3%C6{1dn zc1=S}J_|d0;- zoVlFMVqU?;cMUbf3%Yztr8!o$Egs|MeG0i1IZhJgr}9d@3vml5d7>MiG!r|x*K^~! z>ZaOK)M{{>_x}sp(+!_TQU5Qw{=wk|O}${%4%%3il(w|A72`AdBD1?$OjWGyl8soNG6FsZoV&i-zMa_$(+j%?Ad`Jxj}pt&5O#!OIHmWxj(YHNOI;TRcqFR8)4Q zY)&Hd6Pp&5cQ<#sNSRY)x`Szan>5FZI!Z}}PbH2hn+Az+Oey!yVUm^u1}uKv;8_W- z;mcFa9|xm-GtKfqi($1_6fH!|0t1-47I)yqJT%0u6z}s$SwucY_V_L{JX-0s)R0Ca zOnt-j6{kLqyF~9N8vbo!sHfDt8sl#V38PH4Djg}cC`4K7vD;F)s)3NS?Uu6;7W_I9 z+sJQLdnYMH#ia`Pv8j{E424Nz#NX%L{zCRwHl(Xs(EpHx72iH}$#L8oZHROFLy z(x*RdDu2>vrMW-DAa;0{XWs?Y(64D|z-*-;E86YX2s0ses_cS)vhA!m$MDI`2NkQ# z9p_AVs33oP{JFVfeSkwot*gK}jPqJNt5+rWefIN+^4ecA3k}5llBXQnwSD0Mc{mQ$ z=l=v)M8KvG$PCzo1uz9_oQ(7!qaGsb_|MD53p(VGX(d9(_R5hS4fGyFG9)Bkvm>Sv zV@#ek)G7*54J7y-FC5?S)-_Kf09B@LmwHaihn4UtJ{#%n#NV|$?2 zfWN+7uLv z87E*pGZsiK!5)3iHdsL0KkE|Sg*$Z%uDZ_5qd97bcrQOC%(SQ2M(Ti|86MV!_oXn@ z&5_hheDx#d?$4{22b$_;tpZlyw=QLw8aNRkiw$vBGA5D$xMb(pRYvu72yzXm5bPGSg_46 z6PrcEX~)oR)Y$V++jU=`qdSyL)U+6RZzT~q$|4RxJ@d8H#$vi*eh=h$^DBWPKcpg+ zReRENoct7+kP!Or8hjISU9a3p_cG`l8VM+D$q#sSCT97>0ZwwDaMsEJtN*PIo-B04 z?kuCH%^xKq}@b23dEbyuQn z5kd`6jiFWpase`GQzp_a&jC@wxLV03s1lkhr+(mm?) zVeIv9ZVs@W)R($vS(aq0L_2IV%zt@Mw|gCXDujDZzv%z$k2bO>#Yz|Ut&yd)Y8qM< z5>q=%7w^wK@9Q?}7+_!L&v+j4j|R$71D*_96H}O!nB!|OOu~mS44bl&Qz%$2bXbIC3)&!) z$9t@T`vRd6^ML;|5rET!`W#5^S&Du|Y_9W96wQKyBmMD+am|wSC)oR~SOiZ^l%Esc zZCX5Fz}9)Fqh#=B*y|QcKg8aIc}9y_*izUbztkSNVsVSegzBsiIY4|jF85b=L*s_& z4nN8$54HRoCQV$zFA{-Z2acLcrdw4V%Fa7^7{_>Wh!_pLa4T*;?Ho+PDKp_)DkY{{ zDPjgDc#A^+FaEW7C^==3cNop3C!Qj0OlRJVmG(CT(~hJ!v%PTH$(=X(x+C$^!gL7v z^jtRKa#G%1#V5A|pJ(CQ!W;VBksao_MaAnD&n8+tuLt%)i0JPG*or?&zHT&1@YpI& ztnh-f_c9~Mu|J$kBZPWLJbKv*p1EWz0EFFzmoa`)c{`k6j(;QopKL&b$(jm8HpbW+ z{K3Umkt^(rKGjpO9Ezvc!(mdMBFvp_+hY<6!t9Y3O6n6}<8DCzhuTN#+>6fls=_0rk?S z@-&-+#?Kjd3--sb{-+%g=HxQmf`;f|0&gcVE4 zWjH)v5(WPyCU`9bSIk*SM(}3rz0-uN8lgucc}^OC>#fu`*V9N8+G1CaSF&VW=K)QP z-+yhFj@S|0;n5WVJOL|dyNd!cZqSyZB|5|*Hhv?yuG`ul5heU*Ya-781IJ6s063`}CEE-FyQ<{|{?pd1Jq!TKC6P)PmAa4em_@Hb3sjo_9R$L zcpNE#|BEl z3uQ$AfLJS#Q}F$NwZDS;30NnKe3yx2J|B@uMJ<$;_CXk%dCVvY9@(~m@@>qN?=+?UZg^(v zJrs}?U~Pnx*TtyGmgZKuPkQ^4(rt~UD8}OR$p$Q=AZ_LCPsSK}NX4QmDZOgEhvz@^ zXBE0oI!jc6Gv-(D)o^-gjcIWx95UoT61QDe5OdftopkN{A6a0C29#qK1Yi6_irIgu z4wV4r=sz=SyQ`%-+WyKU?CxLhh4NEPzAJ}-BlQ}uQQe_pg>|ZbgSW&YAbKcb6^2*X zaG2ijpCl_fO~Hfk%gI?#Yh(4}THweUS-K~WMam~Rvz952#s`LDEfp2W|yoPxu z91@7=(sV@K*(tvM8=g)Qpr7LW5Q^Cq56#R+>z zs8yIG=`ZO7G!h_(ocfO#;6((A&<)5`JGwS?yw`cz^*|T4G(#G*tS8$l3ZpU+6UtE9 z+mEgGP231a!QcFO!E{koGHPS%cR_=;J}7X5iJSQ&`G{CYj4M#ENn0FzHP~>lV5ihr zBFsAVtCc;_MYQI?J8Nrc=#9`j(!A#@Nx5IjTW~3J?TD(?FDOoyKyslbbvm_rn>28unduGr0zEY&G9G#s>SzZ0tdrq&$wL7zzTI=OyWAFfdGqit{ zExdPLuTO$eQreU^Mc6_Y@ftRj!d-yc6hmao819)1am{-2ZrTco@z1TJFl{ocybF}k z68{Ne@6`+u`I$1bweX9z8IE8@6;ei(+LjlqKB?;-H}$xDM|?wk`62W&~GBeu}?3>iv4PI6e%Z7 zUQKyy@V(Cg1D@+dj4)_9vzb$UC)yV&k61|hm2|?6uE_b+I99bw7H^89&kz$}wnwJI zGs^sJpIGzmNuXYORufCX0rSP|(NKX8wB-_y&dOv~ulFYeAwx{D7`^~G2bOrWKNeBj zDwIHmtidNDuHwzixNj_7YknMAM3-Wn|35@8_VHL47}wB!jBNfcx)#cAnsBi&6)o!< z?&eAjgbfz=g+H7R z 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 diff --git a/assets/preload/images/alphabetOld.xml b/assets/preload/images/alphabetOld.xml deleted file mode 100644 index 856c66b5..00000000 --- a/assets/preload/images/alphabetOld.xml +++ /dev/null @@ -1,601 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/hmm.json b/hmm.json index 493d7c64..1afc1ed7 100644 --- a/hmm.json +++ b/hmm.json @@ -8,12 +8,12 @@ { "name": "openfl", "type": "haxelib", - "version": "9.3.2" + "version": null }, { "name": "flixel", "type": "haxelib", - "version": "5.5.0" + "version": null }, { "name": "flixel-addons", diff --git a/source/game/options/BaseOptionsMenu.hx b/source/game/options/BaseOptionsMenu.hx index 73201eda..7ed9b8fb 100644 --- a/source/game/options/BaseOptionsMenu.hx +++ b/source/game/options/BaseOptionsMenu.hx @@ -30,6 +30,7 @@ import backend.system.MusicBeatSubstate; import backend.system.MusicBeatState; import game.objects.AttachedText; import game.objects.*; +import game.options.objects.CheckboxThingie; using StringTools; diff --git a/source/game/options/CheckboxThingie.hx b/source/game/options/objects/CheckboxThingie.hx similarity index 98% rename from source/game/options/CheckboxThingie.hx rename to source/game/options/objects/CheckboxThingie.hx index c2d99c70..1cb31a4a 100644 --- a/source/game/options/CheckboxThingie.hx +++ b/source/game/options/objects/CheckboxThingie.hx @@ -1,4 +1,4 @@ -package game.options; +package game.options.objects; import flixel.FlxSprite; import flixel.graphics.frames.FlxAtlasFrames; diff --git a/source/game/states/AnimatedImageState.hx b/source/game/states/AnimatedImageState.hx index 547598ae..5ddfec3e 100644 --- a/source/game/states/AnimatedImageState.hx +++ b/source/game/states/AnimatedImageState.hx @@ -6,9 +6,9 @@ import flixel.FlxG; import flixel.text.FlxText; import flixel.FlxSprite; import flixel.util.FlxColor; - import backend.system.MusicBeatSubstate; import backend.system.MusicBeatState; + using StringTools; class AnimatedImageState extends MusicBeatState @@ -18,8 +18,8 @@ class AnimatedImageState extends MusicBeatState var index:FlxSprite; var stateReturn:FlxState; - - public function new(text:String, image:String, animPrefix:String, center:Bool, framerate:Int = 24, returnState:FlxState, color:FlxColor = FlxColorPastel.PASTELPINK) + public function new(text:String, image:String, animPrefix:String, center:Bool, framerate:Int = 24, returnState:FlxState, + color:FlxColor = FlxColorPastel.PASTELPINK) { super(); FlxG.sound.music.stop(); @@ -41,11 +41,12 @@ class AnimatedImageState extends MusicBeatState index.frames = backend.utils.Paths.getSparrowAtlas(image); index.antialiasing = backend.utils.ClientPrefs.data.globalAntialiasing; index.animation.addByPrefix('instance', animPrefix, framerate, true); - if (center) index.screenCenter(); + if (center) + index.screenCenter(); index.animation.play('instance'); index.updateHitbox(); add(index); - }; + } override function update(elapsed:Float) { diff --git a/source/game/states/OutdatedState.hx b/source/game/states/OutdatedState.hx index 5b226acc..81ac19d2 100644 --- a/source/game/states/OutdatedState.hx +++ b/source/game/states/OutdatedState.hx @@ -1,5 +1,6 @@ package game.states; +import backend.data.EngineData; import backend.CoolUtil; import flixel.FlxG; import flixel.FlxSprite; @@ -12,14 +13,15 @@ import flixel.addons.transition.FlxTransitionableState; import flixel.tweens.FlxTween; import flixel.util.FlxTimer; import backend.data.PsychData; - import backend.system.MusicBeatSubstate; import backend.system.MusicBeatState; + class OutdatedState extends MusicBeatState { public static var leftState:Bool = false; var warnText:FlxText; + override function create() { super.create(); @@ -27,14 +29,16 @@ class OutdatedState extends MusicBeatState var bg:FlxSprite = new FlxSprite().makeGraphic(FlxG.width, FlxG.height, FlxColor.BLACK); add(bg); - warnText = new FlxText(0, 0, FlxG.width, - "Sup bro, looks like you're running an \n - outdated version of Psych Engine (" + PsychData.psychVersion + "),\n - please update to " + game.states.TitleState.updateVersion + "!\n + warnText = new FlxText(0, 0, FlxG.width, "Sup bro, looks like you're running an \n + outdated version of Astro Engine [" + + EngineData.mainCoreShit.coreVersion + + "],\n + please update to " + + game.states.TitleState.updateVersion + + "!\n Press ESCAPE to proceed anyway.\n \n - Thank you for using the Engine!", - 32); + Thank you for using the Engine!", 32); warnText.setFormat("VCR OSD Mono", 32, FlxColor.WHITE, CENTER); warnText.screenCenter(Y); add(warnText); @@ -42,20 +46,24 @@ class OutdatedState extends MusicBeatState override function update(elapsed:Float) { - if(!leftState) { - if (controls.ACCEPT) { + if (!leftState) + { + if (controls.ACCEPT) + { leftState = true; CoolUtil.browserLoad("https://github.com/ShadowMario/FNF-PsychEngine/releases"); } - else if(controls.BACK) { + else if (controls.BACK) + { leftState = true; } - if(leftState) + if (leftState) { FlxG.sound.play(backend.utils.Paths.sound('cancelMenu')); FlxTween.tween(warnText, {alpha: 0}, 1, { - onComplete: function (twn:FlxTween) { + onComplete: function(twn:FlxTween) + { MusicBeatState.switchState(new game.states.MainMenuState()); } }); diff --git a/source/game/states/TitleState.hx b/source/game/states/TitleState.hx index 1a15471e..ae713fd0 100644 --- a/source/game/states/TitleState.hx +++ b/source/game/states/TitleState.hx @@ -24,7 +24,7 @@ import sys.FileSystem; import sys.io.File; #end import game.options.GraphicsSettingsSubState; -//import flixel.graphics.FlxGraphic; +// import flixel.graphics.FlxGraphic; import flixel.graphics.frames.FlxAtlasFrames; import flixel.graphics.frames.FlxFrame; import flixel.group.FlxGroup; @@ -46,9 +46,9 @@ import backend.client.Discord.DiscordClient; import backend.system.MusicBeatState; using StringTools; + typedef TitleData = { - titlex:Float, titley:Float, startx:Float, @@ -58,6 +58,7 @@ typedef TitleData = backgroundSprite:String, bpm:Int } + class TitleState extends MusicBeatState { public static var muteKeys:Array = [FlxKey.ZERO]; @@ -71,7 +72,7 @@ class TitleState extends MusicBeatState var credTextShit:game.objects.Alphabet; var textGroup:FlxGroup; var ngSpr:FlxSprite; - + var titleTextColors:Array = [0xFF33FFFF, 0xFF3333CC]; var titleTextAlphas:Array = [1, .64]; @@ -79,14 +80,6 @@ class TitleState extends MusicBeatState var wackyImage:FlxSprite; - #if TITLE_SCREEN_EASTER_EGG - var easterEggKeys:Array = [ - 'SHADOW', 'RIVER', 'SHUBS', 'BBPANZU' - ]; - var allowedKeys:String = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'; - var easterEggKeysBuffer:String = ''; - #end - var mustUpdate:Bool = false; var titleJSON:TitleData; @@ -96,8 +89,9 @@ class TitleState extends MusicBeatState override public function create():Void { FlxG.mouse.visible = false; - if(backend.utils.ClientPrefs.data.mouseEvents && !backend.utils.ClientPrefs.data.lowQuality) FlxG.mouse.visible = true; - + if (backend.utils.ClientPrefs.data.mouseEvents && !backend.utils.ClientPrefs.data.lowQuality) + FlxG.mouse.visible = true; + backend.utils.Paths.clearStoredMemory(); backend.utils.Paths.clearUnusedMemory(); @@ -106,34 +100,34 @@ class TitleState extends MusicBeatState #end var maxS = FlxG.save.data.maxScore; var mostM = FlxG.save.data.mostMisses; - if(maxS != null) + if (maxS != null) trace(FlxG.save.data.maxScore); - if(mostM != null) + if (mostM != null) trace(FlxG.save.data.mostMisses); StatChangeables.loadStats(); // Just to load a mod on start up if ya got one. For mods that change the menu music and bg WeekData.loadTheFirstEnabledMod(); - //trace(path, FileSystem.exists(path)); + // trace(path, FileSystem.exists(path)); /*#if (polymod && !html5) - if (sys.FileSystem.exists('mods/')) { - var folders:Array = []; - for (file in sys.FileSystem.readDirectory('mods/')) { - var path = haxe.io.Path.join(['mods/', file]); - if (sys.FileSystem.isDirectory(path)) { - folders.push(file); + if (sys.FileSystem.exists('mods/')) { + var folders:Array = []; + for (file in sys.FileSystem.readDirectory('mods/')) { + var path = haxe.io.Path.join(['mods/', file]); + if (sys.FileSystem.isDirectory(path)) { + folders.push(file); + } + } + if(folders.length > 0) { + polymod.Polymod.init({modRoot: "mods", dirs: folders}); } } - if(folders.length > 0) { - polymod.Polymod.init({modRoot: "mods", dirs: folders}); - } - } - #end*/ + #end */ #if desktop // Updating Discord Rich Presence - DiscordClient.changePresence("Viewing The Title", null); + DiscordClient.changePresence("Viewing The Title", null); #end FlxG.game.focusLostFramerate = 60; @@ -156,25 +150,28 @@ class TitleState extends MusicBeatState backend.utils.ClientPrefs.loadPrefs(); #if CHECK_FOR_UPDATES - if(backend.utils.ClientPrefs.data.checkForUpdates && !closedState) { + if (backend.utils.ClientPrefs.data.checkForUpdates && !closedState) + { trace('checking for update'); - //var http = new haxe.Http("https://raw.githubusercontent.com/ShadowMario/FNF-PsychEngine/main/gitVersion.txt"); + // var http = new haxe.Http("https://raw.githubusercontent.com/ShadowMario/FNF-PsychEngine/main/gitVersion.txt"); var http = new haxe.Http("https://raw.githubusercontent.com/Hackx2/FNF-AstroEngine/main/gitVersion.txt"); - http.onData = function (data:String) + http.onData = function(data:String) { updateVersion = data.split('\n')[0].trim(); - + var curVersion:String = EngineData.mainCoreShit.coreVersion.trim(); trace('version online: ' + updateVersion + ', your version: ' + curVersion); - if(updateVersion != curVersion) { + if (updateVersion != curVersion) + { trace('versions arent matching!'); mustUpdate = true; } } - http.onError = function (error) { + http.onError = function(error) + { trace('error: $error'); } @@ -187,31 +184,12 @@ class TitleState extends MusicBeatState // IGNORE THIS!!! titleJSON = Json.parse(backend.utils.Paths.getTextFromFile('images/gfDanceTitle.json')); - #if TITLE_SCREEN_EASTER_EGG - if (FlxG.save.data.psychDevsEasterEgg == null) FlxG.save.data.psychDevsEasterEgg = ''; //Crash prevention - switch(FlxG.save.data.psychDevsEasterEgg.toUpperCase()) - { - case 'SHADOW': - titleJSON.gfx += 210; - titleJSON.gfy += 40; - case 'RIVER': - titleJSON.gfx += 100; - titleJSON.gfy += 20; - case 'SHUBS': - titleJSON.gfx += 160; - titleJSON.gfy -= 10; - case 'BBPANZU': - titleJSON.gfx += 45; - titleJSON.gfy += 100; - } - #end - - if(!initialized) + if (!initialized) { - if(FlxG.save.data != null && FlxG.save.data.fullscreen) + if (FlxG.save.data != null && FlxG.save.data.fullscreen) { FlxG.fullscreen = FlxG.save.data.fullscreen; - //trace('LOADED FULLSCREEN SETTING!!'); + // trace('LOADED FULLSCREEN SETTING!!'); } persistentUpdate = true; persistentDraw = true; @@ -228,11 +206,14 @@ class TitleState extends MusicBeatState #elseif CHARTING MusicBeatState.switchState(new ChartingState()); #else - if(FlxG.save.data.flashing == null && !game.states.FlashingState.leftState) { + if (FlxG.save.data.flashing == null && !game.states.FlashingState.leftState) + { FlxTransitionableState.skipNextTransIn = true; FlxTransitionableState.skipNextTransOut = true; MusicBeatState.switchState(new game.states.FlashingState()); - } else { + } + else + { if (initialized) startIntro(); else @@ -257,16 +238,16 @@ class TitleState extends MusicBeatState if (!initialized) { /*var diamond:FlxGraphic = FlxGraphic.fromClass(GraphicTransTileDiamond); - diamond.persist = true; - diamond.destroyOnNoUse = false; + diamond.persist = true; + diamond.destroyOnNoUse = false; - FlxTransitionableState.defaultTransIn = new TransitionData(FADE, FlxColor.BLACK, 1, new FlxPoint(0, -1), {asset: diamond, width: 32, height: 32}, - new FlxRect(-300, -300, FlxG.width * 1.8, FlxG.height * 1.8)); - FlxTransitionableState.defaultTransOut = new TransitionData(FADE, FlxColor.BLACK, 0.7, new FlxPoint(0, 1), - {asset: diamond, width: 32, height: 32}, new FlxRect(-300, -300, FlxG.width * 1.8, FlxG.height * 1.8)); + FlxTransitionableState.defaultTransIn = new TransitionData(FADE, FlxColor.BLACK, 1, new FlxPoint(0, -1), {asset: diamond, width: 32, height: 32}, + new FlxRect(-300, -300, FlxG.width * 1.8, FlxG.height * 1.8)); + FlxTransitionableState.defaultTransOut = new TransitionData(FADE, FlxColor.BLACK, 0.7, new FlxPoint(0, 1), + {asset: diamond, width: 32, height: 32}, new FlxRect(-300, -300, FlxG.width * 1.8, FlxG.height * 1.8)); - transIn = FlxTransitionableState.defaultTransIn; - transOut = FlxTransitionableState.defaultTransOut;*/ + transIn = FlxTransitionableState.defaultTransIn; + transOut = FlxTransitionableState.defaultTransOut; */ // HAD TO MODIFY SOME BACKEND SHIT // IF THIS PR IS HERE IF ITS ACCEPTED UR GOOD TO GO @@ -277,7 +258,8 @@ class TitleState extends MusicBeatState // FlxG.sound.list.add(music); // music.play(); - if(FlxG.sound.music == null) { + if (FlxG.sound.music == null) + { FlxG.sound.playMusic(backend.utils.Paths.music('freakyMenu'), 0); } } @@ -287,9 +269,12 @@ class TitleState extends MusicBeatState var bg:FlxSprite = new FlxSprite(); - if (titleJSON.backgroundSprite != null && titleJSON.backgroundSprite.length > 0 && titleJSON.backgroundSprite != "none"){ + if (titleJSON.backgroundSprite != null && titleJSON.backgroundSprite.length > 0 && titleJSON.backgroundSprite != "none") + { bg.loadGraphic(backend.utils.Paths.image(titleJSON.backgroundSprite)); - }else{ + } + else + { bg.makeGraphic(FlxG.width, FlxG.height, FlxColor.BLACK); } @@ -312,37 +297,13 @@ class TitleState extends MusicBeatState gfDance = new FlxSprite(titleJSON.gfx, titleJSON.gfy); var easterEgg:String = FlxG.save.data.psychDevsEasterEgg; - if(easterEgg == null) easterEgg = ''; //html5 fix + if (easterEgg == null) + easterEgg = ''; - switch(easterEgg.toUpperCase()) - { - #if TITLE_SCREEN_EASTER_EGG - case 'SHADOW': - gfDance.frames = backend.utils.Paths.getSparrowAtlas('ShadowBump'); - gfDance.animation.addByPrefix('danceLeft', 'Shadow Title Bump', 24); - gfDance.animation.addByPrefix('danceRight', 'Shadow Title Bump', 24); - case 'RIVER': - gfDance.frames = backend.utils.Paths.getSparrowAtlas('RiverBump'); - gfDance.animation.addByIndices('danceLeft', 'River Title Bump', [15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29], "", 24, false); - gfDance.animation.addByIndices('danceRight', 'River Title Bump', [29, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14], "", 24, false); - case 'SHUBS': - gfDance.frames = backend.utils.Paths.getSparrowAtlas('ShubBump'); - gfDance.animation.addByPrefix('danceLeft', 'Shub Title Bump', 24, false); - gfDance.animation.addByPrefix('danceRight', 'Shub Title Bump', 24, false); - case 'BBPANZU': - gfDance.frames = backend.utils.Paths.getSparrowAtlas('BBBump'); - gfDance.animation.addByIndices('danceLeft', 'BB Title Bump', [14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27], "", 24, false); - gfDance.animation.addByIndices('danceRight', 'BB Title Bump', [27, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13], "", 24, false); - #end + gfDance.frames = backend.utils.Paths.getSparrowAtlas('gfDanceTitle'); + gfDance.animation.addByIndices('danceLeft', 'gfDance', [30, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14], "", 24, false); + gfDance.animation.addByIndices('danceRight', 'gfDance', [15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29], "", 24, false); - default: - //EDIT THIS ONE IF YOU'RE MAKING A SOURCE CODE MOD!!!! - //EDIT THIS ONE IF YOU'RE MAKING A SOURCE CODE MOD!!!! - //EDIT THIS ONE IF YOU'RE MAKING A SOURCE CODE MOD!!!! - gfDance.frames = backend.utils.Paths.getSparrowAtlas('gfDanceTitle'); - gfDance.animation.addByIndices('danceLeft', 'gfDance', [30, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14], "", 24, false); - gfDance.animation.addByIndices('danceRight', 'gfDance', [15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29], "", 24, false); - } gfDance.antialiasing = backend.utils.ClientPrefs.data.globalAntialiasing; add(gfDance); @@ -353,18 +314,19 @@ class TitleState extends MusicBeatState titleText = new FlxSprite((titleJSON.startx + 30), titleJSON.starty); #if (desktop && MODS_ALLOWED) var path = "mods/" + backend.utils.Paths.currentModDirectory + "/images/titleEnter.png"; - //trace(path, FileSystem.exists(path)); - if (!FileSystem.exists(path)){ + // trace(path, FileSystem.exists(path)); + if (!FileSystem.exists(path)) + { path = "mods/images/titleEnter.png"; } - //trace(path, FileSystem.exists(path)); - if (!FileSystem.exists(path)){ + // trace(path, FileSystem.exists(path)); + if (!FileSystem.exists(path)) + { path = "assets/images/titleEnter.png"; } - //trace(path, FileSystem.exists(path)); - titleText.frames = FlxAtlasFrames.fromSparrow(BitmapData.fromFile(path),File.getContent(StringTools.replace(path,".png",".xml"))); + // trace(path, FileSystem.exists(path)); + titleText.frames = FlxAtlasFrames.fromSparrow(BitmapData.fromFile(path), File.getContent(StringTools.replace(path, ".png", ".xml"))); #else - titleText.frames = backend.utils.Paths.getSparrowAtlas('titleEnter'); #end var animFrames:Array = []; @@ -372,24 +334,26 @@ class TitleState extends MusicBeatState titleText.animation.findByPrefix(animFrames, "ENTER IDLE"); titleText.animation.findByPrefix(animFrames, "ENTER FREEZE"); } - - if (animFrames.length > 0) { + + if (animFrames.length > 0) + { newTitle = true; - + titleText.animation.addByPrefix('idle', "ENTER IDLE", 24); titleText.animation.addByPrefix('press', backend.utils.ClientPrefs.data.flashing ? "ENTER PRESSED" : "ENTER FREEZE", 24); } - else { + else + { newTitle = false; - + titleText.animation.addByPrefix('idle', "Press Enter to Begin", 24); titleText.animation.addByPrefix('press', "ENTER PRESSED", 24); } - + titleText.antialiasing = backend.utils.ClientPrefs.data.globalAntialiasing; titleText.animation.play('idle'); titleText.updateHitbox(); - //titleText.screenCenter(X); + // titleText.screenCenter(X); add(titleText); var logo:FlxSprite = new FlxSprite().loadGraphic(backend.utils.Paths.image('logo')); @@ -448,8 +412,9 @@ class TitleState extends MusicBeatState } var transitioning:Bool = false; + private static var playJingle:Bool = false; - + var newTitle:Bool = false; var titleTimer:Float = 0; @@ -483,10 +448,12 @@ class TitleState extends MusicBeatState pressedEnter = true; #end } - - if (newTitle) { + + if (newTitle) + { titleTimer += CoolUtil.boundTo(elapsed, 0, 1); - if (titleTimer > 2) titleTimer -= 2; + if (titleTimer > 2) + titleTimer -= 2; } // EASTER EGG @@ -498,19 +465,20 @@ class TitleState extends MusicBeatState var timer:Float = titleTimer; if (timer >= 1) timer = (-timer) + 2; - + timer = FlxEase.quadInOut(timer); - + titleText.color = FlxColor.interpolate(titleTextColors[0], titleTextColors[1], timer); titleText.alpha = FlxMath.lerp(titleTextAlphas[0], titleTextAlphas[1], timer); } - - if(pressedEnter) + + if (pressedEnter) { titleText.color = FlxColor.WHITE; titleText.alpha = 1; - - if(titleText != null) titleText.animation.play('press'); + + if (titleText != null) + titleText.animation.play('press'); FlxG.camera.flash(backend.utils.ClientPrefs.data.flashing ? FlxColor.WHITE : 0x4CFFFFFF, 1); FlxG.sound.play(backend.utils.Paths.sound('confirmMenu'), 0.7); @@ -520,65 +488,17 @@ class TitleState extends MusicBeatState new FlxTimer().start(1, function(tmr:FlxTimer) { - if (mustUpdate) { + if (mustUpdate) + { MusicBeatState.switchState(new game.states.OutdatedState()); - } else { + } + else + { MusicBeatState.switchState(new game.states.MainMenuState()); } closedState = true; }); - // FlxG.sound.play(backend.utils.Paths.music('titleShoot'), 0.7); - } - #if TITLE_SCREEN_EASTER_EGG - else if (FlxG.keys.firstJustPressed() != FlxKey.NONE) - { - var keyPressed:FlxKey = FlxG.keys.firstJustPressed(); - var keyName:String = Std.string(keyPressed); - if(allowedKeys.contains(keyName)) { - easterEggKeysBuffer += keyName; - if(easterEggKeysBuffer.length >= 32) easterEggKeysBuffer = easterEggKeysBuffer.substring(1); - //trace('Test! Allowed Key pressed!!! Buffer: ' + easterEggKeysBuffer); - - for (wordRaw in easterEggKeys) - { - var word:String = wordRaw.toUpperCase(); //just for being sure you're doing it right - if (easterEggKeysBuffer.contains(word)) - { - //trace('YOOO! ' + word); - if (FlxG.save.data.psychDevsEasterEgg == word) - FlxG.save.data.psychDevsEasterEgg = ''; - else - FlxG.save.data.psychDevsEasterEgg = word; - FlxG.save.flush(); - - FlxG.sound.play(backend.utils.Paths.sound('ToggleJingle')); - - var black:FlxSprite = new FlxSprite(0, 0).makeGraphic(FlxG.width, FlxG.height, FlxColor.BLACK); - black.alpha = 0; - add(black); - - FlxTween.tween(black, {alpha: 1}, 1, {onComplete: - function(twn:FlxTween) { - FlxTransitionableState.skipNextTransIn = true; - FlxTransitionableState.skipNextTransOut = true; - MusicBeatState.switchState(new TitleState()); - } - }); - FlxG.sound.music.fadeOut(); - if(game.states.FreeplayState.vocals != null) - { - game.states.FreeplayState.vocals.fadeOut(); - } - closedState = true; - transitioning = true; - playJingle = true; - easterEggKeysBuffer = ''; - break; - } - } - } } - #end } if (initialized && pressedEnter && !skippedIntro) @@ -586,10 +506,12 @@ class TitleState extends MusicBeatState skipIntro(); } - if(swagShader != null) + if (swagShader != null) { - if(controls.UI_LEFT) swagShader.hue -= elapsed * 0.1; - if(controls.UI_RIGHT) swagShader.hue += elapsed * 0.1; + if (controls.UI_LEFT) + swagShader.hue -= elapsed * 0.1; + if (controls.UI_RIGHT) + swagShader.hue += elapsed * 0.1; } super.update(elapsed); @@ -602,7 +524,8 @@ class TitleState extends MusicBeatState var money:game.objects.Alphabet = new game.objects.Alphabet(0, 0, textArray[i], true); money.screenCenter(X); money.y += (i * 60) + 200 + offset; - if(credGroup != null && textGroup != null) { + if (credGroup != null && textGroup != null) + { credGroup.add(money); textGroup.add(money); } @@ -611,7 +534,8 @@ class TitleState extends MusicBeatState function addMoreText(text:String, ?offset:Float = 0) { - if(textGroup != null && credGroup != null) { + if (textGroup != null && credGroup != null) + { var coolText:game.objects.Alphabet = new game.objects.Alphabet(0, 0, text, true); coolText.screenCenter(X); coolText.y += (textGroup.length * 60) + 200 + offset; @@ -629,16 +553,19 @@ class TitleState extends MusicBeatState } } - private var sickBeats:Int = 0; //Basically curBeat but won't be skipped if you hold the tab or resize the screen + private var sickBeats:Int = 0; // Basically curBeat but won't be skipped if you hold the tab or resize the screen + public static var closedState:Bool = false; + override function beatHit() { super.beatHit(); - if(logoBl != null) + if (logoBl != null) logoBl.animation.play('bump', true); - if(gfDance != null) { + if (gfDance != null) + { danceLeft = !danceLeft; if (danceLeft) gfDance.animation.play('danceRight'); @@ -646,19 +573,19 @@ class TitleState extends MusicBeatState gfDance.animation.play('danceLeft'); } - if(!closedState) { + if (!closedState) + { sickBeats++; switch (sickBeats) { case 1: - //FlxG.sound.music.stop(); + // FlxG.sound.music.stop(); FlxG.sound.playMusic(backend.utils.Paths.music('freakyMenu'), 0); FlxG.sound.music.fadeIn(4, 0, 0.7); case 2: createCoolText(['ninjamuffin99', 'phantomArcade', 'kawaisprite', 'evilsk8er']); // credTextShit.visible = true; case 4: - addMoreText('present'); // credTextShit.text += '\npresent...'; // credTextShit.addText(); @@ -708,18 +635,20 @@ class TitleState extends MusicBeatState var skippedIntro:Bool = false; var increaseVolume:Bool = false; + function skipIntro():Void - { + { if (!skippedIntro) { - if (playJingle) //Ignore deez + if (playJingle) // Ignore deez { var easteregg:String = FlxG.save.data.psychDevsEasterEgg; - if (easteregg == null) easteregg = ''; + if (easteregg == null) + easteregg = ''; easteregg = easteregg.toUpperCase(); var sound:FlxSound = null; - switch(easteregg) + switch (easteregg) { case 'RIVER': sound = FlxG.sound.play(backend.utils.Paths.sound('JingleRiver')); @@ -730,7 +659,7 @@ class TitleState extends MusicBeatState case 'BBPANZU': sound = FlxG.sound.play(backend.utils.Paths.sound('JingleBB')); - default: //Go back to normal ugly ass boring GF + default: // Go back to normal ugly ass boring GF remove(ngSpr); remove(credGroup); FlxG.camera.flash(FlxColor.WHITE, 2); @@ -743,7 +672,7 @@ class TitleState extends MusicBeatState } transitioning = true; - if(easteregg == 'SHADOW') + if (easteregg == 'SHADOW') { new FlxTimer().start(3.2, function(tmr:FlxTimer) { @@ -758,7 +687,8 @@ class TitleState extends MusicBeatState remove(ngSpr); remove(credGroup); FlxG.camera.flash(FlxColor.WHITE, 3); - sound.onComplete = function() { + sound.onComplete = function() + { FlxG.sound.playMusic(backend.utils.Paths.music('freakyMenu'), 0); FlxG.sound.music.fadeIn(4, 0, 0.7); transitioning = false; @@ -766,25 +696,16 @@ class TitleState extends MusicBeatState } playJingle = false; } - else //Default! Edit this one!! + else // Default! Edit this one!! { remove(ngSpr); remove(credGroup); FlxG.camera.flash(FlxColor.WHITE, 4); var easteregg:String = FlxG.save.data.psychDevsEasterEgg; - if (easteregg == null) easteregg = ''; + if (easteregg == null) + easteregg = ''; easteregg = easteregg.toUpperCase(); - #if TITLE_SCREEN_EASTER_EGG - if(easteregg == 'SHADOW') - { - FlxG.sound.music.fadeOut(); - if(game.states.FreeplayState.vocals != null) - { - game.states.FreeplayState.vocals.fadeOut(); - } - } - #end } skippedIntro = true; } diff --git a/source/game/states/substates/GameplayChangersSubstate.hx b/source/game/states/substates/GameplayChangersSubstate.hx index 6ef5d9b1..e548571c 100644 --- a/source/game/states/substates/GameplayChangersSubstate.hx +++ b/source/game/states/substates/GameplayChangersSubstate.hx @@ -26,6 +26,8 @@ import flixel.input.keyboard.FlxKey; import flixel.graphics.FlxGraphic; import backend.utils.Controls; import backend.system.MusicBeatSubstate; +import game.options.objects.CheckboxThingie; +import game.objects.Alphabet; using StringTools; @@ -35,8 +37,8 @@ class GameplayChangersSubstate extends MusicBeatSubstate private var curSelected:Int = 0; private var optionsArray:Array = []; - private var grpOptions:FlxTypedGroup; - private var checkboxGroup:FlxTypedGroup; + private var grpOptions:FlxTypedGroup; + private var checkboxGroup:FlxTypedGroup; private var grpTexts:FlxTypedGroup; function getOptions() @@ -118,20 +120,20 @@ class GameplayChangersSubstate extends MusicBeatSubstate add(bg); // avoids lagspikes while scrolling through menus! - grpOptions = new FlxTypedGroup(); + grpOptions = new FlxTypedGroup(); add(grpOptions); grpTexts = new FlxTypedGroup(); add(grpTexts); - checkboxGroup = new FlxTypedGroup(); + checkboxGroup = new FlxTypedGroup(); add(checkboxGroup); getOptions(); for (i in 0...optionsArray.length) { - var optionText:game.objects.Alphabet = new game.objects.Alphabet(200, 360, optionsArray[i].name, true); + var optionText:Alphabet = new Alphabet(200, 360, optionsArray[i].name, true); optionText.isMenuItem = true; optionText.scaleX = 0.8; optionText.scaleY = 0.8; @@ -142,7 +144,7 @@ class GameplayChangersSubstate extends MusicBeatSubstate optionText.x += 110; optionText.startPosition.x += 110; optionText.snapToPosition(); - var checkbox:game.options.CheckboxThingie = new game.options.CheckboxThingie(optionText.x - 105, optionText.y, optionsArray[i].getValue() == true); + var checkbox:CheckboxThingie = new CheckboxThingie(optionText.x - 105, optionText.y, optionsArray[i].getValue() == true); checkbox.sprTracker = optionText; checkbox.offsetX -= 32; checkbox.offsetY = -120; @@ -384,7 +386,7 @@ class GameplayChangersSubstate extends MusicBeatSubstate class GameplayOption { - private var child:game.objects.Alphabet; + private var child:Alphabet; public var text(get, set):String; public var onChange:Void->Void = null; //Pressed enter (on Bool type options) or pressed/held left/right (on other types) @@ -473,7 +475,7 @@ class GameplayOption backend.utils.ClientPrefs.data.gameplaySettings.set(variable, value); } - public function setChild(child:game.objects.Alphabet) + public function setChild(child:Alphabet) { this.child = child; }