From 4efa632a21d8ad1a26c5a9544a3885b6db03ecb5 Mon Sep 17 00:00:00 2001 From: Lephenixnoir Date: Sun, 16 Jan 2022 21:00:19 +0100 Subject: [PATCH] levels up to 7_6 (end of "hope") --- CMakeLists.txt | 6 ++++ assets-cg/font.png | Bin 12203 -> 12560 bytes assets-cg/level/level6_2.txt | 26 ++++++---------- assets-cg/level/level6_3.txt | 8 ++--- assets-cg/level/level6_4.txt | 4 +-- assets-cg/level/level6_5.txt | 16 +++++----- assets-cg/level/level6_6.txt | 2 +- assets-cg/level/level7_1.txt | 2 +- assets-cg/level/level7_2.txt | 24 +++++++-------- assets-cg/level/level7_3.txt | 30 +++++++++--------- assets-cg/level/level7_4.txt | 58 +++++++++++++++++------------------ assets-cg/level/level7_5.txt | 51 +++++++++++++++--------------- assets-cg/level/level7_6.txt | 54 ++++++++++++++++---------------- src/duet.h | 1 + src/main.c | 7 +++++ src/physics.c | 24 +++++++-------- 16 files changed, 157 insertions(+), 156 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 1200afd..d770dd6 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -54,6 +54,12 @@ set(ASSETS assets-cg/level/level6_4.txt assets-cg/level/level6_5.txt assets-cg/level/level6_6.txt + assets-cg/level/level7_1.txt + assets-cg/level/level7_2.txt + assets-cg/level/level7_3.txt + assets-cg/level/level7_4.txt + assets-cg/level/level7_5.txt + assets-cg/level/level7_6.txt ) fxconv_declare_converters(converters.py) diff --git a/assets-cg/font.png b/assets-cg/font.png index 25f43153e1e36388d9c90a78a1bd6fa5ab678d98..8b82fde99c8f1c240d49e58ac3b77ad4e589506c 100644 GIT binary patch delta 8944 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 KMNUMnLSTXlaNsro delta 8584 zcmV;3A$Q)8Vyj<}BLW=4ktHC1c4Ie^h5us}y#&kwEC=H`y@OtUe;1_E&MH?O_aHe% ziXz_w5D|9>!0!Cle_r<=eAU*f%f(vlwR*mC&pi&FH2?XU?`QD&{ruBQ@AuzccV&G4 z5P2!_m_EPu_;s=e87Q`_r%=lp%C{qZj+i?!5XnV&g&v)XyyqR+;9ZVmLV z*gtFZUA>wy6Q~HiF>0eBP$H32!s*8Hs`6co;{S0s6J)vX>jI@7m z^b-^o^UrJZ#~S^MufH>YEzeEv(VPDiwO^0_kT<`c{X^cg_g%t^ zzkEHEp9}r`A^p04{O!)``z-$cdPzU4_p?TS3irLc-8X4wF>+-s>UUB94c?Epuan!%z3Q#4O>D5K4)gLB^a?B{)ood-E9! z@2#=K&&!}{$}W{ulMx#Vmtf^w$REp%92zB+TuQ0MN-MpLnyMT5G+H9(w}5OQ%kI>%EV`O$S#Ve0uPPF=m{9Y35mGoi^L-ZjMFzth~yq z%T`-`jU9K|6!@;&cH4cA6Ar0#@+qetJMHu{E~$3Y&9~fo&E0nU9lxUX4eLLB{|}-T zzEO)WQhKBPiW;w){ahjlPKshi#9|Hv+=vOivKThbJkwm;{P>rPNDmok^ASk{Z-VqSYo}1eacXa>J!y>?P@Un zSQ~q=oNFEaW+Zl>T!NVFF&)Sg$6}q2?_rPTV;!;aAFTcN9)(vqxU@IZ-jkmI+nH&f zwQsdDS*m27d-l-hTJ1=+XUuJo$^q;`c76%-vRub&lR+XlnxI zp|9iXK@5$N&M2*UMzmPd-!BmIwd6N(n(LCFg#oq|7<_L>?4G-iLxSi{?mfDnC;!*S ze{rF8H#xcP*|DEB*EX_t`#euw)2C5M@6Iy!n#x>7UlEoIAKYi3b&( z!?Y`ZX^a}7bcbzjUvO4qfy_=u|&`0nnL8#Toh>!I5EsCDEyh-997E|rJxE4x`Yv)?!LGg~ZF zmo8~7a#ci}s%o80@z#45Gbt@Ds^y;3TLsjA>t;=@iuyM|3y>iFaK^(4P^TL3w-0F?bjANugUJvjjyCOs#PBB3SKMQZ}!-H*qzCGOLe^!0jD77Ezkn|r-pWZxiW$!}_!x|V0o+aQ9b-{;k+?x#P z%gVYeKe3-1$B_Ui)Ql2jmqFr0CYPWi5Q@b=!7oy1rX|sjR%zkR)qxiaM2)bQefBB< zmvs%H?sfW&^~6aqmz!WP>SSFV6_IPTV)_dhb6rOSGCJk>JcC7u{5<;vx*5{+YF5#JPy?K+nCCtsZ zcVu;YJ&x5HV=vOb?;S#2$j)0-$peqYsz4M%YiAcb~4M6APbV7m|^MKab&wcKg7~2db;ct;G{sZ zw>*6ob1igT(P&bIQ+fo#u~-H*w{j2+hGIJl-$Np)GVg4c^#e8XrFNqTmPAZ>SHN*W zj(NsR@?r`YS*2)hQa;#lnBPK@mXT5GXKu5h;&1iU0NlDaWjb?Qb>sJcVruIcoCw3A zK@NGIfygx+ieT;wB~267P2Nv#G`*2bkU?b?E}6~5;2{9i?hF^0%`@ydDrwT^t**_O zEX;dQf~zJ}FXL0Tf-`k7*xC;4XuAUTq#oYy7)&@KZzTkf@`$-fj>Iq-ib82 zuF04m5#q0*2aqa>RL*|A5&h?rv{ORqZHx4q#q zSsyxsW1Qn>xK0&+CcaN)Qy-z78Ii_Ypro`S=bF?T5(KT-4&aW*p zF_fm*pg{IWYXWNxj3Pf)KlM$Zipp5g1w|j>0g&sEqFA<* z2U62Ov5;5*1;ImC!a>{@$-s!h;$s_v90|8^xD~)f4uUs^NF*=&xdOn}GArI-X9^rJ zKIOu*WALM13Jbic_cfw$uP010xG+d&vTMpDA@l^S)Nxq9fg6?ggzBhMz>B&s#1!~x zBCd!RDKSESfS3pKI2+PqOS6#Zr-4i)OixHih?+WFa9&ufsQFK-mk8o_QheY=d?7oQ zJzX{WmojR&ZN6H|rOl@~Y^V_t8YZR}lo#uN(gRZ|eTQQzWGHx<85C*}^#qfYM9bueoQ=JJq5v&vtc+A9-lzRqobstp|B=xW*n40hOyg|~lI#J^u~Vpml?LJw$C6{gyiqkgB7QtN zxxp~!Y)XW@)gP0d<-T4c(SDRWl)P}BHwH8d5Xwl^Vv+#bfJcE@JBkQ3LO3T(jGjmB zDbUt`Cc5YBpe7I#nXz6W4`T(q6Ko7y)T6@akR%Mp^bB*1QM?&eekF&0rnpc!ImUsI zL>+xh-2RIHu=wzvUNV!s+Xf+}h8A*^DEBciR9x0t#9%Jw7gu2_#0QBG$ts-F1=UK#*1+zxdm<>--x0`zHEl)fE{2L|DM8y1y!OpR8NzvLOTq9 z76B6xd^`ng??|}4* zP*0~}q77p^QS$CkWdQr--S-w$O?=(Weqj_SI^p5Lo3kR-atGs*@FBVffCv!=YosQL zhJ&QmTJ*3xuyT-rxDRAB#5B982HMPj1iW`}4U!^eD8ddgRB{-=?UIy<%tnt7u~C+9 zoqQlI@(5jM^O0jkxhB;qSr zeW(Y*vg^>r%wnx84Mm*+`PdkOveM&rG!9n;3dgi3G5}AcF@QR)_^pNnOS_80I`X$I z^P9qvQ9wN3s9lYeLS21&6} zB2y%#bn)hOtfl;6rD_w_;@~i&aTWR%DaTpm|=Ha6WZ{mNGSLwChV-R{Q+W zjcT{TLa zEenM))&b3ptVdvfYLAhmMWP~4$r!^`h8Z1hu4ZKoxwsOG`CNFI02W9DwWJkfKa+GW z=$c!`9fDtkOBI5xD}BX=7=^A092%;9#;L6(Y{$X}@K&TiK#HRt5j#mOUfaeb>~QlX zS5`t8mFgb}UzI|>SUtE0kB_;>!7b%E@1xjS5Y=5&4Yz)Oy~nLC7|?$hSnSBd=p=P8 zmA!8A3w!OO`XLQz2$Yknn9}d80L1n358MO_4pGJ?s5y=eWJJC2q6`5aKP^!{aHU!p zo9w4Hz<>Uu=vnUuQ;@7%JJcv_5|_kRUvn0xX49?ImJlo^VLNM&;9V-hGhgXY1gy7* zIV7<5xFd>x{?r(i!~D#QalA%O!D}ue^iVq@d2>*X}W?MNLQACcs0#l7+~mZw7hPBW6be& z6}i$-cYcE0=w|Lc5~_9;c}6jwcHw}<@u-%JAm^ihLk7Wfg~?VCHHfdCji@q13EGUM zFn}vqU>ewuN+9X5Zm-MA#bGe0_&Tzj`X^agv>1Bk{_1v%Bk$A(ct=)(c#Ph26@(>n#&98C(M!}Mz8p7PS);2p+C$b* z?P)AinTPuJ6Yvh&#F7a_;vhj#Wq1%YH#pn<+jE8lganQXB2k21urvyS+UqzR77oQw z7a|N9Ib<`jlP|4y26aHbbXkY{;v7qIFI#JWoa*`^fHvxn5iH0!qXiJ2WIa$M+kmOO zRW1Namw;**5EVf_b~GWG-N8GC5fc~ynNE|XKr5q(w}g=v$cKvWZKGIIH(Gpzb|68! zww{cex-3-$PDgbcp^lI313Kd|%y@C(?mD_=Tq$BP=rUR>bhS@S^fP895zljci z+TXpNEs#VxMb?%2=Uq}2_(bgyK|forjEaLR$jpV9Mmlv~AhTiVEe}DcQ#Wn1?G2F1 z2HKEK?&=)ECoJjI%%sdApdMlswIk@!4ck>J3g4Vivk@k&L%V?hL9?jnz{66fO+6BB z){=UF_;-n1?KsHO;SCL&bwED=|LvZC;RiiLh?`|p87aH4{@-1zQ`JEqAUy(_1c|&(9^2g$vpAZQQzR= zyd<0l(6nRn*{x8mBDjDwb!ksQ(^XP6m(6IgO^l$TPIASHQvME=hP^yjklI9lNw{+L z0Htr#j-tXav`t$B`+!1T9lNmjG~A9u#lMn2m}B`u|NNHXl zUBK2_v5twk>V>@)8O#fmKJn-(8DCz%;_&893HbAAQM1O}^XsiCb*mE!ltylnGZYq6 zu4-NJ`RGJA5g(;?J(QVc2e>(ZrQfiLlHzB>R^<1Et1>w`#W>jPRMbBUGXAWkd%G%2 zdsQQ}1rrVNBcbaO;3NW9;cAx(l>|)&TI8)=FOZKUM2Rfc_&B^tmNAFasSL_^rlU?4 z8W};18TMQx0|j~;ES2?&z4hviA>8QCf_1m zVy;W5n@f-jt`oXoih!>6m0SmQ)o=%ca*>oO8U)UUs?1aEV2!qmtzp>%{1BBMwL6g! zo2|gED2wf|o`5tnNzm|u6A)r(-UI7-Ovh_(QS#6NxCVEnF|>m~h*r{z+$}8a_#qXE z7inIyj=o{&M5L^{w%QqgF5}K5D08+s0oQz`AEZoP^AhL`aD3j_bxeZxhkSfTuFz{; z^6c&I*~q5Ol6J;X0v*mk>jUfU&`neQYN5G-gOggsmw$?K2 z-?Z^MpneG1UzGHJfsA%-I@f|4g#~eaECBT~z-kAe!)06tiGk|l@dP0|$~d7JhFHL# zC5g@3FyUn4JAcwTnOR!~>X_ejUM+h*#>yb1UY3J5xSy$WghSU;8fids1WQ{OcG2y< zi%%{#kXcY7qCBy2!(EU-G!pQL38+iu!o5cI+dz;Q)| zsO5uf&c+8LRy3g=FQwR%XzA{csRwbpT2qZ;2ZFdXMF$iDc=8s93=Qh{MnD1^t)1iW zDq-Fs#d0Of-UoEbC~EtnkJssKzG){;hz;@moTl_pKD%)NMk>0!a;}7B5Pan;|^0C|jjk+|H;-G~)echG1cGx#W>+HbuNC->SX# zr6W--kT#yG){&}MpvIz;ir1|roi{hn@dd+%9B;~q^7Hn<=916>U=D%;AE=g8kuZ2o zPQ&?smC`6+w-KNT$JHJN;fksyl?*ir0t06t`2_BCG!{pYiyV!Dpv6Hq`Yrov#liFs ze~UJeHYu@Drjbgs&&gxRTPFoE+f^I8jSNCjvBuhT!vY3=Y3Ll+wF``$)`_faXp)4z z9D=hV3{k%q_2ef8j2K1=180E@c{D~z<1!F`R3$jv5I9JdNFRqKV_$X1^<14+i6|7P z0{B3}D#M?BJE*s*{h5tE4l?W6yBs{XN_BlYHtHV|mX(x|qZ@enaxiJ9*P}ZM*Z~1G zZM1o62*%CgMJH-#I3>uLD|Ipx2}D^_$LgW0f55VW9H@?^<3b>*W!#Sk!IG>xq*A~RaXjZ{wX0JWH)Vnv zni=FrU0b!KgCJ8o--K6Z)WWBM@KieV245EoK#Q{!bucL}au}h3*It9<86ulH$U1@2p_3AIeuRl+ZLp|+xvS0% zj)5o_e#ga-s%W;i{eYH1r%R>7sLyD~HRVZK%Oa*3QAevgFfVb>v=i)#m9=;58i>&L z3RDakXq_tA8NhONtf&}nft2OiT;^`lYdr8z)LE6Q)>$sNVh#$YsgHmKq8R+t2_l)F zLF!|sFV zAV!{}ke)^iftBiLaSsfE%S$nR9DxCwYGaih)KAHtsJ@`8Q(Lq0A%kt&IM~559!|YG z68`nrh;nSmxpxYr0!nCqUX&GPOD7T0FH{NjY&g&igTZ1#sH;;P5nBZPlM&*6$uiaw z;D!|1rB=0(#tb|8^iJGGhz9fu&;4p6M)Za2qKxr6c&P!6W`~2ILO>y?PfFM-@47|FEm3vTYQB}{3b-u)w_Wi+suAH==!D_$@2ztUQ zmwUwCRshvgwNyf#i9^y#yJRsmq7+~%(6GDM6OY_S>{h)GyKr76W>I%8IKemUv@0PNn$qqi>y z85SM)0?KMm%&ZE33?T+>&kGv}q}plzRht$r1huVA=Z#GlN7Z7~nd83FZ4-RKgX(xb zSwP&51V&f)Oh@hTB3Z|lpp{M~@r(RS!w@eA(8_%1)W!znLv7mmgG@+sG(SuI_G_)) zc~7;d!Pgj6(K=Lq)w~5fhSQ0qGfnOY{h|T^At2`5iuQ(M6^i#iGZBG(+v{zOzdG*g z{>?dH$WF&^YaD()93;@Fr+mI|>q9-R4nC7|u1Y>}+dDowG>!k=@nff5F8$9YI*^{_ zkuY8IJStMH@ZUZ2?S4P}eaUC<-G2j@Kvq%}Fqo;cFCN?jBs4cRVL4_rHZ3w`IAkp} zGdVOZVPj)6Eiy1LWi~ZtGBr0bG?OnPAR}flI5}cuH7#UjVq`5eIb~ukI5jaiEoNmg zIAk_BWo0xsHIs58CnPsGGiEY0Gd3+TI5B1|G-WwtEnzcaV=Xi@Wic@{He@w9F=Lax zB3=tMH#9IYHZw3cGdGhaBh@50G&MD4Vl*`^IAJ(8Ei^YVVJ$g0IAJX~Ffd~^Fg7wc zV`gQOA0$l(F*!OiGdeOcvveeG2n3nErGJy=EFlLH7ZnyvJ9Co`EhvAWNklV+gEd1Lo93&6*=?g^O*qn$MVddJAOwIA073u=0U!i`5CB2|2mv4j@QiTvfwR=E&3)># zyqmSzzClvL{>t{IO|rqhnK?hm>jlwJP*$v@&+(Ov zErcM-2B4!DqUO(%g*^9nJ%jneYy7{1}g+T74~bq`)?kO60D8e|NDZ< z4O^3ntD)Kc{nkBBLa;?BO9FW=kNaWUGE#1T=@nF)b2j<;Kl4&Qe}X@vad5|!0U!i` z5CB2|2;pakAo+jyrQm<^SVTQ2*L(SE&SaZI<+2EBLx@=Q<{cqfLNXB{zXP?gIUR7h z)4Ir87CDMjvIh`Dv>e~lZ<^25QEq;4yeUI)=7xCUF#GL>gb7fL5c&B5NeOo*Gu{?S z_zx;`H03zjB8Dg&RQ9lBj|aE!fnG9(s2$T0L-Y)W2zY<$vJ*fE03iT`0G$$|?7}if zn)32Uvq)aowr!@@ zu3u?xe;?{dctzP{&q~flFSg-T^o<^3O9g`n;g_sm*=~Qwk0&`{P7Rk|@en_8W~oOX ze^)Zb(8Y@8hu7tsz|cYE!-p>(0*tWA01yH|h}M5|Jb)0OCqm>O9P1?rCykSM4k`N* z`4eTqkYp_pTd|QLmz~PPYkiq@;alNCFbkhvrVQobwO}y4Eo&F!oUB_gJWs1FK>m5JGu)ZPrvl728Baction == Action_Slide) { float amp = 2 * (DHEIGHT/2 - r->y_init); - /* Nothing happens until -7 */ - if(time <= -7.0) {} - /* Slide to the opposite side between -7 and -5 */ - else if(time <= -5.0) r->y += amp * cubic_ease((time + 7) / 2); - /* Stay there until -3 */ - else if(time <= -3.0) r->y += amp; - /* Slide back between -3 and -1 */ - else if(time <= -1.0) r->y += amp * (1 - cubic_ease((time + 3) / 2)); - /* Stay there until +1 */ - else if(time <= +1.0) {} - /* Move back between +1 and +3 */ - else if(time <= +3.0) r->y += amp * cubic_ease((time - 1) / 2); + /* Nothing happens until -7.5 */ + if(time <= -7.5) {} + /* Slide to the opposite side between -7.5 and -4.5 */ + else if(time <= -4.5) r->y += amp * cubic_ease((time + 7.5) / 3); + /* Stay there until -3.5 */ + else if(time <= -3.5) r->y += amp; + /* Slide back between -3.5 and -0.5 */ + else if(time <= -0.5) r->y += amp * (1 - cubic_ease((time + 3.5) / 3)); + /* Stay there until +0.5 */ + else if(time <= +0.5) {} + /* Move back between +0.5 and +3.5 */ + else if(time <= +3.5) r->y += amp * cubic_ease((time - 0.5) / 3); /* Stay there indefinitely */ else r->y += amp; }