From d04128a8ef2a43d19018be033612d16010470fd2 Mon Sep 17 00:00:00 2001 From: Alfred Burgess <alfred.burgess95@gmail.com> Date: Tue, 12 Dec 2023 18:59:16 +0800 Subject: [PATCH] Work towards SDL --- assets/animated.png | Bin 0 -> 839 bytes assets/texture_test.png | Bin 1136 -> 839 bytes assets/water_animated.png | Bin 0 -> 11697 bytes include/colour.h | 8 ++++- include/components/cTexture.h | 9 +++++- include/window.h | 8 ++++- src/colour.cpp | 21 +++++++++++-- src/components/cTexture.cpp | 7 +++++ src/window.cpp | 56 ++++++++++++++++++++++++++++++++-- 9 files changed, 101 insertions(+), 8 deletions(-) create mode 100644 assets/animated.png create mode 100644 assets/water_animated.png diff --git a/assets/animated.png b/assets/animated.png new file mode 100644 index 0000000000000000000000000000000000000000..52206b2bc829ef4384f926d6b508ad7750be6b86 GIT binary patch literal 839 zcmeAS@N?(olHy`uVBq!ia0vp^CqS5k4M?tyST_$yF%}28J29*~C-V}>VM%xNb!1@J z*w6hZkrl}2EbxddW?<ku1j3A>8eR<y3`}=CT^vIy;@)1<?G6oOXuDWECvWB}b{?~h zD+7ClT@EH~xv6tV<zSlBh8sC<-77kLuBupFRcn%WJj{~Y_OR;VJd+of&!_6%c=PvP z1N*m%f=6ePBA932x94q--{+UT&&+SW)V8>oxz}oH_x;PN`1|_qmS?YTlraBS5a3{H z900;V?|jl%mOiQPd3R#E9k$K4mF4q$=L2-;{<nPB<?hV7R<n1{_Y{loHQ7<0pLVl4 zDhRMJ(VaN<G;+<n1A&hpeXn9Ml8c{K_oFcCvuWNOS-t%C{@MHPy_qXt_verC+Ml0} zHVr@+0<C=fNhi$z!HSQ6Z*yl0o;d0)-*$9y=9wE6=@ReW+046EV|!<>ZOqR7_5<g{ eAL|o;a5K#^ay?(%cORJe89ZJ6T-G@yGywo{SLKud literal 0 HcmV?d00001 diff --git a/assets/texture_test.png b/assets/texture_test.png index 597523658634a02502ad20caef19789358a0b5c2..52206b2bc829ef4384f926d6b508ad7750be6b86 100644 GIT binary patch literal 839 zcmeAS@N?(olHy`uVBq!ia0vp^CqS5k4M?tyST_$yF%}28J29*~C-V}>VM%xNb!1@J z*w6hZkrl}2EbxddW?<ku1j3A>8eR<y3`}=CT^vIy;@)1<?G6oOXuDWECvWB}b{?~h zD+7ClT@EH~xv6tV<zSlBh8sC<-77kLuBupFRcn%WJj{~Y_OR;VJd+of&!_6%c=PvP z1N*m%f=6ePBA932x94q--{+UT&&+SW)V8>oxz}oH_x;PN`1|_qmS?YTlraBS5a3{H z900;V?|jl%mOiQPd3R#E9k$K4mF4q$=L2-;{<nPB<?hV7R<n1{_Y{loHQ7<0pLVl4 zDhRMJ(VaN<G;+<n1A&hpeXn9Ml8c{K_oFcCvuWNOS-t%C{@MHPy_qXt_verC+Ml0} zHVr@+0<C=fNhi$z!HSQ6Z*yl0o;d0)-*$9y=9wE6=@ReW+046EV|!<>ZOqR7_5<g{ eAL|o;a5K#^ay?(%cORJe89ZJ6T-G@yGywo{SLKud literal 1136 zcmeAS@N?(olHy`uVBq!ia0vp^CqS5k2}mkgS)K$^jKx9jP7LeL$-D$|SkfJR9T^xl z_H+M9WCij$3p^r=85sBugD~Uq{1qucHLRX4jv*CsZ!amXn~*NzdeL0KV2M~KTW5w= z)`YpvlhX@(7>;X1T@DF1eG<tQ5F*G?z`<0Xd)4ld>ih`vYzFn6zn?vBmgg%eF8=&= z{`ciO!)$;3J$^Z6^}ioqzGt?W3WTYzY209y$lG$2Gh1PeUj%bv=^-hO)xy^tBIa&j zJM?M@Dk)!E^iJ;G`T6lOFQmSGeE2qVU8w!uUr$Z0uR6Zp)~a`i`U-bE-Q9X>XZ4Q! z`Tk$-Z&?4{uXt_MuRrgAzOA>fu{`_VzKUb$M=6Tu-(A=+XZQ5#-`6KI#~$9d*X~^D w{(Ji@&u)En^Yre^9K$6Q!@L~2ch7G=DSglGuyZO=z*2(2)78&qol`;+0GS`pMF0Q* diff --git a/assets/water_animated.png b/assets/water_animated.png new file mode 100644 index 0000000000000000000000000000000000000000..26d2c1cca00109f32fc3874081af9dbffc8a5b7c GIT binary patch literal 11697 zcmV;iEl$#jP)<h;3K|Lk000e1NJLTq00EEy003kN0ssI2C#mru00001b5ch_0Itp) z=>Px#1ZP1_K>z@;j|==^1poj532;bRa{vGi!vFvd!vV){sAK>DEk;R1K~#8N?VSm5 z71x>XnY?5s<;u&XGJYw~JZCblJkR(|YR1V+xsp^Slb8&_V~|0{HrN^v7=nRevkU|a z<Ot&k+Zc!dv6{sOvm1l~%V29k`-b)%v`c6~5{tlCfbI9coc7`9>+Rg`zW4SO_tdW_ zac|$#-KYEf&-b0>JHvkcSYe0|AwmQNA;Ag}B1F&-608s*LIe%NhP~VAH@>~I^`GCa z`Q4_Xr#9w+f7?>_$d-!xw>NxuXA3#fTgYA6f#e);$mMB5e&Skw{$X!w=Kxq!buG5^ z>e$qazd70Woqb*8uwa2a1z$kU7>tlRB9Md4q5pT3zj~+r=Ud93U!O65ZHg&#)~4b} zC>qH`4|3;DLCz9D$b}g|e&||?dvAWJlkgRUY-8=G5V9G$mmy?OH}Z3rKnmY+$mxO_ za%%)~uoU$F4#A{q=DO2Fl}v$bk*w5^+ja_amcT-;%^31q*8(w8^vRo)bKwSr?4hGQ zBsaf7O4}EZGY%QZZ4$`AQjjcc5<V?^)*ER=gE;fnq)d&;cxG1CsE9m(Kc1VPH7z!M zX55{hOk9vj@(eMQnE3mOd5daSt!v(~`+Ra*Z*l3B-o6`(GMS~y>Z>bOHI8_qh~ydK z?!hs^8a}!pA}WjP4hQ-L6(a|S2ti;%wroWMgzUZj9S|}wFz~seRYK~&dMhLQA`Zjx zqsA4Jd_oLu91yIqi8-29RY<BrIKs^N)k&v%G{p<4qjLb?;u!L)5JM6N1Z(!nR8gnk z^gTL?9up#jO<+vHk!)_ct_YPXLAf?>ZyO(3Mt<lZc(GY;##1x0#?Q%`xFB;{Y&yUn z_>deN!WTFoSo7B0)h5-n|IRyhJS)TdgkNphmc1-4ck&DQBgYhwZ0)0G`4Vspt96`7 zi!xCgQ72jDB-sX>sk5q9tZF=XqzgWyqE&-aUcqI_uC5W``CNT)<1)o12`km-=4Y`U z+mTP@lT(MVh693yM}jAG*LId$Q!8~sKJV^UBn-@$n+G8q7h(NHcd+__7ygt6+Zh#m z?3A3xC%8z(n8VnA^_C)6UnP73gNrpMV8iC@1<|=E&&Qt5kBG{`?T{Pv12f}1Du%P8 z7@vsDfshR!?R-NuG<f{E;-_a<OkYtmJO1qQ6RoRrIyTpK1IIeu?^>2F%TXl9mub&F zMaxhFB~^?yB)$XH4|VT9d|(?|0QMBDD%e(vTz!>l>spi&{3?Btnz8qT^!WGEmTsnZ zWD1-KW`x3Yg6P1XU`8m)!A|o4^@LSBZhE#gLu^EN5o$HB(wgAg=)Fx-m)C?vmXe>l z0r3{rm2`?%P6!EBz?cwOFn>|*o2zqSSSgjsn}lDjj?Y;flLJHSx1(w1)<A_p^@9zC z+Q?>{0PgZ@f^Xd;TVQ--84RnA&H+WSzWlPIqa!abPbsy*>Eo1)od+_Otn|3RxN#U? zBsa^jlGL2I;}v?Y<?ygGFhFL$RR<X|uHkCp3p=8=G>m*Y@B^%qU#T|MSv4WSatqKe zNDmAs<`Tk%fh57OQtFmj61^Uhvm>CYgiZ7a+2ofqroT$(1G`POU~q}n*3Da=XO}eW zKc1eFrW6-RAAgdG(vEvG7xuDEPuu{eVz8uGF+z#RfR!W*H)p=_aSf@-mVso%Cbq!9 znG{|1<O@C=vJjc@Vuh(m2u~2giVK4@kDaPq*w7TL;iC)iPUu<b_&n%_bx?(7%=Kv5 z_MO?Ly=F-tW#TaAKaLvbD-n4jGKcg8LAGEBki!B6G%LTPS5d6nY5$2PJajY+FiYWI zL!^}Q(n&`WJ-v!+6LL_J%#sD<ERFyngNjXAk}+qstbRqUPbJkG)(Xj11QmYzikg^1 z%`)cL%JlYy+Z!MgBohZwtCi_3FouF)Ne+jZ5=24<9}txXwFq9JsYeO@Lamz}<rDED zvIWgT-6O|1%TFhi{b*X{4;I$l8`t#BjqPm32LAY`Sykjnuw>b}v-Q`QU=0j>PKFL4 zUU11x8vu1WaL7}nzO!c;Bf^WOyi&GkNA;_T<*ywtkKUdChiyu~WX!(8xKnMAm8r{X zyfup=7FNEV(nj>c7cdQC)&tB*aS8#PS#}IuTDZ6Tb5n+bU^${znjq(3nW!OYI2=jL z-28UVpVxbigwmnPk$g0HII^4pQGil_zh8XzJ8v~}?p@n-|MrIacPRYtw;S%++IDCC zmqUDgTL<|><ZC-R$YnDiQpsr^Q!D9I5BZ7%-9ZBYe-K_FiUqcnQeIvrXy5!rQblS& zSY#=zAvi?5=8H&LBJ$vLaM0j+K|3IV<aBm;Bc*oX)<J;}$f+&hUcnN(74eXOUQeOs zaF~JCuz_t!nS;q7{+17u!?f{{gJ2)toxgjJZpC}+)S3JCw30d>)cjpcJt+r~@Mpaq z9b+m6%M>ml6EcvRsuZAJ!T}^786JPG7&5eYS0mnYQtcUV<?yXf-82sTN7Oa-m29Z! zSd-hhI;;M*6BW$j6Cv8920kx2kp)~NSYk14sOS<)N)sFjdzfTm2TdU(^UH|)0B_5F zi%KwfcMWctIf<|lHf+}D<VsIZSN{4c1+Q9t|NX8XAM1K7spH9AEsw|4l5+45&@vdO zC~CDmi<XQWYz!W#`ayG6rnjR~zycz_@(&}z^U>;0T9j#X+M0u&%CLVpe8Dm#FKfVP zf*ED-%#3-nqB|^^UYPHgom8#7m_j1QkQ+2cuQf9Ow;Z0@{os-A|2)==>sk3p>4CI- z<x*5B^LA4HBcvCORS+T21FjZ#{on~Qm+=3-P{o|YN1iDmcl79}!fCPD>`h&kSVAt| zabSAb>>(zP&!0f8$n5~M)-i{g@fDgba;ch-JUI{VYYp38HhqIsG&&zK`Q<wc^~mL! z!f#N-Ry-_{m$y9mLK*A`^0Y)27j;KubpQKDoe#X<`Qu}qON;0MjP=#s<idQ-gZrE3 zo~SsOnv0qrce0p&PHs>W;_8xn(d51I#*}Q&xp+#~(jYNuiWE!9>6vexDvCH-^`rew z{K`4xY9)c}Ml7tH9e)-zP4A}gIq!TSCza&;?|1(8RHxohSA1ayUZ+XXRU^Ws;?I!G zeGNG~gO?RVDmJkNZ-uu#=*ao&?{?h3z2T896_0N^BN;5y8gtgBKD99~d}G1Sx0L^6 zYb8$V)yy@qG(^Z@#somHP-F4ps>dl-R(Ry;ACE`{%>Bmh&dFJd+lXJ0Z~YIsM-DNd zWL#b7@7(<E$3E$TOtZ|HGMc883_ppKC{M=YO%M@N^M_oFDePCqmMN}kUcx!e%1?50 z3UU@nP=>f#6r)!oWegT0Gje?<kri)=eLHo>;nRnc(%0;!lPaK4|CNyQ<c7Sz-QGy< zmq9Mc0P;fyIfg(ER+yZ1*)rq=rr-s_>#J@aS61{y74(tJWtg7T_j1;Gur#x6ZDt+g zKt>TKA**(E##tONFS85Bud2Lu;WH&l3I52vaO0i&>n|7ei+OsBX?LkHtV++#zeKVX z!7V7lGdR7Uab{~~)$5rJi?TYBGBqZ1pUTX|0l0mVp$K_Kda%V4lEdLLI>jN^V+#4X zv2wA#YRD@)m}KP${7M+(Bg^J3s$I9KWykLG#iduoIrlabvO0Ra8=2#z(@wU}OE3xN zJ8xsgti9zpQoLHuOIcl;vTDd{LyiG6-mgVg<U<CzaRbN?0XaYu@)L$XI^FfwI>Fq) z%cNf1G$FEpO_JQQ&3uxiSLyn7-QXm832zAr7pHeS@>rfh!%>fxic1=kKFYK?hzSYy z>INZXFcVNLkOn9S$<05o*#I&F^SHI;CtC6D;ez2pLRhV>Qz6>KCw%!i^<KWd^JvY) z1)kN2#_Q7OFEW~RhU!L+cOkwNELOMGCKX!Xd28#Yzo^W9gf_7WkOvN#bj{dIjg5`U zL$;c(+_=?#?S@EM-=~E=*G{%yKGu41SACEAPUUS4m!R1bEaC=vG5~KKWC(hM!Y5a5 z4DL(wVU2jA2*R{*X&sM-8YpejO9KO+lWQi79OIcHt5k!*$$s<ZPkbm?XzsXF?JGG; zx{V!4C~G!5X2WJBD$9asPk1Sg!BoJaqN4ix`ktPin>Tg0a<P`0TdoIn3|~Fl3ZL^{ z^I!ostha-(9JD}P*Jb0)^8}L|igxfw7kdGwYR$j52C_o7nm#66MRG8Q%^Xx-dLadu zPH}u9Sa?gs&W;1cbxI-0CD>W8PN6<<4B;M<%pGUUc#pKfTE-dICU^`zJWF;ZALbVy zYU)evxB@c@#+34Qc$w5rr6ihbP=MYt6sLgcgr{b$Cpaizv6djdxKkKna1S+Yv7XON zS~6yC<K4(<?cbW*8M{TJe<R=!wc5Tj+o{+d0byA5-X=Ubr(#VYAG`tLQ%B>L^l`RQ zT0%-q^#n)(uz;Wx&<m)BALL0MzT63Du6VMx0Ss$_lTP*ESL-&lAO`@aLzJg)tu>j| zskaQpDV%yAf(z1r4<%xcY~b@RAWV(@pTYOf?(T=>g=UPu8w6+{6cDZ@?;wMVN>1cY zc;_aR%kfFh{%063XxK!0Bf&DThb?wj;cwJ=d<8v1dBJE3YH62;#PDTXgzh-^=^sn_ z=NI(<=2Rcy$H%?iG4y-O8^}pR_zu`j&>g(Ys2~udmFeyLC6@>F3%>=Te;SNlc3`<9 zSel?fVO&i8Do~;P02zKIw$i=}a^fmPE9pCLH4~Mw39PE`zTW&mRP9e9T-VQimxI<? zK6ndZLq!+KEd*e0J4zLT!-O6xgwKbe(GdHa?1T14J<c-p_}RGPha<~>IIjls1Z^^P z;;iwPTiT(0nj$rGesx~KWf*bX!DK91c8<B3fc(U7cw&~$c1vI^KLhdNH4PGmnr1v$ z3FndI;4FN(zMK6)(Gt=VeWvV6r#q}6n5Hm`EHn{}U>v`f=U1c7K%O8R@Ws5<CbkNX zbetRTgMD37GcUu1+@01(E<=R*o06&j>Ma}(EhCxu2&mP3Ct`_&un+Haw-!diDde3q zJ)r)`$7GaHZR_48Ubm=F_pFx<?F21@Fu~@6V+i+<W%V!5mzzozTUU%De;Fp*LA!2K zi=sx-39>~p3E?a(mLzabz-VzsG5N{@7FNPq1DV4(jk-%hB-;TxC8JPq)}S(f7gG;; zg3xezQln{+eS1v{e*55@YC9cLY^F7X&9`PSKT$nl2QDPZ;V#Fk$Y?msG$5^UR`@m` z@gSLIc^mfzkjU#YD`71oX$cKk!D8{D*q#nN`Wi=^oI>1tNC^=ahK$5$+P$NbJ<GYj zvAgr3L!Cce)9BAG^My<6$X3Z2*%y7fH?sS&A5eSt%2YkwG2L2?#DjD>&e~9tl4MM9 z2o_$lX|d@B!NSGmhw?kk@FcqTaLwcu3cy(9p$klV0MSPI*`XfsMA7E$ZQ?$o0|TGG zx4$D$Q}8t#63Ix-j$lo#{<J;ya8mk?!>9kSLHUGaE27?>gG1s$`UjLY3fV%ZyEqk* zV}B*A9fCu!_)CUAxNMCaQ-GJ=k>!WpTFVeAc-PiOR|7JP9sX?T(c|5UV%<)?eK(e^ z@cCpeF%GIhL*mc=V9^MItt7ea2r9gCt%H-xN8cE1<pv6QC`=qB|92-5QFmUlg$XGe z_oRP#(nP1&PIGLD58I>3<}~`ppDUgeU4^#A*iP27dwFAJZ5W#et2MSXjhQ;Dii|Dd zzY~A&@WAe<ah{0sYZG$hw{mcQoB+H<%C)LeU`O9%z!jQa>Mz5J9=;ty7B0mPZU>cR zquc&m6DEVL5Xmx-^I7B3QH7|hP%BvGntNgHPR;*wa!J(5>T$;#e*Hn4Q|J9Zi5GtN zarcbe3vX5oQYDdBOS@kxyf87d8%O@^Lwfsmc<4~azwfGha$7Npa%;ICgk?J?|4R3D zB`6q68)`rO*JC~Wyz)Gp*zupono;H``K6~Sx1^jg2-eIJ>Ws4uiMNnj(1ZL6%$S>} zY0ev%=Oj<3AZO8oYtY0ui`RZ!IOT)N-yClE&b}^i&z|mY?&)Iu#aDVHgUp&RIQV$P zc)0Ap<l=2&E8?gO{5I?Z+1mZlpk;|ClQUj>FGCE6NPc1scziI3mh0@Z1iT84>Mj3k zN7Ju2ml{NpocywtCS5!QUfC7pR~5OsojN}Kd_wvq@fgO>4%SP?JJn0@1W~2&693m! ze+LF2_aXzy!7?OU$GI=IfmuKV$+>=(G2WVJ<d_09MeMmVYmWTf0qFmoM!X;UumRc= zNttiFJt*9wBhy}<yd4l#Z(g!Ga<Q{8ozjcR4XbKuOvW>_vWz3NX+loKdFW_Q>fosl z_%A*bkFlUuNvE?}IA%X9lz7<$w9J#UJacgy`|k`sSW6w911nZFl2eP2Q#*>$wv0A` z(lN<n`;0sgRm-fipGgnS;BkwC@8VtuPD20hG~})vBz#)7xV1N`wB#fgaa_-I;C5L_ z*E6S`H>Upi?Hbel0_Lnu4c}Pc*<4_-NX=VRTU>gDMavaG*Myu`4Gb%oS4wrfofa4M z^KYR$$_uEKj;7_n*NFY7<oRP&PbXIY<Ur$t`#mct$u;-_eua8CC{iRDM9U-B;56R7 zgxu@`_b>5G7-am@EYFTd{}xsJXtXCr2)P9du;DM>Q-&0sRQi{@d?T;q+`$E`D%c%j zC66y?A&Mg+x$tOLZO`F?p3IU<WmWyF)_E2LID+I1Ak(2MvE#hA@5aF+UEb~zO0MMP z&FP;MHYqvYP9Nnp;(#ejGRDuz!j%jk?drAb3zybuhPCriGKiMvQ=m1du}-alcWU_* zoPBX~M#z>=$0CP~k1T_Un{=uN)j&;N!DTjinn!MOd{D^(WCHG*+{VQ_m5uOX_7(Ea zO*zth@nrku!k%l5{hwXAq1_If2A`G3SgquT*f(!)Q!ehSgo{j0>&0`FR4&aciQARi z)NxtK@yjodWz~}dz^gm6_k3KHSJiR0?c#xyTI3UusoMlowL<yeO-8xRoImtemHCYc zkp*iL?yUPkI+B<*F2c9{0K=3=YCGYj@pW9_UyLn=gAM!k*^|_dgJH!h)oUjz$hVwb z^*x^Op&i#QT#*eQ3LzkuVHq+FTHIsOTMVM*o~^(3-u@2bnyEJ-dqF~4byF|P=jN@? z@n8PcrlTdjmj_Ln#{u}<4O6$(3XT*KDM`HQVF1vnH&@fmEcE81p*@=xo9<w%=9plS zgt~-MK+VA$W797CWmwUDuhjpK?SoumQHEHci0QB8@Y)4OM$7@PEUGtIq+*bQ=v`m3 z?3~_)2>n-Y8GDPwP-VPbcj4TX&+zlA3s>JrseScmS@iCF6lq&`Kg*V<qS`Ke9+0Wq z!3dA7j(<_%-4h`W^;CJHw|f}iOOXROOPA#konncET~@EqM5`vY&3GrF2>?|LCJwZc z`Ev&Fwt1Ld<z(@H0bf<ieradF5J(1ckW?{)AP0Z(jz+gGN<{3>dVW#fvK0+*bq&H6 z<9e9Siz6M}EWrQZ*`ZW59}S+bo@^P!X;N?hlY8DHST}Bb5i(n>L8^LcY6j{*IVK?B zX|h*^C)5aX3>-c6LIu8!McBlgm;Ri&{{14(M|q8$vib|v^_Q4>;B8dSVKq6{>5dAI zYL9B;?PY21G4s<2WnbT>JIbIp83dXYn^1Htt6uDj5mOMEPS$`htyt9vH&$Fch=dzQ zJ4RXv&Bgb6GxaUQ>^Q(8M&7ls898F|b^o+H>K+EJS<C?}C@3l`E32!kYi@3CY-(?9 zy<A=E<Q}o|$tR<P5Z$966zx4wwR3kXlQ2nl?Bc)|FJ)c2Z?DGi?O(5IRu91%bmfQ% zwHKxq1d;rFXrt*ZR#snyqK$aM6LpKN7P7WfNS^7*9e=aG6FhRFD<ZvX@##T9x9>t` z%+2F70PqL-Hh|1sSX*6l=Y_e_KhW3bMUY7O)brU*zNrV_)6-yI4-uaT7Fj6@W0)<+ zXKp4898DG5SbOa|`?`rveg9zhs4Z<`SUYA!K!8kjs;lo>T5-$LKiyqAMbMNjrr`cD zGymt#^W>SjnSVHZVaGXTvmDKYw+^o#xkppRjQ8v#w>ClP14>U%&&kPw&2l)g8nz6p z4#2@VG{%gNEMxn^!nr{krrev2#IBzK8v;2qP*$k&vGI*tlRNh}_7e5s#0y&u!6fJ5 z`qcPDurybS>Ur$2l5khQKQQRMx$j{2jNB`19yZ(=b{Go6)KbI2cm}K2H~-<!o~~jr zHOBg2oS)(SvMk|m)<-}NvjDUS3Z-_{QT@<<_%uS+15vf&lXXAee6LF>9l3-u)Er{_ z?P!lNg(t|KX+c2&T&m8_&Z}2-1%kcmz5tg8HAD@9pr~I1)6~;DP*UE{l!$2%>LWRY zn&Dw*Ccjdxxyg{_7&XIqFSR7I<ifwISBk>=6^9ZCynp>$ThBk0(85ZV71n3^<=fkL zLvJ|tv8NTm0yE>%EUakpKcZTxlYRXfHLe(Mt)}Sb6<o%P$XrEV0C)a}^J?ymYx>6E z(OwsVmQpDczbCY{VxifIN6h*nQ8grcV~{Rgx^n5#rS|sr=H_Pnd+pkwA0i(~ll<}L zJR3wT-qom{rwyI5*+c5JU~!;aGI35IQX4jV)<eP`CSQrLS-g0me>G~*ex+)^5AB0w z$N9tsgVql}Gt2G!xTyPOHB-_@%FfsjuaTBkP@?Ecv|3uYiWdAG%fRx->l?MDL35q? z_Nw-MC1;NpmR-I=XH*!Z>({TN)*-dFwt9Mq8yn$yA;G{=iq9;eRUp@CFn7dqLgAN` zT`8{YKc3xtyr}O$WiRQ(u^*2ZIq122c+jQgS2DBPOG?g`l$0oU{#8QL$VLOyH;#HI zmJ9(Flb*0bzZ?npXI-!uk}4oG>*N<>HKv=QfLKWx7*ht2^@e1Amdnwcp{Gtbz(T~% ztvfvh3weV2vl8Zs9O+L;Uk^*r9p%adJ!)%jKi761<X6>Y)-@$pHy$pk-dlQZcSRG} zQK=hgg9BFuUWuK3p4ipy-Cx$wa2^+?T%u0m4Q<pbo();8?Zzs@%F}1#k}B~B?hYOt zJ3DkIIjtA}MGcxTxdg49xSob5E>$9UNyI^CWI_%AnsfR<d|}7z__GdfB<^(|7771K zri8f=c(2o9)A<Dlmu86==$FmGrty(ws7TD1O*+*>zV$UQ5@$!{5s^}-cXwx@n#n|f zVDVt(eJE5aJ>`NV!HiuTlY>*^0*tSar|mnl(S+c)B)3V?Rk4XiYhBe?=<6|9B#29j zdy`5PULIU9tb2p94S%+jchMlJ?JTjhVcFp};mP_UhO)&@cZk&Fmp!vICoKwsiOytB zDO^RDY{6uWaS{2b;Vd9J-Zmt>aO4>GgS&tb;L2~;8tueHig(-b0b*1hZwJ)EB1>Tf zptX<Q+XNNhwM&F4*Q}UQGz{K`-i8Wn*qn{$qIS}mfFg5pI^ehX=(sR-QES>$dW?9Y zh#TXu7D;y}52%ac9UeBQSI1dwjS`C0UawihCpNp;9D!&S3`0jkXoc_=*2o)}Dnz7! z<^VD33_rkI$Y`wPWNe!lY#j;%1lATg-WRaIFD$0Jn7ooI4nzumB?{mFW;n;XV96Wa z0oisz4K!=Yl0mU(AX}0F5^OReJRfIyYDN|uQuwEK;<7U|D+B(k=i0ad%|@Q3BZ;2n zb<h!ZBou1NvU59b&k|CPy0BztQM$ZZC1>RxIhDU|o2S}CL*bQ^tTbU&Lp?@@2LwyR z!44f`aKY-1Dm(%_2y&!XXfE^e8(s^Rw;cokwTNUAKn%8E0+N$9WME4`_0DBE$N`fo z)4*PMKyWn3Zvz5cKZudKk!L=X*w+Iu&v-D7_gmYX@@hO9o06IH!I|>i6-{D!!l9Fy zpszVhX3$6GQ(&tqw{&}C8HTO8TP^625-hX{rW?it>Zw@6ShoBCY&~*GroglIs+|C6 zT724}U;vyEh>>Pbkl4t}#NM+uKx_x&RvEAQ;$4kIxip8#@JRssLzpgG^ZuNIdEdaP zDbTut#b<x%jlTw$LTTdFPUUvMDc}a;Tr7Ym&P%Su6j)WH{MD5~vzp=Y`MN`wFk@~W zn|Vi)W+ShuR<N_!dU!a7;*4r`gUe5}`b`Cll?zwGyQ0KnhCtPD3RCYJ2fzR~p7sP! z94{5T@-5r4sbCrO6f%bP!*I~@l8+#2%DjYg;v-N?6#-UN%%NuSCq8{-tY_EY)r5ZG zg(JUW@OgGDC8zbOXWMJ4206ypz@CD;r@6T|E^Ovob-YFK^)Oj*AvqUXFRA<B?rcJF z&z{b(l&&?EgB}LMkqu+Woj8am|93iv?Yhn2lbS-ZavP{8;uw5vVvBrbfT)q$g~kRo z-`P%I&7NJB;19wpR1fn@0vjJnt=V=$ILN{N1m2%|I@N}XE~o6ipm;M0yh3U6;Qr>h zCn^rw+b@o#VSlr~^A{g>P0pfH<@l~v<PM$XTWed%=@|E{Z@Yg<z2+Qx_cMJ(jkrF; zE45-kn>4GI1=-?V1n`5z?tHOlmnFD<F!Jrh_STzV=_>0U1%itqO#(T_pOAUQ_`}a# zSETAm@~cDVOsBlz0JatlcKR@}xEXO}-H<SnuYJhvISX5gXv{Y^wm�U_GGTB6eCq zV&HU;1LQI8h{5Mf1x$MbIO04N2YYtebwZWM>D=54fkNXWgAiHrEqLUal7}P9e>AO< zZL#&;*FBqV{q=V1A$RZ^-y7G2tcK4ooARQ^8AoN-^v7+kfAAJ^ou-hVOEO5XQ0`8d zwf={_84pC&vW+TWTaf}{-~jSNw}E;KLxw*TxP-<-=|J52$Y2V1#KOwgQ?w^}dqwo# zCX%xq41^LA;GYSW^8Cy5<!q-vQ^<?wPwv~(8l6<CUd25G7>3pouZ52m{sbJfY{Xmq z+Kvtq5W+pEXYt_C=(&M<fecNjfLoI-XWtXt6f7p>2JH*@1WT{b+h@RS;5{c-9&i>e zt+TMEieP=Fd%&6Y-+Axu&SH}fO?ylrQr}zNfCqVBtczx`iikcSgQ%4_|JxwQk+)O8 zMTgNxCN{C5pndEQLQo7qdmE1s?Io-&ynD<ggn=gR|8600O>ytdE!CH2WL$V8(I~Q* z-o6I`gtx5fwbSwhv0#zDx}>l6@F0hYxVHCQR4dfmHHmG<Q|_2fVsH=5<kS>!N6?Ej zVt|i?GU$M7KhG0Gyy26S*6P~so}Nns117U-k?@|N4a3v7Gq-j`cz*b_>`99<y`7dQ z85a*6JfehhRj-|vCx``WnN}cXBq$dwuedjJmoD?@m!07%KY)sQxVleo-)V#7Dv=UV z_nK?sw?G9>!GsuygQSiya!di-1-#GdAy<|P3kz#%YR;Z(J6nGl&s})~bW&yYRY=3K z6%BfkuZNE=7&|4$f;O3AEM9ijPLF(A8Ke$k!2%N^3l_)Zz$=7EDbH3Xu`n!RI(A&v zo%9jh5|LCZz4_m6L(}6M0yY$TSmGU7p49f+(VqEhXi)J69!b=laEqiF5CTts#i~Xz zjJRIv?YqJIj2?SB|Cw1?(_cMJRK{^2TLueqP1jDNNS~fv5wWlmZU;(u`H5C>u}yFb zmWV-oJNe|d*(*>h-r1aYfyS}*|LQphndz6^!~74sFOm1k8&k4#Pp0I=ZyXd4hXILU zttojY)omw9tSQBBWug@V=oeH8W{YOeCM>e?bFyZyyc2g<lX+`A+qFQ^yxRTX(NTr4 z)JRqY=$CrQ2UO|#*ouYQ%9iXYir$_7#>X|JZ1osAg2jQw#F{S_;?B4QQ>V1_OwyJz z@S%fU!s01Hi#dV?JSH~dWKToyvDS-46;&)?JlkQEr;d&;7RQ+-gXqaT;&W%`rRJ8) zwP!DvRVbTfF>4yYm_pM9_%_38_!{!Au7S+lz7r|!b<G!V-tst)W%U<`f`FNE9wR7h zqLcF;%*87{ZBBg2D+g;{+B7K26Np-$%BzDWXx-T$^$-*+NtipiWm`5`S@OY|a#C1? zcqbOP@aEdGB|=ti<B#xZ!54SbZNOTAt3_stxGh1>lGA!&Rq?I7$pu5IifX$Kq}0ak z%H^T}8*0jujB(SmM}+&Z4`l4rvKKd%FM8V(rdgAPTd7)sKOQU+>lfTWwBm3Hr?04i ziGVzL{s9myC^76q7@w10&fxV;4^4a0S=6(i<iQW;C7c@(?yKFg)EGpVupDD61b_+S za-Fi4u3Q_aZ0OzhK`X2<Z)5LS81PjSU(oXE(K4n}G5ZSRk}BEj`r^9OdGR@um*jfo zg!)jhSeQ)!7aG7^oEDo7Ta;a{Wl&cQy7atavQ~sCe4^PsEY4RVpiS`gglw5eI8b)- zD>pDkZXXA~^&aYB+JP;mfq?<$%CXel-OZfAb8Y8qIxZBpb|u%J|D^tWT6NR$jQS%V zoWYIjEfHsl4Q;QE_mtA|*GpetRlRUY&F1ZGa0&Uo(DFMB8l>L78!#aymCL?bF^~_8 zCR867O~hjI7F&YF=WejDzZ_DLd<1H*9VZBel~|?_9my^#y_w>8B&KU<yk+?40%*Oa zPB|F9#wL0p(v7RAI;C1&`vy&f*sV>-L7iXV{f=i0NCT_SA0~IM+*xYj)ne-k)$!vt zRCIAOd|X66u5iO<+7Y3b4jl3b8R7Vel7hm9%9`F!KfB3fNS$uo`XVFyqTUR?fq~Cu zWJ^8HV2XS_vW7*$3Y(Z?+}ay6{ngW`Y;dPdtwCeU!j2OpwjP$dy<u443GsY@Q<HR< zREe7^GTft69Md@^l1Xpv+o*8`u+dluw>MXN%rp`87##Vzx3B><yjqsy?rR$3YBOA~ z7gaK)oxal<gjZrtboshXEnKAV2Rn<w90*C-aupT@OD4)4j)Ao`Wl08e3CB*!K{d0# zWxN<;&yEwsCYQ$?YPLB-hn7<eu!rW99AJvfBx4uq6vud+9)bc{fzUv1pgX9g<mUuE zdrdOIcp({j3#5t{JD!MT*#c@~T+a+gv2e#35{42pZ3Z^(P=@5Zss-xBK*1$j76l6e zgp$IewJ>+XJ=h%S6Tw@EcM)%-d?W+dP*2X!eI%jc+dEsq?>3!b?;inm#^u9*EW(Ua zu>mZomFDb9%iw(`j{u5br_WSvhWpfMk|B6y%ZHurA=LabtmywOEPH5kEfk8ZR{i?B z9i*PPU#ffolRq)B4r!Q9us&de7?^3ykA_`uv)t5EiqJOO8R{WsIK$W7J*H^N)_eOq zEHCu)19w6s%R{nILyq?rlAB8)7ik5<2+rTz(e$_58_9<paxwCdd|U;&R6WSAH2JG{ z+JC;KeCE14>rTi4#{Bqr&zh=hjs17JsPXsnS(m~#7V-=MWXq0Ye&4~amkI}I7Gq^a zcSJ__KOS*DY9=7pphhiQ%`Ml-0#%Y{Aff-4L%bPH$ni3;A4+y%;23cfoJX+JoJxZa z@hv~t4&<8c^Nn}SgHMuckcZ^sHptZ)Lw*ZbbnhwY=U+ThF*jk*5;+JBIam|5PKoLI ztuJuQ54Y7tBxH-30}EY>{G{K1zw?>Xp18h5wt%zBMJ@oq(1U-<;#`xtJ8Iclx5*Pg zm1Xs>TdSVhnD>*dl|1u+LH{p@c&mDlpJ+mU0*uwFqN2iJp@TtUFQ4(LB_a8kplwy* zjWh~o#385l3X+uzAs4I(k0r036STgh{k7xeFKrwoRSUOfypdAN4uB|V*8j&o>C+P_ zF>S2<6bG}*(A!Q4$|d7|if8BePPxe0$4)Jq`Bt5{n+by)2GFkanGmeXz;xwi=A5;u z;#mR%xnjrhcCzfDqH0B)w30QoLOOapFdGE?{o=DI<*)7NxHqop!8z4Da$5*Jh6}++ z_1>J7X?08Y6mZpGh*Cv}AH14MZH7y(HrJbELk{y6<2lJFhpA>ePOH(J6fL5+^HBJ+ zrFjLHQ6|Z0y^l}G6K_^>_upl4^;>sZ57B3g&jrgXwK7E=*np**x4v*^aHzYP399%R z#E}Q2uIdFN1rQ_6WoTgTn$v%LzmgoU2AMP2!h6DA8_Q8KMCG!uiMJjG$^{@^GPC@Q zO@x){?KlOFA-^K98x&`FOj?xr=qP%aCQvJsE&0$Xd@fiPCd+z-<vE`roJF$pF*P;A z)PUj`h!kULOvczLy3;8%>pzz*a<Hq=Q!bfVewx36Jq59Ye@zZn^UN%2LPECOGg|G^ zX$^W044-H&^pnBn?0g1taP0(6HEcQOQ!_jhciE~bJJTSIkx?ro(_k1N_HgZs>x~w8 z&0d-M-25#0r~~Q=oIxR50G=R(hVM8nvx6)*5xi~7@v5ko`r?z3Px&yqgSXs8^RVoz zl`+WQcXA*iqrB=hJq)y#BsZr}&!0-o%7HxXu4rQQM-$DtNP2fS`Q;2ruS63~*$Vg^ zPB-u$V+v5VVo|$xWyM`2Sn3(fz5tcY*Y>j=<#n*bg<;(7qKRoVckxNt6e%^DYu5ul zhci&HzACYK!`~=>a+rI#iv-INj2B}w9JFE{f3A35!Z{)bJfe^(xK6l%xL~-1Xf1K^ zB!A0{klrR5*m2~2gkH!EHz*e@X#11(4M5HYHmoCon|wz|u$)0$%mG`Pd}{&JndrSn z&XguHowAmZ5h)jHlL0d3A-?sqguxxdTcqyl=2Oy^pJ<gCE>xrLQ0L5yOLKqE?1adI zkYKrs;bCX+QmSJrNrI|HGIR>m5cL+#U}!i~GRlQJjZJKUWKW8&^3m30BX4gQGe2H& z&|X}Z3T<MLYxA~c((F(NuI;O0K%rPzp)K2#y*xsK<qCM?sTPH}Q*8mXSqvui;PW6d zrX=yIOAhUdH3>65i|F!`uQ;&2NuGMBJJf;WJ%bLyrtgt$l6eXVR=_}W%0x=<#l=?v z-(-|r+mI9~W4w|u7(V0^YecPAjI8*A7XBeJXFJEpycIminrl1MM~*3&9hJ8>AxCmT z3{uiZnIXaQH>?5}IDK$E&}h44ijX+(_b#8K8x~m#dlQca<)B`d=LmT8@cxkhytR2u zVrIYP#atQVEuCG`p$-FT>9U+X`=mq)b{3pLxP)*F@k9JPBv^jJxS{r{@eJV-EK8Va z$KPX5=Zji1evXk@go9x>8Eokss19}J+{qhIEWwOg9q);HMsj0>1j~7h7jtn!A{D}b zi3<ir5L9axi&n^n6g8O^n~npViUw>mbhTzWlIV$@jhxB33<wF9^BAku&=^(=;RhZa zRX8=qXep%{7*i2WZ|Tf%O07~;GvMVdh|V1|-uqdBj}`uZ%mvZ_UY8^K00000NkvXX Hu0mjfHvpBl literal 0 HcmV?d00001 diff --git a/include/colour.h b/include/colour.h index 8f1f23c..80e875f 100644 --- a/include/colour.h +++ b/include/colour.h @@ -13,8 +13,14 @@ struct RGBA{ class Colour { public: - Colour( uint8_t r, uint8_t g, uint8_t b, uint8_t a ); + Colour(); + Colour( uint8_t r, uint8_t g, uint8_t b, uint8_t a = 255 ); ~Colour(); + + void brighten( uint8_t delta ); + void darken( uint8_t delta ); + + RGBA getRGBA(); private: RGBA _col; diff --git a/include/components/cTexture.h b/include/components/cTexture.h index f86b6c6..0afd96c 100644 --- a/include/components/cTexture.h +++ b/include/components/cTexture.h @@ -6,6 +6,7 @@ #include <string> #include "components/components-generic.h" #include "window.h" +#include "colour.h" #include "maths/vec2.h" @@ -18,10 +19,16 @@ class cTexture : public CComponentGeneric bool loadFromFile( std::string path ); void free(); void render( Vec2 pt ); - void render( Vec2 pt, SDL_Renderer *renderer, SDL_Rect* clip = NULL ); + void render( Vec2 pt, SDL_Renderer *renderer, SDL_Rect *clip = NULL ); int getWidth(){ return this->_width; } int getHeight(){ return this->_height; } + + void setColour( Colour colour ); + void setColour( uint8_t red, uint8_t green, uint8_t blue ); + + void setBlendMode( SDL_BlendMode blending ); + void setAlpha( uint8_t alpha ); private: SDL_Texture* _texture; uint16_t _width; diff --git a/include/window.h b/include/window.h index 75c3b85..bf23aa4 100644 --- a/include/window.h +++ b/include/window.h @@ -56,11 +56,17 @@ class Window Logger& _logger; SDL_Window* _window; SDL_Texture* _activeTexture; + + Colour _screenModulation; cTexture* _background; cTexture* _character; cTexture* _textureSprite; SDL_Rect _sprites[4]; + uint8_t _alpha = 0xff; + cTexture* _water; + const uint8_t _waterFrames = 4; + SDL_Rect _waterTicks[4]; SDL_Renderer* _renderer; SDL_Surface* _screenSurface; @@ -68,7 +74,7 @@ class Window SDL_Rect _drawRect( int x, int y, uint16_t width, uint16_t height ); void _drawLine( int16_t x1, int16_t y1, int16_t x2, int16_t y2 ); - // void _drawLine( Vec2 from, Vec2 to ); + // void _drawLine( Vec2 from, Vec2 to ); void _drawPoint( Vec2 point ); // void _drawPoint( int16_t x, int16_t y ); void _drawHex( Vec2 point, uint16_t radius ); diff --git a/src/colour.cpp b/src/colour.cpp index 75bf78d..7a7f0a7 100644 --- a/src/colour.cpp +++ b/src/colour.cpp @@ -1,7 +1,24 @@ #include "colour.h" -Colour::Colour( uint8_t r, uint8_t g, uint8_t b, uint8_t a ) +Colour::Colour( ) + : _col( {0x00, 0x00, 0x00, 0x00} ) +{} +Colour::Colour( uint8_t r, uint8_t g, uint8_t b, uint8_t a ) : _col( {r,g,b,a} ) {} Colour::~Colour() -{} \ No newline at end of file +{} + +RGBA Colour::getRGBA() { return this->_col; } +void Colour::brighten( uint8_t delta ) +{ + if( this->_col.r < 0xFF ) this->_col.r += delta; + if( this->_col.g < 0xFF ) this->_col.g += delta; + if( this->_col.b < 0xFF ) this->_col.b += delta; +} +void Colour::darken( uint8_t delta ) +{ + if( this->_col.r > 0 ) this->_col.r -= delta; + if( this->_col.g > 0 ) this->_col.g -= delta; + if( this->_col.b > 0 ) this->_col.b -= delta; +} \ No newline at end of file diff --git a/src/components/cTexture.cpp b/src/components/cTexture.cpp index 8034caf..499ae0f 100644 --- a/src/components/cTexture.cpp +++ b/src/components/cTexture.cpp @@ -30,6 +30,7 @@ bool cTexture::loadFromFile( std::string path ) SDL_FreeSurface( surface ); } this->_texture = texture; + this->setBlendMode( SDL_BLENDMODE_BLEND ); return texture != NULL; } @@ -43,6 +44,12 @@ void cTexture::free() } } +void cTexture::setColour( Colour colour ) { this->setColour( colour.getRGBA().r, colour.getRGBA().g, colour.getRGBA().b ); } +void cTexture::setColour( uint8_t red, uint8_t green, uint8_t blue ) { SDL_SetTextureColorMod( this->_texture, red, green, blue ); } + +void cTexture::setBlendMode( SDL_BlendMode blending ) { SDL_SetTextureBlendMode( this->_texture, blending ); } +void cTexture::setAlpha( uint8_t alpha ) { SDL_SetTextureAlphaMod( this->_texture, alpha ); } + void cTexture::render( Vec2 pt, SDL_Renderer *renderer, SDL_Rect* clip ) { if( this->_width && this->_height ) diff --git a/src/window.cpp b/src/window.cpp index 82652ec..b623414 100644 --- a/src/window.cpp +++ b/src/window.cpp @@ -14,7 +14,10 @@ Window::Window() this->_renderSurface = nullptr; this->_background = new cTexture(); this->_character = new cTexture(); + this->_water = new cTexture(); this->_textureSprite = new cTexture(); + + this->_screenModulation = Colour( 0x88, 0x88, 0x88, 0xFF ); } Window::~Window() { @@ -82,6 +85,32 @@ void Window::loadMedia() { this->_background->loadFromFile( "assets/background.png" ); this->_character->loadFromFile( "assets/person.png" ); + if( this->_water->loadFromFile( "assets/water_animated .png" ) ) + { + // Set Frame 1 + this->_waterTicks[ 0 ].x = 0; + this->_waterTicks[ 0 ].y = 0; + this->_waterTicks[ 0 ].w = 100; + this->_waterTicks[ 0 ].h = 100; + + //Set top right sprite + this->_waterTicks[ 1 ].x = 100; + this->_waterTicks[ 1 ].y = 0; + this->_waterTicks[ 1 ].w = 100; + this->_waterTicks[ 1 ].h = 100; + + // Set Frame 3 + this->_waterTicks[ 2 ].x = 200; + this->_waterTicks[ 2 ].y = 0; + this->_waterTicks[ 2 ].w = 100; + this->_waterTicks[ 2 ].h = 100; + + // Set Frame 4 + this->_waterTicks[ 3 ].x = 300; + this->_waterTicks[ 3 ].y = 0; + this->_waterTicks[ 3 ].w = 100; + this->_waterTicks[ 3 ].h = 100; + } if( this->_textureSprite->loadFromFile( "assets/texture_test.png" ) ) { //Set top left sprite @@ -126,11 +155,13 @@ void Window::update() { SDL_RenderClear( this->_renderer ); SDL_Rect bg = this->_createViewport( 0, 0, SCREEN_WIDTH, SCREEN_HEIGHT ); + this->_background->setColour( this->_screenModulation ); this->_background->render( {0,0}, this->_renderer ); this->_character->render( {SCREEN_HEIGHT/3,SCREEN_HEIGHT/3}, this->_renderer ); // this->_textureSprite->render( {0,0}, this->_renderer ); //Render top left sprite + this->_textureSprite->setAlpha( this->_alpha ); this->_textureSprite->render( {0, 0}, this->_renderer, &this->_sprites[ 0 ] ); //Render top right sprite this->_textureSprite->render( {SCREEN_WIDTH - this->_sprites[ 1 ].w, 0}, this->_renderer, &this->_sprites[ 1 ] ); @@ -226,7 +257,7 @@ void Window::spawn() } else { if( Window::renderer == NULL ) { - this->_renderer = SDL_CreateRenderer( this->_window, -1, SDL_RENDERER_ACCELERATED ); + this->_renderer = SDL_CreateRenderer( this->_window, -1, SDL_RENDERER_ACCELERATED | SDL_RENDERER_PRESENTVSYNC ); if( this->_renderer == NULL ) { printf( "Renderer could not be created! SDL Error: %s\n", SDL_GetError() ); @@ -272,8 +303,27 @@ void Window::processInput() if( e.type == SDL_QUIT ) this->_toClose = true; else if( e.type == SDL_KEYDOWN ) { - if( e.key.keysym.sym == SDLK_ESCAPE ) this->_toClose = true; - std::cout << "Key: " << e.key.keysym.sym << std::endl; + switch( e.key.keysym.sym ) + { + case SDL_QUIT: this->_toClose = true; break; + case SDLK_ESCAPE: this->_toClose = true; break; + case SDLK_PAGEUP: + this->_screenModulation.brighten( 5 ); + break; + case SDLK_PAGEDOWN: + this->_screenModulation.darken( 5 ); + break; + case SDLK_PLUS: + case SDLK_KP_PLUS: + case SDLK_GREATER: + if( this->_alpha < 0xFF ) this->_alpha += 5; + break; + case SDLK_LESS: + case SDLK_MINUS: + case SDLK_KP_MINUS: + if( this->_alpha > 5 ) this->_alpha -= 5; + break; + } } } } -- GitLab